Re----PE文件格式

本文详细介绍了PE文件的结构,包括DOS部首、PE头、区块表、输入表、输出表、基址重定位和资源结构。PE文件是Windows下的可执行文件,如.exe、.dll等,其内存中的虚拟地址由基地址和相对虚拟地址决定。重点讨论了Address of Entry Point、Image Base等关键属性,并解释了为何需要基址重定位和资源结构的重要性。
摘要由CSDN通过智能技术生成

          

以上两张图是PE文件的基本概况,在Windows下所谓PE文件即Portable Executable,意为可移植的可执行的文件。常见的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一个共同特点:前两个字节为4D 5A(MZ)。如果一个文件前两个字节不是4D 5A则其肯定不是可执行文件。

 

在可执行文件中,要指定内存的地址,在PE文件中的地址是虚拟地址(为了避免有确定的的内存地址而带来的问题,如空间利用和移植性)

Visual C++ 建立的EXE文件基地址默认是00400000h,DLL文件基地址是10000000h

在PE文件中,虚拟地址=基地址+相对虚拟地址

以上是一种映射关系,大家可以自己悟一下,任何在执行的虚拟地址都是映射而来的

 

基本概念已经清楚了,我们按照图10.1逐步开始分析

1. DOS部首

主要是两部分 DOS stub、DOS MZ,DOS部首具体如下

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值