消息断点+内存断点定位窗口过程

本文介绍了如何利用OD调试器中的消息断点和内存断点来高效地定位Win32程序中的窗口过程。通过设置消息断点在特定鼠标事件上,结合内存访问断点,可以跟踪到处理按钮点击的窗口过程,从而揭示账号密码验证逻辑。在调试过程中,发现了账号长度需为3,密码长度需为5才能通过校验的条件。

在调试比较复杂的Win32程序时,要找到窗口过程并不容易,OD提供了两个工具:消息断点和内存断点,善用这两个工具可以大大提高调试的效率。
消息断点是给指定的消息设置断点,本质还是条件断点;内存断点有访问断点和修改断点,本文使用的是访问断点。
下面是详细步骤。

示例程序

现在有一个模拟登录的程序,效果图如下:
在这里插入图片描述
输入正确的账号和密码会提示成功,否则提示错误,现在并不知道账号密码。
在这里插入图片描述

破解步骤

只要找到点击按钮的窗口函数,就能看到账号密码了。对于简单的程序,可以从WinMain开始跟,不过这样效率低,要善用工具。

首先用OD打开程序,F9执行,让界面跑起来
在这里插入图片描述
点击W窗口,可以枚举出所有窗口
在这里插入图片描述

第一次进来是空白的,右键点击actualize,窗口就枚举出来了
在这里插入图片描述

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值