Windows NT 3.1 引入了一种名为PE 文件格式的新可执行文件格式。PE 文件格式 的规范包含在了MSDN 的CD 中( Specs and Strategy, Specifications, Windows NT File Format Specifications) , 但是它非常之晦涩。 然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE 格式。本 文旨在解决这一问题,它会对整个的PE 文件格式作一个十分彻底的解释,另外,本文中 还带有对所有必需结构的描述以及示范
PE 与COFF OBJ 文件格式 PEDUMP,Win32 和PE 的基础观念 PE 表头(PE Header) The Section Table 常会遇到的Sections PE 文件的输入(imports) PE 文件的输出(exports) PE 档的资源 PE 档的基底重定位(Base Relocations) COFF 符号表格 (存目) COFF 除错信息 (存目) COFF 行号表格 (存目) PE 档和COFF 档之间的差异 COFF LIB 档 摘要
Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。 然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式。本文旨在解决这一问题,它会对整个的PE文件格式作一个十分彻底的解释,另外,本文中还带有对所有必需结构的描述以及示范如何使用这些信息的源
一、打印Sections信息。下面的程序打印出Windows_Graphics_Programming 1.1中第三个程序“Hello World Version 3:Create a Full-Screen Window”生成的可执行文件的Sections结构字节的信息
#include
#include
char *strPath="C:/c1_hwv3/Debug/c1_hwv3.exe";
int main()
{
IMAGE_DOS_HEADER myDosHeader;
L