Class: Rex::PeParsey::PeBase::FileHeader
- Inherits:
-
GenericHeader
- Object
- GenericStruct
- GenericHeader
- Rex::PeParsey::PeBase::FileHeader
- Defined in:
- lib/rex/peparsey/pebase.rb
Instance Attribute Summary
Attributes inherited from GenericStruct
Instance Method Summary collapse
-
#initialize(rawdata) ⇒ FileHeader
constructor
A new instance of FileHeader.
- #Machine ⇒ Object
- #NumberOfSections ⇒ Object
- #SizeOfOptionalHeader ⇒ Object
Methods inherited from GenericStruct
#[], #keys, #method_missing, #v
Constructor Details
#initialize(rawdata) ⇒ FileHeader
Returns a new instance of FileHeader.
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/rex/peparsey/pebase.rb', line 182 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 |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Rex::PeParsey::PeBase::GenericStruct
Instance Method Details
#Machine ⇒ Object
200 201 202 |
# File 'lib/rex/peparsey/pebase.rb', line 200 def Machine v['Machine'] end |
#NumberOfSections ⇒ Object
208 209 210 |
# File 'lib/rex/peparsey/pebase.rb', line 208 def NumberOfSections v['NumberOfSections'] end |
#SizeOfOptionalHeader ⇒ Object
204 205 206 |
# File 'lib/rex/peparsey/pebase.rb', line 204 def SizeOfOptionalHeader v['SizeOfOptionalHeader'] end |