标签:名称 pe文件 first rtu dir 多个 time import 虚拟地址
在扩展PE头是一个名为_IMAGE_OPTIONAL_HEADER
的结构体
其中存在一个结构体数组为IMAGE_DATA_DIRECTORY
,个数有16个,总占128字节
其中关于导入表的结构体的名称为:_IMAGE_IMPORT_DESCRIPTOR
,结构体如下:
typedef struct _IMAGE_DATA_DIRECTORY {
DWORD VirtualAddress; //虚拟地址,存储当前导出表的地址
DWORD Size; //存储 当前导出表的大小
} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
因为导入表由一堆PE文件组成,所以一般导入表都是有许多个的,导入表中存储的为当前PE需要依赖的函数等
导入表的具体结构为:占20个字节
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
union {
DWORD Characteristics; // 0 for terminating null import descriptor
DWORD OriginalFirstThunk; // RVA指向IMAGE_THUNK_DATA结构数组
};
DWORD TimeDateStamp; // 时间戳
DWORD ForwarderChain; // -1 if no forwarders
DWORD Name; // RVA,指向dll名字,该名字以0结尾
DWORD FirstThunk; // RVA,指向IMAGE_THUNK_DATA结构数组
} IMAGE_IMPORT_DESCRIPTOR;
如何判断导入表的个数?
首先先找到导入表的位置: 0x00024000
标签:名称 pe文件 first rtu dir 多个 time import 虚拟地址
原文地址:https://www.cnblogs.com/zpchcbd/p/12325556.html