window PE权威指南
with_dream
这个作者很懒,什么都没留下…
展开
-
一、DOS头与PE头解析
在Windows下所谓PE文件即Portable Executable,意为可移植的可执行的文件。常见的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一个共同特点:前两个字节为4D 5A(MZ)。如果一个文件前两个字节不是4D 5A则其肯定不是可执行文件。比如用16进制文本...转载 2018-07-21 14:29:28 · 2171 阅读 · 0 评论 -
二、Section Table解析
1、Section Table结构解析:Section Table(节表)是记录PE文件中各个节的详细信息的集合,其每个成员是struct _IMAGE_SECTION_HEADER结构体,即节表是一个结构体数组来维护,属于线性结构。而节表的相对起始位置为:紧接着可选PE表。即:DOS头 + 中间空闲及垃圾数据 + ...转载 2018-07-21 14:30:56 · 1508 阅读 · 0 评论 -
三、导出表(Export Table)解析
数据目录(Data Directory)有16个_IMAGE_DATA_DIRECTORY结构体元素,该结构体数组是可选PE头中最后一个成员。这十六个元素分别存储了不同信息,分别是:导入表、导出表、资源、异常信息、安全证书、重定位表、调试信息、版权所有、全局指针、TLS、加载配置、绑定导入、IAT、...转载 2018-07-21 14:35:58 · 4509 阅读 · 1 评论 -
四、重定位表(Relocation Table)解析
1、重定位表的作用重定位表(Relocation Table)用于在程序加载到内存中时,进行内存地址的修正。为什么要进行内存地址的修正?我们举个例子来说:test.exe可执行程序需要三个动态链接库dll(a.dll,b.dll,c.dll),假设test.exe的ImageBase为40000...转载 2018-07-21 14:40:38 · 3711 阅读 · 0 评论 -
五、导入表、IAT、绑定导入表解析
1、导入表(Import Descriptor)结构解析:导入表是记录PE文件中用到的动态连接库的集合,一个dll库在导入表中占用一个元素信息的位置,这个元素描述了该导入dll的具体信息。如dll的最新修改时间、dll中函数的名字/序号、dll加载后的函数地址等。而一个元素即一个结构体,一个导入...转载 2018-07-21 14:44:30 · 1579 阅读 · 0 评论