深入剖析 PE 文件.pdf

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入剖析 PE 文件

PE PE 深入剖析 文件 PPEE PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件 . PE Win32 . 格式对 文件格式的了解可以加深你对 系统的深入理解 一、 基本结构。 PE DOS MZ Header PE heade 上图便是 文件的基本结构。(注意: 和部分 r的大小是不变的;DOS stub部分的大小是可变的。) PE Section, NT 一个 文件至少需要两个 一个是存放代码,一个存放数据。 上 的PE文件基本上有9个预定义的Section。分别是:.text, .bss, .rdata, .data, .rsr c, .edata, .idata, .pdata, .debug PE Section. 和 。一些 文件中只需要其中的一部分 以下是通常的分类: � 执行代码Section , 通常命名为: .text (MS) or CODE (Borland) � 数据Section, 通常命名为:.data, .rdata, 或 .bss(MS) 或 DATA(Borla nd). � 资源Section, 通常命名为:.edata � 输入数据Section, 通常命名为:.idata � 调试信息Section,通常命名为:.debug 这些只是命名方式,便于识别。通常与系统并无直接关系。通常,一个PE 文件在磁盘上的映像跟内存中的基本一致。但并不是完全的拷贝。Windows加载 器会决定加载哪些部分,哪些部分不需要加载。而且由于磁盘对齐与内存对齐的 不一致,加载到内存的PE文件与磁盘上的PE文件各个部分的分布都会有差异。 当一个PE文件被加载到内存后,便是我们常说的模块(Module),其起始地址 就是所谓的HModule. DOS DOS 二、 DDOOSS头结构。 PE 64 DOS DOS 所有的 文件都是以一个 字节的 头开始。这个 头只是为了 兼容早期的DOS操作系统。这里不做详细讲解。只需要了解一下其中几个有用 的数据。 1. e_magic:DOS头的标识,为4Dh 和5Ah。分别为字母MZ。 2. e_lfanew PE Windows :一个双字数据,为 头的离文件头部的偏移量。 加载 器通过它可以跳过DOS Stub部分直接找到PE头。 3. DOS头后跟一个DOS Stub数据,是链接器链接执行文件的时候加入的部 分数据,一般是“This program must be run under Microsoft Windows”。 这个可以通过修改链接器的设置来修改成自己定义的数据。 PE PE 三、 PPEE头结构。 E IMAGE_NT_HEADERS P

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档