class Metasm::COFF::TLSDirectory
Attributes
callbacks[RW]
Public Instance Methods
decode(coff)
click to toggle source
Calls superclass method
Metasm::SerialStruct#decode
# File metasm/exe_format/coff_decode.rb, line 327 def decode(coff) super(coff) if coff.sect_at_va(@callback_p) @callbacks = [] while (ptr = coff.decode_xword) != 0 # __stdcall void (*ptr)(void* dllhandle, dword reason, void* reserved) # (same as dll entrypoint) @callbacks << (ptr - coff.optheader.image_base) end end end
encode(coff)
click to toggle source
Calls superclass method
Metasm::SerialStruct#encode
# File metasm/exe_format/coff_encode.rb, line 199 def encode(coff) cblist = EncodedData.new @callback_p = coff.label_at(cblist, 0, 'callback_p') @callbacks.to_a.each { |cb| cblist << coff.encode_xword(cb) } cblist << coff.encode_xword(0) dir = super(coff) [dir, cblist] end
set_default_values(coff)
click to toggle source
Calls superclass method
Metasm::SerialStruct#set_default_values
# File metasm/exe_format/coff_encode.rb, line 212 def set_default_values(coff) @start_va ||= 0 @end_va ||= @start_va super(coff) end