Module: Ronin::Payloads::Mixins::Binary

Defined in:
lib/ronin/payloads/mixins/binary.rb

Overview

Adds support for packing binary data.

Instance Method Summary collapse

Instance Method Details

#pack(type, value) ⇒ String

Packs a binary value for the given type.



99
100
101
# File 'lib/ronin/payloads/mixins/binary.rb', line 99

def pack(type,value)
  platform[type].pack(value)
end

#perform_validateObject

Validates that the payload defines an arch method and that all required params are set.

Raises:



47
48
49
50
51
52
53
54
55
56
57
# File 'lib/ronin/payloads/mixins/binary.rb', line 47

def perform_validate
  unless respond_to?(:arch)
    raise(ValidationError,"payload #{self.class} did not include Ronin::Payloads::Metadata::Arch")
  end

  unless arch
    raise(ValidationError,"payload #{self.class} did not include define an architecture")
  end

  super()
end

#platformRonin::Support::Binary::CTypes, ...

The target platform.



80
81
82
83
84
85
# File 'lib/ronin/payloads/mixins/binary.rb', line 80

def platform
  @platform ||= Support::Binary::CTypes.platform(
                  arch: arch,
                  os:   (os if kind_of?(::OS))
                )
end