导出表中导出的是供其他PE文件使用的函数、变量或者类的行为。
导出表记载着动态链接库的一些导出信息。通过导出表,DLL 文件可以向系统提供导出函数的名称、序号和入口地址等信息,比便Windows 加载器通过这些信息来完成动态连接的整个过程。
导出表由3个部分构成: 名称表, 函数表, 序号表。 名称表和序号表就是索引,引导调用者找到真正的函数表。 函数表中保存着被导出函数的地址信息
导出表在内存中的顺序是按照输出名称来确定的。
IMAGE_EXPORT_DIRECTORY结构:
typedef struct _IMAGE_EXPORT_DIRECTORY {
DWORD Characteristics; //保留 总是定义为0
DWORD TimeDateStamp; //文件生成时间
WORD MajorVersion; //主版本号 一般不赋值
WORD MinorVersion; //次版本号 一般不赋值
DWORD Name; //模块的真实名称
DWORD Base; //索引基数 加上序数就是函数地址数组的索引值
DWORD NumberOfFunctions; //地址表中个数
DWORD NumberOfNames; //名称表的个数
DWORD AddressOfFunctions; //输出函数地址的RVA
DWORD AddressOfNames; //输出函数名字的RVA
DWORD AddressOfNameOrdinals; //输出函数序号的RVA
} IMAGE_EXPORT_DIRECTORYM, *pIMAGE_EXPORT_DIRECTORY;
如果在010Editor中的信息如下: