(原创)PE 节表IMAGE_SECTION_HEADER的正确定位方法
摘要:网络上大部分资料对PE文件的节表的定位方式都是下面这样的1 (LPVOID)((BYTE *)a + ((PIMAGE_DOS_HEADER)a)->e_lfanew + SIZE_OF_NT_SIGNATURE + sizeof(IMAGE_FILE_HEADER) + sizeof(IMAGE_OPTIONAL_HEADER):其意思是这样的:为了在解释上面的代码之前:首先要介绍些PE头的结构。在PE文件中开始是DOS头,之后是Stub dos,再之后是NT头,在之后是节表头。也就是我们要定位的。其中NT头的定义是这样的typedef struct _IMAGE_NT_HEADERS
阅读全文
(转载)PE文件结构
摘要:PE可选头部转载注明出处:http://blog.163.com/yl32940@126/blog/static/50356084201301454044891/ PE可执行文件中接下来的224个字节组成了PE可选头部。虽然它的名字是“可选头部”,但是请确信:这个头部并非“可选”,而是“必需”的。OPTHDROFFSET宏可以获得指向可选头部的指针:PEFILE.H#define OPTHDROFFSET(a) ((LPVOID)((BYTE *)a + \ ((PIMAGE_DOS_HEADER)a)->e_lfanew + \ SIZE_OF_NT_SIGNATURE + \ siz
阅读全文