[PE格式分析] 3.IMAGE_NT_HEADER
源代码如下:
typedef struct _IMAGE_NT_HEADERS { +00h DWORD Signature; // 固定为 0x00004550 根据小端存储为:"PE.." +04h IMAGE_FILE_HEADER FileHeader; +18h IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;
Signature字段
在一个有效的 PE 文件里,Signature 字段被设置为0x00004550, ASCII 码字符是“PE00”。标志这 PE 文件头的开始。
PE00” 字符串是 PE 文件头的开始,DOS 头部的 e_lfanew 字段正是指向这里。
如下图所示:
再来一个例子: