class Rex::PeParsey::PeBase::FileHeader

Public Class Methods

new(rawdata) click to toggle source
# File lib/rex/peparsey/pebase.rb, line 181
def initialize(rawdata)
  file_header = IMAGE_FILE_HEADER.make_struct

  if !file_header.from_s(rawdata)
    raise FileHeaderError, "Couldn't parse IMAGE_FILE_HEADER", caller
  end

  if file_header.v['NtSignature'] != IMAGE_NT_SIGNATURE
    raise FileHeaderError, "Couldn't find the PE magic!"
  end

  if SUPPORTED_MACHINES.include?(file_header.v['Machine']) == false
    raise FileHeaderError, "Unsupported machine type: #{file_header.v['Machine']}", caller
  end

  self.struct = file_header
end

Public Instance Methods

Machine() click to toggle source
# File lib/rex/peparsey/pebase.rb, line 199
def Machine
  v['Machine']
end
NumberOfSections() click to toggle source
# File lib/rex/peparsey/pebase.rb, line 207
def NumberOfSections
  v['NumberOfSections']
end
SizeOfOptionalHeader() click to toggle source
# File lib/rex/peparsey/pebase.rb, line 203
def SizeOfOptionalHeader
  v['SizeOfOptionalHeader']
end