【发布时间】:2014-07-31 01:04:12
【问题描述】:
如何使用 ollydbg 为按钮单击设置断点?
我正在尝试禁用游戏客户端上的按钮单击,因此我想设置断点来捕获按钮单击事件。 ollydbg 有可能发生这种情况吗?
【问题讨论】:
-
[This][1] 线程可能包含答案。 [1]:reverseengineering.stackexchange.com/questions/3288/…
标签: ollydbg
如何使用 ollydbg 为按钮单击设置断点?
我正在尝试禁用游戏客户端上的按钮单击,因此我想设置断点来捕获按钮单击事件。 ollydbg 有可能发生这种情况吗?
【问题讨论】:
标签: ollydbg
让应用程序创建窗口和按钮,然后暂停它。
在 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 作为您的条件并运行程序【讨论】:
嗯,取决于, 如果这个程序没有任何类型的保护来防止列出库函数的名称并且不是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º 程序将(可能)在按钮功能返回时中断, 您可能必须回溯以获取代码
玩得开心!
【讨论】: