【说明:本译文的所有大小标题序号都是译者添加,以方便大家阅读
圆圈内的数字是注释的编号,注释全部译自网络
另外,本系列译文之一中已有的注释这里就不再重复了
所有注释仅供参考,如有不妥之处,敬请原谅
----译者】一、摘要Windows NT 3
1 版操作系统引进了一种叫做可移植的可执行(PE)文件格式的新文件格式
尽管《可移植的可执行文件格式规范》的内容相当含糊,但公众已可得到了;并且它也已被包括在我们的微软开发者网络CD(其中的:Windows NT 文件格式规范->规范->规范和战略)当中
不过,对开发者来说,仅此规范一文并不足以提供足够的信息来让他们对 PE 文件格式的理解变得容易,哪怕是更合理一点
本文档的目的就是用来解决这个问题的
从本文档之中,你可找到整个 PE 文件格式的完整的解释,还有所有必须的结构体的描述以及演示怎样使用这个信息的源代码例子
出现在本文中的所有源代码例子都是从一个叫 PEFILE
DLL 的动态链接库中例举出来的
我写出这个 DLL的目的就是为了发现包含在一个 PE 文件中的重要信息
这个 DLL 和它的源代码也被包含在这个 CD 当中作为 PE 文件例子程序的一部分;你可以自由地将这个 DLL 使用在你自己的应用程序之中
同样,你也可以自由地取得这些源代码并在它的基础之上为你的任何目的去构建(程序)
在本文的末尾,你会找到一个从 PEFILE
DLL 中导出的简短的函数列表,以及怎样使用它们的解释
我想,你会发现利用这些函数会让你对 PE 文件格式的理解要容易一些
二、介绍最近 Windows 操作系统的家族得到了微软®Windows NT 操作系统的加入给开发环境带来了很多的变化,并且也给应用程序本身带来了不小的变化
比较重要的变化之一就是对可移植的可执行(PE)文件格式的引入
新的 PE 文件格式主要源自于 UNIX 操作系