windows PE IMAGE_DIRECTORY_ENTRY_IMPORT
时间: 2023-07-31 18:05:43 浏览: 223
windows PE
5星 · 资源好评率100%
`IMAGE_DIRECTORY_ENTRY_IMPORT`是Windows可执行文件PE格式中的一个数据目录项,用于存储导入表(import table)信息。导入表指定了可执行文件所依赖的动态链接库(DLL)及其导出函数的名称。这些信息在程序运行时被加载到内存中。
`IMAGE_DIRECTORY_ENTRY_IMPORT`目录项的结构体定义如下:
```
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
union {
DWORD Characteristics; // 0 for terminating null import descriptor
DWORD OriginalFirstThunk; // RVA to original unbound IAT (PIMAGE_THUNK_DATA)
} DUMMYUNIONNAME;
DWORD TimeDateStamp; // 0 if not bound,
// -1 if bound, and real date\time stamp
in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND)
// O.W. date/time stamp of DLL bound to (Old BIND)
DWORD ForwarderChain; // -1 if no forwarders
DWORD Name;
DWORD FirstThunk; // RVA to IAT (if bound this IAT has actual addresses)
} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR;
```
其中,`OriginalFirstThunk`指向一个`IMAGE_THUNK_DATA`数组,该数组中存储了导入函数的名称和序号。当程序被加载到内存中时,该数组中的名称和序号将被替换为实际的函数地址。`FirstThunk`则是导入地址表(IAT)的地址,该表中存储了实际的函数地址。
阅读全文