PE格式学习笔记(一)

1.概述  

PE文件格式,全称Portable Executable,是一种使用在WIN32下的可执行文件格式。之前有在MS-DOS下的MZ格式与16位WIN下的NE格式。具体定义可以在winnt.h文件的Image Format部分中可以找到。

64位WINDOWS只是对该格式某些域进行了或删除或扩展的修改,称为PE32+格式。PE格式经历了近20年仍保持其精华可见其设计的精妙。

之所以称之为可移植,是因为在与不在Inter处理器上运行无关紧要,同样可以识别该格式,虽然CPU指令也许会不同。

Microsoft采用的可执行文件与目标模块的格式称之为COFF,即通用目标文件格式,这也是为操作系统加载器与编程工具不需要为每种CPU定制特定的文件格式所提出的。在Windows NT的C编译器之前,采用Inter的OMF规范,采用这种格式会导致需要针对不同的编译器发布不同的OBJ或LIB文件版本。

 

2.DUMP

什么是DUMP?DUMP称转储,是将RAW DATA从一个地方拷贝到另一个地方的过程。一般来说,DUMP指将主内存中数据输出到显示器或打印机以供分析。所谓RAW DATA是指原始数据,并未被分析或者格式化。而DUMP后得到的数据为了增强可读性也许会附带一些格式。

 

3.补充

PE格式文件的一个很大优点在于它的数据结构在磁盘上与在内存中有相当的一致性,这就意味着加载一个PE文件并不需要进行很多操作。但值得注意的是,并不是PE文件中所有的部分都被映射进内存中,具体内容是有选择的.

 

4.结构概述

PE文件由DOS头、PE头、节表与节组成。而节的内容就是PE文件中的代码、数据、资源所在的部分。在PE文件中,很大部分用到了链表结构。例如从DOS头中可以找到PE头的RAV,而PE头又可以确定IMAGE_DATA_DIRECTORY_xxx 结构数组,可以同节表一起获取节的信息。因此,在WINNT.H中寻找PE文件的结构不是件容易的事

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值