Module: Ronin::Payloads::Helpers::Chained

Includes:
Ronin::Payloads::HasPayload
Defined in:
lib/ronin/payloads/helpers/chained.rb

Instance Method Summary collapse

Methods included from Ronin::Payloads::HasPayload

#payload, #payload=, #use_payload!, #use_payload_class, #use_payload_from!

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Ronin::Payloads::HasPayload

Instance Method Details

#build!(options = {}, &block) ⇒ Object

Builds the chained payload first, then the payload.

See Also:



27
28
29
30
31
# File 'lib/ronin/payloads/helpers/chained.rb', line 27

def build!(options={},&block)
  @payload.build!() if @payload

  return super(options,&block)
end

#chain(sub_payload) ⇒ Payload

Chains the payload to another payload.

Parameters:

  • sub_payload (Payload)

    The payload chained to this payload.

Returns:

  • (Payload)

    The chained payload.



18
19
20
# File 'lib/ronin/payloads/helpers/chained.rb', line 18

def chain(sub_payload)
  self.payload = sub_payload
end

#deploy! {|(payload)| ... } ⇒ Payload

Verifies the built payload and deploys the payload. After the payload has been deployed, the chained payload will then be deployed.

Yields:

  • ((payload))

    If a block is given, the chained payload will be passed to the block.

Yield Parameters:

  • payload (Payload)

    The chained payload.

Returns:

  • (Payload)

    The chained payload.

See Also:



50
51
52
53
54
55
56
57
# File 'lib/ronin/payloads/helpers/chained.rb', line 50

def deploy!(&block)
  if @payload
    super()
    return @payload.deploy!(&block)
  end

  return super(&block)
end