MCPcopy Create free account
hub / github.com/ELMERIKH/PyinMemoryPE / parse_resource_entry

Method parse_resource_entry

pythonmemorymodule/pefile.py:4466–4495  ·  view source on GitHub ↗

Parse a directory entry from the resources directory.

(self, rva)

Source from the content-addressed store, hash-verified

4464 return data_entry
4465
4466 def parse_resource_entry(self, rva):
4467 """Parse a directory entry from the resources directory."""
4468
4469 try:
4470 data = self.get_data(
4471 rva, Structure(self.__IMAGE_RESOURCE_DIRECTORY_ENTRY_format__).sizeof()
4472 )
4473 except PEFormatError:
4474 # A warning will be added by the caller if this method returns None
4475 return None
4476
4477 resource = self.__unpack_data__(
4478 self.__IMAGE_RESOURCE_DIRECTORY_ENTRY_format__,
4479 data,
4480 file_offset=self.get_offset_from_rva(rva),
4481 )
4482
4483 if resource is None:
4484 return None
4485
4486 # resource.NameIsString = (resource.Name & 0x80000000L) >> 31
4487 resource.NameOffset = resource.Name & 0x7FFFFFFF
4488
4489 resource.__pad = resource.Name & 0xFFFF0000
4490 resource.Id = resource.Name & 0x0000FFFF
4491
4492 resource.DataIsDirectory = (resource.OffsetToData & 0x80000000) >> 31
4493 resource.OffsetToDirectory = resource.OffsetToData & 0x7FFFFFFF
4494
4495 return resource
4496
4497 def parse_version_information(self, version_struct):
4498 """Parse version information structure.

Callers 1

Calls 5

get_dataMethod · 0.95
__unpack_data__Method · 0.95
get_offset_from_rvaMethod · 0.95
StructureClass · 0.85
sizeofMethod · 0.45

Tested by

no test coverage detected