【问题标题】:How can I set a breakpoint for a button click using ollydbg?如何使用 ollydbg 为按钮单击设置断点?
【发布时间】:2014-07-31 01:04:12
【问题描述】:

如何使用 ollydbg 为按钮单击设置断点?

我正在尝试禁用游戏客户端上的按钮单击,因此我想设置断点来捕获按钮单击事件。 ollydbg 有可能发生这种情况吗?

【问题讨论】:

标签: ollydbg


【解决方案1】:

让应用程序创建窗口和按钮,然后暂停它。

在 ollyDBG 1 中:

  • 转至view > windows
  • 选择您的按钮。
  • 右键单击并选择Message breakpoint on ClassProc
  • Messages: 中选择202 WM LBUTTONUP
  • 选择Break on all windows with same title
  • 选择Pause program: On message
  • 选择Log WinProc arguments: Never

在 ollyDBG 1 或 2 中:

  • 转至view > windows
  • 选择您的按钮。
  • 右键单击并选择Conditional breakpoint... Shift+F2
  • 键入[ESP+8]==WM_LBUTTONUP 作为您的条件并运行程序

【讨论】:

    【解决方案2】:

    嗯,取决于, 如果这个程序没有任何类型的保护来防止列出库函数的名称并且不是java,那么它实际上很简单。

    方法 A(更好的方法)

    1º开始调试进程并让它加载

    2º 如果使用 User32.dll,请查看程序导入 (可能不直接)

    3º 转到 OllyDbg 并使用 Ctrol+N 转到 Names(使用此作为指南 http://www.ollydbg.de/quickst.htm)

    4º 按名称排序并键入 RegisterClass**(这将是一个导出)

    5º 使用 F2 在所有这些名称上设置断点

    6º 点击按钮

    7º 你会中断消息处理,你需要向前一点

    就是这样

    方法B(懒惰的方法,成功的机会少)

    1º开始调试程序,按F9让它正常运行

    2º让程序和olly最大化并在前面

    3º 暂停程序然后单击 ALT+F9 或 CTROL+F9

    4º 点击按钮,希望休息一下

    5º 程序将(可能)在按钮功能返回时中断, 您可能必须回溯以获取代码

    玩得开心!

    【讨论】:

      猜你喜欢
      • 2011-12-03
      • 2011-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      相关资源
      最近更新 更多