slipb 发表于 2018-5-17 10:54:25

关于IMAGE_DATA_DIRECTORY

typedef struct _IMAGE_OPTIONAL_HEADER
{
……
+74h    DWORD   NumberOfRvaAndSizes;// 下边数据目录的项数,这个字段自Windows NT 发布以来      // 一直是16
+78h    IMAGE_DATA_DIRECTORY DataDirectory;
       // 数据目录表
} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;

最后一个参数,是定义了16个数组。
问题是:每个数组都有下表中的15项属性,还是每个数组占下表中的一项?
例如:

图中180~187具有下表15项属性,还是180~187表示“导入表”的地址和大小(另外:180~183表示地址,184~187表示大小?)?

索   引        索引值在Windows.inc中的预定义值        对应的数据块
0        IMAGE_DIRECTORY_ENTRY_EXPORT        导出表
1        IMAGE_DIRECTORY_ENTRY_IMPORT        导入表
2        IMAGE_DIRECTORY_ENTRY_RESOURCE        资源
3        IMAGE_DIRECTORY_ENTRY_EXCEPTION        异常(具体资料不详)
4        IMAGE_DIRECTORY_ENTRY_SECURITY        安全(具体资料不详)
5        IMAGE_DIRECTORY_ENTRY_BASERELOC        重定位表
6        IMAGE_DIRECTORY_ENTRY_DEBUG        调试信息
7        IMAGE_DIRECTORY_ENTRY_ARCHITECTURE        版权信息
8        IMAGE_DIRECTORY_ENTRY_GLOBALPTR        具体资料不详
9        IMAGE_DIRECTORY_ENTRY_TLS        Thread Local Storage
10        IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG        具体资料不详
11        IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT        具体资料不详
12        IMAGE_DIRECTORY_ENTRY_IAT        导入函数地址表
13        IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT        具体资料不详
14        IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR        具体资料不详
15        未使用       

164314541 发表于 2018-5-17 13:32:10

定义了一个数组 每个数组元素大小0x8个字节(32位机器)
数组大小0x10个元素

slipb 发表于 2018-5-19 20:29:17

164314541 发表于 2018-5-17 13:32
定义了一个数组 每个数组元素大小0x8个字节(32位机器)
数组大小0x10个元素

是不是这样理解:数组元素1表示“导出表”,数组元素2表示“导入表”,数组元素3表示“资源”?
页: [1]
查看完整版本: 关于IMAGE_DATA_DIRECTORY