网站大量收购独家精品文档,联系QQ:2885784924

深入剖析Win32可移植可执行文件格式(第二部分).pdf

深入剖析Win32可移植可执行文件格式(第二部分).pdf

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

深入剖析 Win32 可移植可执行文件格式 第二部分 作者:Matt Pietrek 上个月在本文的第一部分中,我首先对可移植可执行文件进行了全面的介绍。我讲了 PE文 件的历史和组成 PE文件头的数据结构,还讲了节表。PE 文件头和节表告诉你在可执行文件中都 包含什么类型的代码和数据,以及在哪里能找到它们。 本月我要讲一下常见的节。最后讲一下我的最新的经过彻底改进的PEDUMP程序,它可以在 2002年2 月的专栏中下载。如果你不熟悉PE文件的基本概念,应该首先读一下本文的第一部分。 上个月我讲了节是怎样的一个逻辑上属于一起的代码或数据块。例如可执行文件的所有导入 信息都在一个节中。现在让我们来看一下在可执行文件和 OBJ 文件中经常遇到的一些节。除非特 别说明,否则下表中的节名都来自Microsoft 的工具。 名称 描述 .text 默认的代码节。 .data 默认的可读/可写数据节。全局变量通常在这个节中。 .rdata 默认的只读数据节。字符串常量和C++/COM虚表就放在这个节中。 .idata 导入表。实际上,链接器经常把.idata 节合并到其它节中(或者是明确指定的,或者是通 过链接器的默认行为)。默认情况下,链接器仅在创建发行版的程序时才把.idata 节合并 到其它节中。 .edata 导出表。当创建要导出函数或数据的可执行文件时,链接器会创建一个.EXP文件。这个.EXP 文件包含一个.edata 节,这个节被添加到最后的可执行文件中。与.idata 节一样,.edata 节也经常被合并到.text节或.rdata节中。 .rsrc 资源节。这个节是只读的。它不应该被命名为其它名称,也不应该被合并到其它节中。 .bss 未初始化的数据节。在最新的链接器创建的可执行文件中很少见到。链接器扩展可执行文件 的.data节的VirtualSize域以便容纳未初始化的数据。 .crt 添加到可执行文件中的数据,用来支持C++运行时库(CRT)。一个比较好的例子就是用于调 用静态C++对象的构造函数和析构函数的指针。要获取更详细的信息,可以参考2001年1 月 的Under The Hood专栏。 .tls 这个节中的数据用来支持使用__declspec(thread)语法创建的线程局部存储变量。它包括数 据的初始值,以及运行时需要的附加变量。 .reloc 可执行文件中的基址重定位节。通常DLL需要基址重定位信息而EXE并不需要。在创建发行 版的程序时,链接器并不为 EXE 文件生成基址重定位信息。可以使用/FIXED 链接器选项移 除基址重定位信息。 .sdata 通过全局指针(Global Pointer)相对寻址的“短(Short)”可读/可写数据。用于IA-64 和其它使用全局指针寄存器的平台上。IA-64平台上正常大小的全局变量在这个节中。 .srdata 通过全局指针相对寻址的“短(Short)”只读数据。用于 IA-64 和其它使用全局指针寄存 器的平台上。 .pdata 异常表。它包含一个 IMAGE_RUNTIME_FUNCTION_ENTRY 结构数组,这个结构与平台体系结构 相关。数据目录中索引为IMAGE_DIRECTORY_ENTRY_EXCEPTION的项指向它。用于使用基于表 的异常处理的平台,例如 IA-64。惟一不使用基于表的异常处理的平台是 x86(它使用的是 名称 描述 基于堆栈的异常处理)。 .debug$S OBJ文件中的Codeview格式的调试符号(Symbol)信息。这是一列可变长度的CodeView 格 式的调试符号记录。 .debug$T OBJ文件中的Co

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档