PE檔案結構 | 逆向 | 節表相關
阿新 • • 發佈:2020-10-29
主要涉及,PE檔案的兩種狀態->檔案對齊和記憶體對齊。
節表由n(在標準PE頭中有屬性標明數量)個IMAGE_SECTION_HEADER結構體(40bytes)組成:
結構如下:
1 typedef struct _IMAGE_SECTION_HEADER { 2 BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; //名字(可改):8bytes的ascii陣列 3 union { //當前節的真實大小是多少(對齊前的大小) 4 DWORD PhysicalAddress;5 DWORD VirtualSize; 6 } Misc; 7 DWORD VirtualAddress; //在記憶體中的偏移地址 需要加上ImageBase 8 DWORD SizeOfRawData; //在檔案中對齊後的大小 可能比Misc大或小,涉及到全域性變數有沒有初始值的問題,誰大取誰 9 DWORD PointerToRawData; //節區在檔案中的偏移 10 DWORD PointerToRelocations; //除錯相關 11 DWORD PointerToLinenumbers; //除錯相關 12 WORD NumberOfRelocations; //除錯相關 13 WORD NumberOfLinenumbers; //除錯相關 14 DWORD Characteristics; //節的屬性-讀 寫 執行等等 15 } IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
over。