stripped_size = struct.unpack("<H", self.ec.getMemoryService().read(self.base_te + 0x6, 2, 32))[0]\r
stripped_size -= EfiSectionTE.SIZEOF_EFI_TE_IMAGE_HEADER\r
\r
- base_of_code = self.ec.getMemoryService().readMemory32(self.base_te + 0xC)\r
-\r
- return self.base_te + base_of_code - stripped_size\r
+ return self.base_te - stripped_size\r
\r
class EfiSectionPE32:\r
def __init__(self, ec, base_pe32):\r
return filename[0:string.find(filename,'\0')]\r
\r
def get_debug_elfbase(self):\r
- # Offset from dos hdr to PE file hdr\r
- pe_file_header = self.base_pe32 + self.ec.getMemoryService().readMemory32(self.base_pe32 + 0x3C)\r
-\r
- base_of_code = self.base_pe32 + self.ec.getMemoryService().readMemory32(pe_file_header + 0x28)\r
- base_of_data = self.base_pe32 + self.ec.getMemoryService().readMemory32(pe_file_header + 0x2C)\r
-\r
- if (base_of_code < base_of_data) and (base_of_code != 0):\r
- return base_of_code\r
- else:\r
- return base_of_data\r
+ return self.base_pe32\r
\r
class EfiSectionPE64:\r
def __init__(self, ec, base_pe64):\r
return filename[0:string.find(filename,'\0')]\r
\r
def get_debug_elfbase(self):\r
- # Offset from dos hdr to PE file hdr\r
- pe_file_header = self.base_pe64 + self.ec.getMemoryService().readMemory32(self.base_pe64 + 0x3C)\r
-\r
- base_of_code = self.base_pe64 + self.ec.getMemoryService().readMemory32(pe_file_header + 0x28)\r
- base_of_data = self.base_pe64 + self.ec.getMemoryService().readMemory32(pe_file_header + 0x2C)\r
-\r
- if (base_of_code < base_of_data) and (base_of_code != 0):\r
- return base_of_code\r
- else:\r
- return base_of_data\r
+ return self.base_pe64\r
\r
class FirmwareFile:\r
EFI_FV_FILETYPE_RAW = 0x01\r