如何在PE32文件中找到Import Section的偏移量?

时间:2012-04-16 02:52:21

标签: windows assembly executable portable-executable

我一直试图弄清楚这几个小时,但我似乎无法得到它。我一直在尝试在Microsoft文档中查找信息,但是我被大量信息所淹没。我的问题是:如何在PE32文件中找到导入部分的偏移量?我不是说当文件加载到内存中时,我的意思是当它在磁盘上时。我应该查看对象表吗?另一个问题是,对象表是否勾勒出紧随其后的部分?

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

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

如果我正确读取documentation,则表格会紧跟在标题之后。您可以通过计算标题的大小直接定位到节表。

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

因此,您应该能够定位到节表,然后按顺序读取每个节标题以查找导入地址表,然后获取指向原始数据的指针。

答案 1 :(得分:1)

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