0

我一直试图解决这个问题好几个小时,但我似乎无法理解。我一直试图在 Microsoft 文档中查找信息,但信息量让我不知所措。我的问题是:应该如何在 PE32 文件中找到导入部分的偏移量?我不是指文件何时加载到内存中,而是指文件何时在磁盘上。我应该查看对象表的内部吗?另一个问题,对象表是否概述了紧随其后的部分?

感谢您的时间。

4

2 回答 2

1

自从我在 PE 文件中四处挖掘以来已经有一段时间了,但是 . . .

如果我正确阅读了文档,则节表紧跟在标题后面。您可以通过计算标题的大小直接定位到节表。

每个节表条目的长度为 40 个字节(参见文档的第 25 页)。第一个字段是一个 8 字节的名称。我假设您可以从中获取导入部分的名称。在记录中的偏移量 20 处是指向原始数据的指针。这被描述为“指向 COFF 文件中该部分的第一页的文件指针”。偏移 16 处的字段给出了大小。

所以你应该可以定位到段表,然后依次读取每个段头找到导入地址表,然后得到指向原始数据的指针。

于 2012-04-16T04:30:15.393 回答
1

看看PeDump。使用这个工具(提供源代码),您可以看到它是如何工作的。

于 2012-04-16T08:06:28.860 回答