【发布时间】:2014-09-19 17:33:47
【问题描述】:
我正在对 PE 格式进行一些研究,但我无法理解某些内容……例如,在各种文档中发现签名“PE\0\0”必须位于文件的 0x80 位置,所以,我使用 Digital Mars C/C++ 编译器和 MVC++ 编译器生成了 2 个 exe...
在 DMC 编译器中,PE 签名在 0x60 位置,而在 MSC++ 中,PE 签名在 0xE8 位置...
计算这个的正确方法是什么?
在MSC++生成的可执行文件中我发现了这个(看图),这是什么???
【问题讨论】:
-
谷歌搜索
PE File Format时第一次击中我:An In-Depth Look into the Win32 Portable Executable File Format,这表明您需要从 DOS 标头的e_lfsnew成员中找到偏移量。它不是像0x80这样的固定偏移量。 -
很明显!,我忘记了!!...谢谢!!!