class Metasm::MachO::LoadCommand

Constants

ID_DYLIB
ID_DYLINKER
LOAD_DYLIB
LOAD_DYLINKER
LOAD_WEAK_DYLIB
ROUTINES_64
SECTION_64
SEGMENT_64
SUB_CLIENT
SUB_FRAMEWORK
SUB_LIBRARY
SUB_UMBRELLA
UNIXTHREAD

Attributes

data[RW]

Public Instance Methods

decode(m) click to toggle source
Calls superclass method Metasm::SerialStruct#decode
# File metasm/exe_format/macho.rb, line 194
def decode(m)
        super(m)
        ptr = m.encoded.ptr
        if @cmd.kind_of?(String) and self.class.constants.map { |c| c.to_s }.include?(@cmd)
                @data = self.class.const_get(@cmd).decode(m)
        end
        m.encoded.ptr = ptr + @cmdsize - 8
end
encode(m) click to toggle source
Calls superclass method Metasm::SerialStruct#encode
# File metasm/exe_format/macho.rb, line 209
def encode(m)
        ed = super(m)
        ed << @data.encode(m) if @data
        ed.align(m.size >> 3)
        ed.fixup! @cmdsize => ed.length      if @cmdsize.kind_of? String
        ed
end
set_default_values(m) click to toggle source
Calls superclass method Metasm::SerialStruct#set_default_values
# File metasm/exe_format/macho.rb, line 203
def set_default_values(m)
        @cmd ||= data.class.name.sub(/.*::/, '')
        @cmdsize ||= 'cmdsize'
        super(m)
end