PE文件结构 - NT头学习
PE文件基本結構如下;
學習一下NT頭;
NT頭,包含一個4字節的Signature,以及兩個結構體IMAGE_FILE_HEADER(文件頭)和IMAGE_OPTIONAL_HEADER(擴展頭)。
NT頭:Signature,文件頭,擴展頭;
其定義如下; 這個是微軟定義的;
typedef struct _IMAGE_NT_HEADERS {
??? DWORD Signature;
??? IMAGE_FILE_HEADER FileHeader;
??? IMAGE_OPTIONAL_HEADER32 OptionalHeader;
} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;
Signature 字段被設置為 0x00004550H,ASCII 碼字符是 PE00;
用winhex打開win自帶的記事本看一下;
??? 當前NT頭的Signature在偏移為000000F0的一行;
NT頭不在一個固定位置;我還不是很清楚;其位置可能是由DOS頭的e_lfanew字段指出;
PE文件頭定義了PE文件的一些基本信息和屬性,這些屬性會在PE加載器加載時用到,如果加載器發現PE文件頭中定義的一些屬性不滿足當前的運行環境,將會終止加載該PE;
可選頭,它在不同的平臺下是不一樣的,例如32位下是IMAGE_OPTIONAL_HEADER32,而在64位下是IMAGE_OPTIONAL_HEADER64;
?
?
總結
以上是生活随笔為你收集整理的PE文件结构 - NT头学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC++ 显示对话框
- 下一篇: 使用程序判断一个文件是否是有效的PE文件