首页 文章

如何将EXE中的文件偏移映射到其PE部分

提问于
浏览
2

我打开了一个用ImageHlp.dll编写的程序来玩它一点点,我注意到文件中似乎有很大的空白 . 据我所知,对于每个PE部分,section Headers 在文件中将其偏移量设置为 PhysicalAddress ,其大小为 SizeOfRawData ,因此从 PhysicalAddressPhysicalAddress + SizeOfRawData 的所有内容都应该是该部分 . 但是这些范围没有覆盖大量的EXE文件,所以我必须遗漏一些东西 .

我知道我可以使用ImageRVAToSection并给它一个RVA地址来找出RVA所在的部分 . 有没有办法用文件偏移做类似的事情?如何找出哪个PE段字节$ ED178或属于哪个?

2 回答

  • 0

    编辑:对不起,我没有仔细阅读你的问题 .

    做一些看,我发现你提到的一些文件,部分 Headers 中的数据不包括文件的全部内容 . 到目前为止,我发现的大多数都包含一个未涵盖的调试记录 . 还有一些其他方面存在差异,但我还没有弄清楚 . 当/如果我能想出更多,我会添加它 .

  • 1

    我在How does one use VirtualAllocEx do make room for a code cave?发布了一个代码片段,用于检查内存中的PE current loaded . 如果你比较内存中DLL的包含和磁盘上的包含(显示ImageHlp.dll),你可能会在你的问题上找到答案 .

相关问题