【问题标题】:Execute Till User Code doesn't work执行直到用户代码不起作用
【发布时间】:2013-06-11 23:46:00
【问题描述】:

我正在尝试使用 OllyDbg 的“Execute Till User Code”功能(这对我来说很重要),但它永远不起作用。

我首先在一个名为MessageBoxA 的程序上进行了尝试。当它调用它时,我在调试器中暂停了程序并发出 OllyDbg 执行直到用户代码,但程序仍然暂停并完全冻结。我什至无法单击MessageBox 的确定按钮,甚至无法从OllyDbg 继续。当我太努力让它继续时,它就崩溃了。

所以我决定在 NASM 中编写一个应用程序(以完全控制)并在那里尝试。 MessageBoxA 弹出,我暂停,执行到用户代码,这次我可以按下 OK 按钮,但 OllyDbg 并没有暂停程序。程序就像什么都没发生一样执行。

为什么它不起作用,我能做些什么来解决它?

OllyDbg 1.10(无插件)
Windows 7 Ultimate SP1 64 位

更新:
我尝试使用 OllyDbg 2.0,但由于某种原因,“执行直到用户代码”按钮被完全禁用。

【问题讨论】:

标签: windows debugging reverse-engineering ollydbg


【解决方案1】:

我在学习 Lena 的教程 #4 时遇到了同样的问题,我想我已经解决了。当我按 Alt+F9 到“执行直到用户代码”时,我注意到线程窗口 (Alt+T) 中除了一个线程之外的所有线程都设置了挂起标志。显然,Alt+F9 只恢复一个线程。幸运的是,OllyDbg 可以通过右键单击其他线程并选择“恢复”(或使用 + 键)手动恢复其他线程。对我来说,这足以解冻对话框并让 OllyDbg 在调用 MessageBoxA 后立即暂停。

【讨论】:

  • 这帮助了我。谢谢!
  • 无论我在 x32dbg 中做什么都行不通,win10 x64
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
  • 1970-01-01
  • 2011-02-19
  • 1970-01-01
  • 2014-01-25
  • 1970-01-01
相关资源
最近更新 更多