我尝试学习“莉娜为新手倒车” https://tuts4you.com/download.php?view.125,当出现一些麻烦时。
我使用 ollyDbg 启动 Pixtopian Book,然后尝试使用 MessageBox 来显示有关未注册版本的消息。
然后我切换到OllyDbg,停止程序执行并按“Alt+F9”“返回用户模式”,这会在程序从DLL退出后停止。
但这个程序不起作用后,它就被冻结了,不响应我的操作。
如果我关闭“返回用户模式”程序正常工作。
有什么问题?我可以尝试在 IDA(使用 WinDbg)或其他调试器中使用“返回用户模式”吗?我该如何做到这一点?我可以在 OllyDbg 中修复它的功能吗?
附:就像使用“ALT+F9”后程序停止并且没有运行。
/抱歉我的英语不好,我只是在学习;-)/
首先,Ollydbg是为了32位平台。这意味着它只能在 32 位操作系统上运行,并且只能调试 32 位应用程序。
在 x64 操作系统(特别是 Windows)中,有一个称为兼容模式让您可以运行 32 位应用程序。 32 位代码要么通过仿真运行,要么以本机方式运行(当硬件本身实现指令集时,称为 x86-64)。
因此,当您尝试在 x64 环境中运行 Ollydbg 时,它会运行,但您会遇到像您所面临的问题。出现这种情况是因为Ollydbg 在仿真模式下运行。作为调试器,它需要访问寄存器和其他系统结构,但它被拒绝了。它看到的是系统的虚拟镜像。
所以问题的解决方案是使用虚拟机 http://en.wikipedia.org/wiki/Virtual_machine.
您将在其中安装 32 位操作系统并使用 Ollydbg 调试应用程序。就虚拟机而言,我建议VMWare http://www.vmware.com/worldwide.html。您可以使用工作站版本或播放器版本。后者是免费的,但不支持快照。
其他解决方案是虚拟盒 https://www.virtualbox.org/, 并行工作站 http://www.parallels.com/support/workstation/ and 微软虚拟电脑 http://www.microsoft.com/en-US/download/details.aspx?id=3702。
它们的缺点是Virtual Box 不支持硬件断点, 不再支持 Parallels Workstation自 2014 年起,您将获得BSOD http://en.wikipedia.org/wiki/Blue_Screen_of_Death如果您尝试单步执行 FPU 指令。不过我还没有测试过 Virtual PC。
注意:Ollydbg 不支持 x64,但其作者正在开发 x64 版本。 http://www.ollydbg.de/odbg64.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)