我在 Windows 7 下调试 win32 可执行文件时遇到问题。我尝试使用 ollyDbg 和x64dbg:前者根本不执行任何操作,而后者则抱怨“错误启动进程(无效 pe?)! ”消息。
我认为这可能与上述可执行文件经过数字签名有关。我做了一些快速研究,然后出现了这个 SO 问题,在那里我了解到 Windows 可执行文件中的数字签名在文件的 PE 标头中被引用,我认为这可能是 x64dbg 所抱怨的。
我所说的可执行文件是 Mumble windows 客户端版本 1.2.10。它是唯一用两个不同数字签名进行签名的可执行文件,这进一步强化了我的假设。可悲的是,即使在使用上面 SO 问题中链接的 delcert.exe 剥离数字签名之后,问题仍然存在,这让我陷入了死胡同。
数字签名是否有可能将这些调试器弄乱?签名剥离工具是否可能无法为我尝试的调试器生成有效的 pe 文件?我还能做错什么?
作为脚注:我知道 mumble 是免费软件,我可以编译自己的版本,但这是逆向工程,对吗?
更新:在 Jason 评论之后,我发布了 ollydbg 日志,不幸的是,它实际上并没有说什么:
Log data
Address Message
OllyDbg v1.10
Bookmarks sample plugin v1.06 (plugin demo)
Copyright (C) 2001, 2002 Oleh Yuschuk
Command line plugin v1.10
Written by Oleh Yuschuk
File 'C:\Program Files (x86)\Mumble\mumble.exe'