在调试比较复杂的Win32程序时,要找到窗口过程并不容易,OD提供了两个工具:消息断点和内存断点,善用这两个工具可以大大提高调试的效率。
消息断点是给指定的消息设置断点,本质还是条件断点;内存断点有访问断点和修改断点,本文使用的是访问断点。
下面是详细步骤。
示例程序
现在有一个模拟登录的程序,效果图如下:
输入正确的账号和密码会提示成功,否则提示错误,现在并不知道账号密码。
破解步骤
只要找到点击按钮的窗口函数,就能看到账号密码了。对于简单的程序,可以从WinMain开始跟,不过这样效率低,要善用工具。
首先用OD打开程序,F9执行,让界面跑起来
点击W窗口,可以枚举出所有窗口
第一次进来是空白的,右键点击actualize,窗口就枚举出来了
<