zoukankan      html  css  js  c++  java
  • PE文件结构体-IMAGE_DATA_DIRECTORY

    IMAGE_OPTIONAL_HEADER结构体的最后一个成员,数组每一个元素都是该结构体

    typedef struct _IMAGE_DATA_DIRECTORY {
        DWORD   VirtualAddress;//数据起始RVA
        DWORD   Size;     //数据块长度
     /*Size 这个字段记录了特定类型的数据块的长度。*/
    } IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
    
    /*VirtualAddress 这个字段记录了特定类型数据的其实RVA。当然,针对不同的数据结构,该字段包含的是数据含义并不一样,有的数据甚至还不是RVA(如
    属性证书数据中该字段表示的是FOA)*/

    数组中的每一项对应一个特定的数据结构,包括导入表,导出表等等,

    根据不同的索引取出来的是不同的结构,头文件里定义各个项表示哪个结构,如下面的代码所示:

    #define IMAGE_DIRECTORY_ENTRY_EXPORT          0   // Export Directory '
    #define IMAGE_DIRECTORY_ENTRY_IMPORT          1   // Import Directory '
    #define IMAGE_DIRECTORY_ENTRY_RESOURCE        2   // Resource Directory 
    #define IMAGE_DIRECTORY_ENTRY_EXCEPTION       3   // Exception Directory 
    #define IMAGE_DIRECTORY_ENTRY_SECURITY        4   // Security Directory 
    #define IMAGE_DIRECTORY_ENTRY_BASERELOC       5   // Base Relocation Table 
    #define IMAGE_DIRECTORY_ENTRY_DEBUG           6   // Debug Directory 
    //      IMAGE_DIRECTORY_ENTRY_COPYRIGHT       7   // (X86 usage) 
    #define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE    7   // Architecture Specific Data 
    #define IMAGE_DIRECTORY_ENTRY_GLOBALPTR       8   // RVA of GP 
    #define IMAGE_DIRECTORY_ENTRY_TLS             9   // TLS Directory 
    #define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG    10   // Load Configuration Directory 
    #define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT   11   // Bound Import Directory in headers 
    #define IMAGE_DIRECTORY_ENTRY_IAT            12   // Import Address Table 
    #define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT   13   // Delay Load Import Descriptors 
    #define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14   // COM Runtime descriptor
  • 相关阅读:
    【iOS系列】-iOS的多线程解析
    【iOS系列】-单例模式的实现
    Mac下Apache+MySQL+PHP安装
    【ios系列】-Quartz 2D常用方法介绍
    【ios系列】-数据储存
    【iOS系列】-文件管理
    我是怎么用FullCalendar记录我的2013年(辞职N次,面试2N次)的,它还兼容IE6
    2014年我去哪里过年?
    unity3d Human skin real time rendering plus 真实模拟人皮实时渲染 plus篇
    Unity3d shader之次表面散射(Subsurface Scattering)
  • 原文地址:https://www.cnblogs.com/a-s-m/p/12243136.html
Copyright © 2011-2022 走看看