2.1实验目的
1. 熟悉各种PE编辑查看工具,详细了解PE文件格式2. 重点分析PE文件文件头、引入表、引出表,以及资源表
2.2实验步骤及内容
PE文件格式分析
- 使用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头。
DOS Stub
1.3 DOS Header,其中的e_lfanew字段的值为C0,它指向了PE Header 在磁盘文件中相对于文件开始的偏移地址,即Signature字段,长度4h。
1.4 PE文件头
1.5 PE可选文件头
1.6 数据目录表
1.7 导入表
1.8 导出表
2.1 使用Ollydbg对该程序进行初步调试,对test.exe程序进行操作分析。
3.1 PEView工具和PE-Explore工具
PEView工具可以查看test.exe中的具体详细信息
PE-Explore工具可以查看导入、导出表,资源数据表之类的大小,存储之类的虚拟地址之类信息以及其他详细信息