PE(Portable Execute)文件,它是Windows下可执行文件的总称,也是windows系统下标准的文件格式。
在window系统上常见的后缀为DLL,EXE,OCX,SYS等文件都是属于PE文件。但事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任何扩展名。
PE文件结构概括起来就是:它主要由 “头”(DOS头,NT头,可选头)和“节”(text节,data节)组成。
在代码中去实现,判断一个可执行文件,是否是PE文件结构。主要有两个判断:
1.DOS头的魔法值字段是否是 “MZ” ,也就是 0x5A4D 值。
2.NT头的签名字段信息是否是 “PE00” ,也就是 0x00004550 值。
下图是一个标准PE文件结构图
PEB结构概述
PEB结构(Process Envirorment Block Structure):进程环境信息块。
PEB:它主要是用于存放进程信息,每个进程都有属于自己的PEB信息。
PEB:它位于用户地址空间。