Parse a data entry from the resources directory.
(self, rva)
| 4440 | return resource_directory_data |
| 4441 | |
| 4442 | def parse_resource_data_entry(self, rva): |
| 4443 | """Parse a data entry from the resources directory.""" |
| 4444 | |
| 4445 | try: |
| 4446 | # If the RVA is invalid all would blow up. Some EXEs seem to be |
| 4447 | # specially nasty and have an invalid RVA. |
| 4448 | data = self.get_data( |
| 4449 | rva, Structure(self.__IMAGE_RESOURCE_DATA_ENTRY_format__).sizeof() |
| 4450 | ) |
| 4451 | except PEFormatError: |
| 4452 | self.__warnings.append( |
| 4453 | "Error parsing a resource directory data entry, " |
| 4454 | "the RVA is invalid: 0x%x" % (rva) |
| 4455 | ) |
| 4456 | return None |
| 4457 | |
| 4458 | data_entry = self.__unpack_data__( |
| 4459 | self.__IMAGE_RESOURCE_DATA_ENTRY_format__, |
| 4460 | data, |
| 4461 | file_offset=self.get_offset_from_rva(rva), |
| 4462 | ) |
| 4463 | |
| 4464 | return data_entry |
| 4465 | |
| 4466 | def parse_resource_entry(self, rva): |
| 4467 | """Parse a directory entry from the resources directory.""" |
no test coverage detected