Class: PEdump::CLR::READYTORUN_CORE_HEADER

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

Constant Summary collapse

FLAGS =
{
  0x01 => 'PLATFORM_NEUTRAL_SOURCE',    # Set if the original IL image was platform neutral. The platform neutrality is part of assembly name. This flag can be used to reconstruct the full original assembly name.
  0x02 => 'COMPOSITE',                  # The image represents a composite R2R file resulting from a combined compilation of a larger number of input MSIL assemblies.
  0x04 => 'PARTIAL',
  0x08 => 'NONSHARED_PINVOKE_STUBS',    # PInvoke stubs compiled into image are non-shareable (no secret parameter)
  0x10 => 'EMBEDDED_MSIL',              # Input MSIL is embedded in the R2R image.
  0x20 => 'COMPONENT',                  # is a component assembly of a composite R2R image
  0x40 => 'MULTIMODULE_VERSION_BUBBLE', # has multiple modules within its version bubble (For versions before version 6.3, all modules are assumed to possibly have this characteristic)
  0x80 => 'UNRELATED_R2R_CODE'          # has code in it that would not be naturally encoded into this module
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.read(io) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/pedump/clr/readytorun.rb', line 45

def self.read io
  super.tap do |r|
    r.Sections = r.NumberOfSections.times.map do
      READYTORUN_SECTION.read(io)
    end
  end
end

Instance Method Details

#flagsObject



41
42
43
# File 'lib/pedump/clr/readytorun.rb', line 41

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