Class: PEdump::IMAGE_COR20_HEADER

Inherits:
Object
  • Object
show all
Defined in:
lib/pedump/clr.rb

Overview

Constant Summary collapse

FLAGS =
{
  0x00001 => 'ILONLY',
  0x00002 => '32BITREQUIRED',
  0x00004 => 'IL_LIBRARY',
  0x00008 => 'STRONGNAMESIGNED',
  0x00010 => 'NATIVE_ENTRYPOINT',
  0x10000 => 'TRACKDEBUGDATA',
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.read(io) ⇒ Object



40
41
42
43
44
45
46
47
48
# File 'lib/pedump/clr.rb', line 40

def self.read io
  super.tap do |r|
    %i'MetaData Resources StrongNameSignature CodeManagerTable VTableFixups ExportAddressTableJumps ManagedNativeHeader'.each do |field|
      next unless r[field] # broken CLR header

      r[field] = IMAGE_DATA_DIRECTORY.read([r[field]].pack('Q'))
    end
  end
end

Instance Method Details

#flagsObject



36
37
38
# File 'lib/pedump/clr.rb', line 36

def flags
  FLAGS.find_all{ |k,v| (self.Flags & k) != 0 }.map(&:last)
end