PE 文件格式 Written by codez
=====================================================
No Size Offset Note
-----------------------------------------------------
# PE SIGNATURE
01 DWORD 0000 PE 文件标志(50 45 00 00)
# IMAGE_FILE_HEADER Structure
02 WORD 0004 Machine 电脑的处理器类型
03 WORD 0006 NumberOfSections 段数
04 DWORD 0008 TimeDateStamp 时间
05 DWORD 000C PointerToSymbolTable 符号表指针
06 DWORD 0010 NumberOfSymbols 符号表数目
07 WORD 0014 SizeOfOptionHeader Option 头大小
08 WORD 0016 Characteristics 映像特征
[SIZE = 0x18]
# IMAGE_OPTIONAL_HEADER Structure
09 WORD 0018 Magic 幻数
10 BYTE 001A MajorLinkerVersion 连接器主版本号
11 BYTE 001B MinorLinkerVersion 连接器次版本号
12 DWORD 001C SizeOfCode 代码段大小
13 DWORD 0020 SizeOfInitializedData 初始化数据段大小
14 DWORD 0024 SizeOfUninitializedData 未初始化数据段大小
15 DWORD 0028 AddressOfEntryPoint 程序入口地址
16 DWORD 002C BaseOfCode 代码段基址
17 DWORD 0030 BaseOfData 数据段基址
18 DWORD 0034 ImageBase 映像地址
19 DWORD 0038 SectionAlignment 映像对齐
20 DWORD 003C FileAlignment 文件对齐
21 WORD 0040 MajorOperatingSystemVersion OS主版本
22 WORD 0042 MinorOperatingSystemVersion OS次版本
23 WORD 0044 MajorImageVersion 映像主版本
24 WORD 0046 MinorImageVersion 映像次版本
25 WORD 0048 MajorSubsystemVersion 子系统主版本
26 WORD 004A MinorSubsystemVersion 子系统次版本
27 DWORD 004E Win32VersionValue 保留使用
28 DWORD 0052 SizeOfImage 映像大小
29 DWORD 0056 SizeOfHeaders 包括 Ms-dos stub 以及 PE 文件头和段表大小
30 DWORD 005A CheckSum 核对值
31 WORD 005C Subsystem 子系统类型
32 WORD 005E DllCharacteristics (0x2000 -> WDM 驱动程序)
33 DWORD 0060 SizeOfStackReserve 保留栈大小
34 DWORD 0064 SizeOfStackCommit 提交栈大小
35 DWORD 0068 SizeOfHeapReserv 保留堆大小
36 DWORD 006C SizeOfHeapCommit 提交堆大小
37 DWORD 0070 LoaderFlags 加载标志
38 DWORD 0074 NumberOfRvaAndSizes
[SIZE = 0x78]
=====================================================
# IMAGE_DATA_DIRECTORY
01 DWORD 0000 VirtualAddress 虚拟地址
02 DWORD 0004 Size 大小
[SIZE = 0x0008]
=====================================================
# IMAGE_SECTION_HEADER
01 BYTE*8 0000 Name 名称
02 DWORD 0008 VirtualSize 虚拟大小
03 DWORD 000C VirtualAddress 虚拟地址
04 DWORD 0010 SizeOfRawData 物理大小
05 DWORD 0014 PointerToRawData 物理入口
06 DWORD 0018 PointerToRelocations 重定位入口
07 DWORD 001C PointerToLinenumbers COFF line-number 入口地址
08 WORD 0020 NumberOfRelocations 重定位数目
09 WORD 0022 NumberOfLinenumbers COFF line-number 数目
10 DWORD 0024 Characteristics 特征
[SIZE = 0x0028]
=====================================================
No Size Offset Note
-----------------------------------------------------
# PE SIGNATURE
01 DWORD 0000 PE 文件标志(50 45 00 00)
# IMAGE_FILE_HEADER Structure
02 WORD 0004 Machine 电脑的处理器类型
03 WORD 0006 NumberOfSections 段数
04 DWORD 0008 TimeDateStamp 时间
05 DWORD 000C PointerToSymbolTable 符号表指针
06 DWORD 0010 NumberOfSymbols 符号表数目
07 WORD 0014 SizeOfOptionHeader Option 头大小
08 WORD 0016 Characteristics 映像特征
[SIZE = 0x18]
# IMAGE_OPTIONAL_HEADER Structure
09 WORD 0018 Magic 幻数
10 BYTE 001A MajorLinkerVersion 连接器主版本号
11 BYTE 001B MinorLinkerVersion 连接器次版本号
12 DWORD 001C SizeOfCode 代码段大小
13 DWORD 0020 SizeOfInitializedData 初始化数据段大小
14 DWORD 0024 SizeOfUninitializedData 未初始化数据段大小
15 DWORD 0028 AddressOfEntryPoint 程序入口地址
16 DWORD 002C BaseOfCode 代码段基址
17 DWORD 0030 BaseOfData 数据段基址
18 DWORD 0034 ImageBase 映像地址
19 DWORD 0038 SectionAlignment 映像对齐
20 DWORD 003C FileAlignment 文件对齐
21 WORD 0040 MajorOperatingSystemVersion OS主版本
22 WORD 0042 MinorOperatingSystemVersion OS次版本
23 WORD 0044 MajorImageVersion 映像主版本
24 WORD 0046 MinorImageVersion 映像次版本
25 WORD 0048 MajorSubsystemVersion 子系统主版本
26 WORD 004A MinorSubsystemVersion 子系统次版本
27 DWORD 004E Win32VersionValue 保留使用
28 DWORD 0052 SizeOfImage 映像大小
29 DWORD 0056 SizeOfHeaders 包括 Ms-dos stub 以及 PE 文件头和段表大小
30 DWORD 005A CheckSum 核对值
31 WORD 005C Subsystem 子系统类型
32 WORD 005E DllCharacteristics (0x2000 -> WDM 驱动程序)
33 DWORD 0060 SizeOfStackReserve 保留栈大小
34 DWORD 0064 SizeOfStackCommit 提交栈大小
35 DWORD 0068 SizeOfHeapReserv 保留堆大小
36 DWORD 006C SizeOfHeapCommit 提交堆大小
37 DWORD 0070 LoaderFlags 加载标志
38 DWORD 0074 NumberOfRvaAndSizes
[SIZE = 0x78]
=====================================================
# IMAGE_DATA_DIRECTORY
01 DWORD 0000 VirtualAddress 虚拟地址
02 DWORD 0004 Size 大小
[SIZE = 0x0008]
=====================================================
# IMAGE_SECTION_HEADER
01 BYTE*8 0000 Name 名称
02 DWORD 0008 VirtualSize 虚拟大小
03 DWORD 000C VirtualAddress 虚拟地址
04 DWORD 0010 SizeOfRawData 物理大小
05 DWORD 0014 PointerToRawData 物理入口
06 DWORD 0018 PointerToRelocations 重定位入口
07 DWORD 001C PointerToLinenumbers COFF line-number 入口地址
08 WORD 0020 NumberOfRelocations 重定位数目
09 WORD 0022 NumberOfLinenumbers COFF line-number 数目
10 DWORD 0024 Characteristics 特征
[SIZE = 0x0028]