【问题标题】:Query regarding data directories in PE查询PE中的数据目录
【发布时间】:2015-04-13 20:52:34
【问题描述】:

我正在尝试为可执行文件构建一个打包程序,即使在仔细阅读了 pe doc 之后,我仍然无法理解一件事。 (IMAGE_DIRECTORY_ENTRY_EXPORT、IMAGE_DIRECTORY_ENTRY_IMPORT 等)等目录指向什么 RVA?

【问题讨论】:

    标签: executable portable-executable


    【解决方案1】:

    由于未知原因,官方 PE 文档没有给出 IMAGE_DATA_DIRECTORY.Rva 字段指向的结构的名称。

    下面是 IMAGE_DIRECTORY_ENTRY_XXX(来自 winnt.h)及其对应的结构。这些结构在 winnt.h 中定义,除非另有说明:

    // Directory Entries
    
    #define IMAGE_DIRECTORY_ENTRY_EXPORT          0   // IMAGE_EXPORT_DIRECTORY
    #define IMAGE_DIRECTORY_ENTRY_IMPORT          1   // IMAGE_IMPORT_DESCRIPTOR
    #define IMAGE_DIRECTORY_ENTRY_RESOURCE        2   // IMAGE_RESOURCE_DIRECTORY
    #define IMAGE_DIRECTORY_ENTRY_EXCEPTION       3   // IMAGE_RUNTIME_FUNCTION_ENTRY 
    #define IMAGE_DIRECTORY_ENTRY_SECURITY        4   // WIN_CERTIFICATE (wintrust.h)
    #define IMAGE_DIRECTORY_ENTRY_BASERELOC       5   // IMAGE_BASE_RELOCATION
    #define IMAGE_DIRECTORY_ENTRY_DEBUG           6   // IMAGE_DEBUG_DIRECTORY
    #define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE    7   // IMAGE_ARCHITECTURE_HEADER (Dec and Aplha processors only)
    #define IMAGE_DIRECTORY_ENTRY_GLOBALPTR       8   // RVA of Global pointer (GP) for MIPS
    #define IMAGE_DIRECTORY_ENTRY_TLS             9   // IMAGE_TLS_DIRECTORY[32|64]
    #define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG    10   // IMAGE_LOAD_CONFIG_DIRECTORY[32|64]
    #define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT   11   // IMAGE_BOUND_IMPORT_DESCRIPTOR
    #define IMAGE_DIRECTORY_ENTRY_IAT            12   // IMAGE_THUNK_DATA
    #define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT   13   // ImgDelayDescr (delayimp.h)
    #define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14   // IMAGE_COR20_HEADER (corhdr.h)
    

    几乎所有这些结构都在official PE documentation 的第 2.4.3 节(可选标题数据目录)中进行了讨论(作为旁注,在我写这篇文章时,该节在本章的表格中编号错误2.4.3 用于文档版本 8.3)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-04
      相关资源
      最近更新 更多