我有一个 32 位应用程序和一些包装器工具,我一个接一个地使用它们来注入代码、挂钩系统 dll 函数(使用 patch-first-bytes-of-the-function-with-jump 方法)。我还有一个工具可以将代码注入应用程序进程并启动新线程。我的问题是有时我会遇到异常。该应用程序是 32 位的,所以我使用的是 32 位调试器。从我可以看到的异常来自应该是 wow64.dll 的内存区域。Wow64.dll 有一些 64 位代码。因此,我在调试此异常的原因时遇到问题。我的问题是:
当 wow64.dll 64 位代码抛出异常时,我可以依赖 32 位调试器报告的异常信息还是字段将包含错误值(64 位异常结构和 32 位异常结构之间有区别吗)?
是否有任何可靠的方法可以在 32 位进程中调试 64 位代码片段?