10.PE导出表
一:定位导出表
PIMAGE_NT_HEADERS->OptionalHeader->DataDirectory[0]
typedef struct _IMAGE_DATA_DIRECTORY {
DWORD VirtualAddress; // 导出表的RVA
DWORD Size; // 导出表大小(没用)
} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
该结构的VirtualAddress,只能说明PE文件在拉伸状态下的导出表位置,要找到导出表的结构,还需要将RVA转成FOA
二:导出表结构
typedef struct _IMAGE_EXPORT_DIRECTORY {
DWORD Characteristics; // 未使用
DWORD TimeDateStamp; // 时间戳
WORD MajorVersion; // 未使用
WORD MinorVersion; // 未使用
DWORD Name; // 指向该导出表文件名字符串
DWORD Base; // 导出函数起始序号
DWORD NumberOfFunctions; // 所有导出函数的个数
DWORD N