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.
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# File 'lib/rex/peparsey/pebase.rb', line 189 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
207 208 209 |
# File 'lib/rex/peparsey/pebase.rb', line 207 def Machine v['Machine'] end |
#NumberOfSections ⇒ Object
215 216 217 |
# File 'lib/rex/peparsey/pebase.rb', line 215 def NumberOfSections v['NumberOfSections'] end |
#SizeOfOptionalHeader ⇒ Object
211 212 213 |
# File 'lib/rex/peparsey/pebase.rb', line 211 def SizeOfOptionalHeader v['SizeOfOptionalHeader'] end |