PE文件结构 | 逆向 | 节表相关

主要涉及,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。

原文地址:https://www.cnblogs.com/Mz1-rc/p/13898793.html