_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;
更具数据目录拿到rva 和文件物理偏移 foa
rva=2000
物理地址偏移就是 2140-2000+800=940
一次对应_IMAGE_EXPORT_DIRECTORY 这个结构体
代表4个导出函数 后面就是导出函数的数组地址
2168-2000+800=968 文件物理地址 4个函数地址分别是 83 11 00 22 10 00
如此后面存放的是函数名数组 和索引数组 可以依次找到 也可以修改导出表来自定义函数访问只需要保证相应数据目录和结构体大小不错就行