PE文件格式
- 介绍
- Windows系统下使用的可执行文件格式
- Unix : COFF
- 32位:PE32 ; 64位:PE32+/PE+
- PE文件格式
- 文件种类:
- 可执行系列:EXE、SCR
- 库系列:DLL、OCX、CPL、DRV
- 驱动程序系列:SYS、VXD
- 对象文件系列:OBJ(不可执行)
- 基本结构:
- PE头:DOS头到节区头
- PE体:头下节区
- 文件中使用偏移(offset),内存中使用VA来表示位置
- 文件内容:代码,数据,资源节
- VA & RVA
- VA:进程虚拟内存的绝对地址
- RVA:相对虚拟地址,从某个基准位置开始的相对地址
- RVA + ImageBase = VA
- 文件种类:
- PE头
- DOS头
- 结构体:40字节
- DOS头
-
-
-
- e_magic
-
-
Dos签名("MZ")
-
-
-
- e_lfanew
-
-
指示NT头的偏移
-
- Dos存根(可选)代码+数据
- NT头
- 结构体
-
-
-
- 签名
-
-
50450000h("PE"00)