我正在调试一些名为“abex crackme 1”的测验程序
当我在没有调试的情况下执行这个程序时,它会显示一个简单的消息框,上面写着“让我认为你的 HD 是一个 CD-Rom”
单击“确定”按钮后,它可以顺利运行,没有任何问题。
但是当我调试这个程序时,我陷入了无限循环。
程序代码是这样的:首先,它从dll中调用一些函数来初始化一些东西。但我觉得现在已经无所谓了。
并且,它推送一些参数并调用 WinAPI 函数“MessageBox A”(见下文)
当我尝试在 ollydbg 中跳过此 Call 指令时,会弹出一个消息框。当我像我一样点击 OK 按钮时,我无法转义一些代码块(图 2)

我不知道为什么只有在我调试时才会发生这种情况。