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

你可能感兴趣的:(PE文件结构,windows)