2.1实验目的

1. 熟悉各种PE编辑查看工具,详细了解PE文件格式2. 重点分析PE文件文件头、引入表、引出表,以及资源表

2.2实验步骤及内容

PE文件格式分析

  1. 使用WinHex观察PE文件例子程序test.exe的16进制数据,在屏幕截图中使用图形编辑软件标出该PE文件基本结构的DOS头、PE文件文件头、PE文件可选文件头、数据目录表、导入表、导出表。

2.使用Ollydbg对该程序进行初步调试,了解该程序功能结构,在内存中观察该程序的完整结构。

3.熟悉各类PE文件格式查看和编辑工具(PEView、PE-Explore等)。

 

实验操作过程:

1.1PE文件分为几个部分,分别是:

  • DOS头
  • DOS Stub
  • NT头(PE头)
  • 文件头
  • 可选头
  • 区段头(一个数组,每个元素都是一个结构体,称之为IMAGE_SECTION_HEADER)
  • .text
  • .rdata
  • .data
  • .rsrc
  • .reloc
  • ...

1.2 DOS头和DOS Stub

在文件的开始有两位16进制数据4D 5A,对应ASCII字符是MZ,这是DOS MZ Header的标志,即DOS头。

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_字段

 

DOS Stub

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_数据目录_02

 

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_数据目录_03

 

1.3 DOS Header,其中的e_lfanew字段的值为C0,它指向了PE Header 在磁盘文件中相对于文件开始的偏移地址,即Signature字段,长度4h。

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_数据目录_04

 

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_导出表_05

 

1.4 PE文件头

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_导出表_06

Metadata Tables第一章 PE文件格式 pe文件格式实验_字段_07

 

 

1.5 PE可选文件头

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_字段_08

 

 

1.6 数据目录表

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_导出表_09

 

1.7 导入表

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_字段_10

 

1.8 导出表

 

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_导出表_11

 

2.1 使用Ollydbg对该程序进行初步调试,对test.exe程序进行操作分析。

3.1 PEView工具和PE-Explore工具

PEView工具可以查看test.exe中的具体详细信息

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_导出表_12

 

PE-Explore工具可以查看导入、导出表,资源数据表之类的大小,存储之类的虚拟地址之类信息以及其他详细信息

 

 

Metadata Tables第一章 PE文件格式 pe文件格式实验_导出表_13