在这篇博客本人会从多个方面来解说PE文件,并在每一步解说中配上实际的图片以便更好地理解
1.PE文件是什么?
PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的(文件后缀名为)EXE、DLL、OCX、SYS、COM的文件都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。现在大多数的可执行程序,像微信,qq等启动程序都是PE文件。
当然,还有其他的可执行(EXE)文件格式,比如
1)DOS中的MZ格式,
2)Windows 3.0/3.1中的NE(New Executable)文件格式,它是16为的Windows可执行文件格式。
示例:
举个直观的例子,下图是关于qq的文件显示,我们可以看到qq.exe,这就是可执行文件,就是可以运行的文件。所以我们可以运行,运行之后的界面像登陆啊,好友显示等等我就不多说了。
但它内部实质是什么呢?如下图显示,这是用PEview软件打开的qq程序,可以看到qq.exe内部的十六进制的数据形式。
用户眼中的qq:
下图是qq.exe文件内部实质:
2.PE文件的内部实质:
下面我们以pandownload这个软件为例来解说PE文件内部结构,如下图所示:
我们可以很直观的观察到这个pandownload.exe文件的结构(如下图),最外部是它的名字“PanDownload.exe”,进一步是DOS头,DOS程序…,节表等等,而每一个分区里是对应的十六进制内容,但可能又有进一步的分区,结构非常明显易懂。