Ollydbg 1.10"返回用户模式"不起作用

gek*_*k0n 6 debugging reverse reverse-engineering ollydbg

当一些麻烦出现时,我试图学习"莉娜对新手的逆转".我用ollyDbg启动Pixtopian Book,然后尝试使用带有uregistered版本消息的MessageBox.然后我切换到OllyDbg,停止程序执行并按"Alt + F9"进入"返回用户模式",在程序退出DLL后停止程序.

但是在这个程序不起作用之后,它被冻结了,并且不响应我的行为.如果我关闭"返回用户模式"程序正常工作.

有什么问题?我可以尝试在IDA(使用WinDbg)或其他一些调试器中使用"返回用户模式",我该怎么做?我可以在OllyDbg修复它的功能吗?

PS就像程序停止使用"ALT + F9"后没有运行.

/ 抱歉我的英语,我只是在学习;-) /

Ext*_*ers 4

首先,Ollydbg适用于32 位平台。这意味着它只能在 32 位操作系统上运行,并且只能调试 32 位应用程序。

在 x64 操作系统(特别是 Windows)中,有一项称为兼容模式的功能,可让您运行 32 位应用程序。32 位代码要么通过仿真运行,要么以本机方式运行(当硬件本身实现指令集时,称为 x86-64)。

因此,当您尝试在 x64 环境中运行 Ollydbg 时,它会运行,但您会遇到像您所面临的问题。出现这种情况是因为Ollydbg 在仿真模式下运行。作为调试器,它需要访问寄存器和其他系统结构,但它被拒绝了。它看到的是系统的虚拟镜像。

所以解决这个问题的办法就是使用虚拟机

您将在其中安装 32 位操作系统并使用 Ollydbg 调试应用程序。就虚拟机而言,我推荐VMWare。您可以使用工作站版本或播放器版本。后者是免费的,但不支持快照。

其他解决方案包括Virtual BoxParallels WorkstationMicrosoft Virtual PC。它们的缺点是Virtual Box 不支持硬件断点,从 2014 年起不再支持 Parallels Workstation,此外,如果您尝试单步执行 FPU 指令,您会得到BSOD 。不过我还没有测试过 Virtual PC。

注意:Ollydbg 不支持 x64,但其作者正在开发 x64 版本。