PE总结2---PE文件结构

一、概念

PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)


二、PE文件结构

PE文件总的来说是由DOS文件头,DOS加载块,PE文件头,区段表与区段5部分构成。

(该图来自网络)

为了便于后面理解PE结构,我自己也画了一张。




DOS头部分由两部分构成:

        1)DOS 文件头,确定是PE文件和还有指明NT头在文件中的位置。

        2)DOS块是用来兼容MS-DOS操作系统的,目的是当这个文件在MS-DOS上运行时提示一段文字,大部分情况下是:This program cannot be run in DOS mode。

NT文件头包含windows PE文件的主要信息,包括一个‘PE00’字样的签名,PE文件头(IMAGE_FILE_HEADER)和PE可选头(IMAGE_OPTIONAL_HEADER32)。

节表:是PE文件后续节的描述,windows根据节表的描述加载每个节。

节数据:每个节实际上是一个容器,可以包含代码、数据等等,每个节可以有独立的内存权限,比如代码节默认有读/执行权限,节的名字和数量可以自己定义,未必是上图中的四个。

知道了PE文件结构后,我们就能够知道PE文件的写的内容是什么了。

阅读更多
个人分类: PE
上一篇PE总结1---在010Editor中使用二进制模板
下一篇MFC总结(17) --- CString 参数传递问题
想对作者说点什么? 我来说一句

PE文件结构详解

2011年12月22日 259KB 下载

Winhex解读PE文件结构

2012年06月22日 200KB 下载

没有更多推荐了,返回首页

关闭
关闭