Class: Rex::ElfParsey::ElfBase::ProgramHeader
- Inherits:
-
GenericHeader
- Object
- GenericStruct
- GenericHeader
- Rex::ElfParsey::ElfBase::ProgramHeader
- Defined in:
- lib/rex/elfparsey/elfbase.rb
Instance Attribute Summary
Attributes inherited from GenericStruct
Instance Method Summary collapse
-
#initialize(rawdata, ei_data) ⇒ ProgramHeader
constructor
A new instance of ProgramHeader.
Methods inherited from GenericStruct
#[], #keys, #method_missing, #v
Constructor Details
#initialize(rawdata, ei_data) ⇒ ProgramHeader
Returns a new instance of ProgramHeader.
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 |
# File 'lib/rex/elfparsey/elfbase.rb', line 235 def initialize(rawdata, ei_data) # Identify the data encoding and parse Program Header if ei_data == ELFDATA2LSB program_header = ELF32_PHDR_LSB.make_struct elsif ei_data == ELFDATA2MSB program_header = ELF32_PHDR_MSB.make_struct else raise ElfHeaderError, "Invalid data encoding", caller end if !program_header.from_s(rawdata) raise ProgramHeaderError, "Couldn't parse Program Header", caller end self.struct = program_header end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Rex::ElfParsey::ElfBase::GenericStruct