从DLL中提取导出函数

时间:2017-11-17 20:23:12

标签: dll portable-executable dllexport

我正在尝试编写一个从dll文件中提取导出函数名称的函数。我正在使用的解释器无法访问winAPI,并且仅限于一些非常基本的二进制解析函数来实现此目的。

到目前为止,我已经能够找到PE头,PE可选头和COFF头的基本组件。通过遍历这些结构,我能够在可选标头(QWORD)的data_directory中找到IMAGE_DIRECTORY_ENTRY_EXPORT。

我遇到的问题是从IMAGE_DIRECTORY_ENTRY_EXPORT找到IMAGE_EXPORT_DIRECTORY?我的理解是IMAGE_DIRECTORY_ENTRY_EXPORT包含两个相关的信息Name Offset / Integer Id(第一个DWORD)和Data Entry Offset(第二个DWORD)。

我试图跟踪数据输入偏移量,但它似乎不准确,因为(如果它是绝对的)它将位于PE标头之前......这可能不对。< / p>

这让我觉得它是一个相对偏移,但我不知道它会是什么相对。

总而言之,IMAGE_DIRECTORY_ENTRY_EXPORT与IMAGE_EXPORT_DIRECTORY之间是否存在关系?如果是这样,您如何从第一个到第二个的绝对偏移?

0 个答案:

没有答案