Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/debugging/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging Ollydbg 1.10“;“返回用户模式”;不';行不通_Debugging_Reverse Engineering_Reverse_Ollydbg - Fatal编程技术网

Debugging Ollydbg 1.10“;“返回用户模式”;不';行不通

Debugging Ollydbg 1.10“;“返回用户模式”;不';行不通,debugging,reverse-engineering,reverse,ollydbg,Debugging,Reverse Engineering,Reverse,Ollydbg,当一些麻烦出现时,我试图学习。 我用ollyDbg开始Pixtopian Book,然后尝试使用MessageBox,其中包含关于注册版本的消息。 然后我切换到OllyDbg,停止程序执行,按“Alt+F9”返回用户模式,在退出DLL后停止程序 但是在这个程序不起作用之后,它就被冻结了,对我的行为没有反应。 如果我关闭“返回用户模式”程序正常工作 有什么问题吗?我可以尝试在IDA(使用WinDbg)或其他调试器中使用“返回到用户模式”吗?我如何做到这一点?我可以在OllyDbg中修复它的功能吗

当一些麻烦出现时,我试图学习。 我用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是在模拟模式下运行的。作为调试器,它需要访问寄存器和其他系统结构,但被拒绝。它所能看到的是系统的虚拟映像

因此,问题的解决方案是使用

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

其他解决方案有。 它们的缺点是,虚拟盒不支持硬件断点自2014年起不再支持并行工作站,此外,如果尝试单步执行FPU指令,您将得到一个。我还没有测试过虚拟PC


我刚刚彻底了解了pixtopian文件。当我下载 那篇教程我只得到了文件
pixtopian107.exe
。因为它与教程不一致,我进一步研究了它。该文件是一个安装文件。它会生成一个常规的
pixtopian.exe
文件,该文件就是您希望播放的文件。 我还注意到,在运行该文件时,它从未进入主模块。 这是因为TLS回调。现在我正在努力学习如何 为了克服这一点,我首先来到了这个网站。 我正在非常有效地使用ollydbg vs2.01e


另外,在VS2.01e中,我仍在尝试保存更改的数据。在成功之前,我将使用十六进制编辑器记录exe文件中的更改。

我刚刚学习了如何更新对ollydby v 2.01e的exe文件的更改。
假设我希望将jl命令更改为jmp;为此,请单击可执行模块按钮,选择文件并右键单击以查看文件。然后记录更改并保存文件。保存的文件还有一个备份,以防出现问题。

根据我的经验,我可以看出此功能在Windows 7上不起作用

在Windows 7上,64位-->根本不起作用。 在Windows 7上,32位-->将部分工作,但仅当在OllyDbg中使用选项“文件>附加”时


对我来说,最好的解决方案是使用Windows XP 32位,然后它工作正常。

转到“模块”窗口,将适当的dll标记为系统dll。请参阅问题OK,让我试试教程,我会通知您程序。我刚试过教程,但在我的情况下,
执行直到用户代码
工作正常。让我看看在哪些情况下这无法工作。您可以尝试的最新版本,看看问题是否仍然存在,我希望您正在32位平台上运行此功能