(self, rva, size)
| 3845 | return TlsData(struct=tls_struct) |
| 3846 | |
| 3847 | def parse_directory_load_config(self, rva, size): |
| 3848 | """""" |
| 3849 | |
| 3850 | if self.PE_TYPE == OPTIONAL_HEADER_MAGIC_PE: |
| 3851 | format = self.__IMAGE_LOAD_CONFIG_DIRECTORY_format__ |
| 3852 | elif self.PE_TYPE == OPTIONAL_HEADER_MAGIC_PE_PLUS: |
| 3853 | format = self.__IMAGE_LOAD_CONFIG_DIRECTORY64_format__ |
| 3854 | else: |
| 3855 | self.__warnings.append( |
| 3856 | "Don't know how to parse LOAD_CONFIG information for non-PE32/" |
| 3857 | "PE32+ file" |
| 3858 | ) |
| 3859 | return None |
| 3860 | |
| 3861 | load_config_struct = None |
| 3862 | try: |
| 3863 | load_config_struct = self.__unpack_data__( |
| 3864 | format, |
| 3865 | self.get_data(rva, Structure(format).sizeof()), |
| 3866 | file_offset=self.get_offset_from_rva(rva), |
| 3867 | ) |
| 3868 | except PEFormatError: |
| 3869 | self.__warnings.append( |
| 3870 | "Invalid LOAD_CONFIG information. Can't read " "data at RVA: 0x%x" % rva |
| 3871 | ) |
| 3872 | |
| 3873 | if not load_config_struct: |
| 3874 | return None |
| 3875 | |
| 3876 | return LoadConfigData(struct=load_config_struct) |
| 3877 | |
| 3878 | def parse_relocations_directory(self, rva, size): |
| 3879 | """""" |
nothing calls this directly
no test coverage detected