WindowsPE 导出表

_IMAGE_EXPORT_DIRECTORY 这个结构体

typedef struct _IMAGE_EXPORT_DIRECTORY {
    DWORD   Characteristics;
    DWORD   TimeDateStamp;
    WORD    MajorVersion;
    WORD    MinorVersion;
    DWORD   Name;
    DWORD   Base;
    DWORD   NumberOfFunctions;
    DWORD   NumberOfNames;
    DWORD   AddressOfFunctions;     // RVA from base of image
    DWORD   AddressOfNames;         // RVA from base of image
    DWORD   AddressOfNameOrdinals;  // RVA from base of image
} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;

WindowsPE 导出表

 

 更具数据目录拿到rva 和文件物理偏移 foa

WindowsPE 导出表

 

 rva=2000

WindowsPE 导出表

 

 物理地址偏移就是  2140-2000+800=940

WindowsPE 导出表

 

 一次对应_IMAGE_EXPORT_DIRECTORY  这个结构体

WindowsPE 导出表

 

 代表4个导出函数  后面就是导出函数的数组地址

WindowsPE 导出表

 

 2168-2000+800=968 文件物理地址   4个函数地址分别是 83 11 00  22 10 00

WindowsPE 导出表

 

 如此后面存放的是函数名数组 和索引数组 可以依次找到 也可以修改导出表来自定义函数访问只需要保证相应数据目录和结构体大小不错就行

 

上一篇:操作系统--文件系统知识详解


下一篇:Android Container 系列: 详细步骤