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

use*_*506 7 ollydbg

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

我试图禁用游戏客户端上的按钮单击,所以我想设置断点来捕捉按钮单击事件.ollydbg可能会发生这种情况吗?

Ami*_*mir 6

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

在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您的条件并运行程序


Oll*_*egn 2

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

\n\n

方法A(更好的方法)

\n\n
\n

1\xc2\xba 开始调试进程并让它加载

\n\n

2\xc2\xba 查找程序导入中是否使用 User32.dll\n (可能不直接使用)

\n\n

3\xc2\xba 转到 OllyDbg 并使用 Ctrol+N 转到名称(使用此作为指南\n http://www.ollydbg.de/quickst.htm

\n\n

4\xc2\xba 按名称排序并输入 RegisterClass** (这将是导出)

\n\n

5\xc2\xba 使用 F2 在所有这些名称上放置断点

\n\n

6\xc2\xba 点击按钮

\n
\n\n

7\xc2\xba 你会中断消息处理,你需要向前迈一点

\n\n

就是这样

\n\n

方法B(懒惰方法,成功机会较小)

\n\n
\n

1\xc2\xba 开始调试程序并让其正常运行按F9

\n\n

2\xc2\xba 让程序和olly最大化并且在前面

\n\n

3\xc2\xba 暂停程序然后单击 ALT+F9 或 CTROL+F9

\n\n

4\xc2\xba 单击按钮并希望休息一下

\n\n

5\xc2\xba 程序将(可能)在按钮函数返回时中断,\n 您可能必须回溯才能获取代码

\n
\n\n

玩得开心!

\n