我不要做断点什么意思_[原创]断点-你需要了解的一切(六)-消息断点

原理:windows是基于消息的操作系统,每一个消息都按照相同的格式被写入一个结构体,这个结构体叫MSG。消息发生后windows把该结构体传给WinProc函数,用它来执行消息处理功能。每一个窗口有不同控件,一个窗口至少一个消息循环。

如何设置消息断点:

先把程序运行起来,让软件的主界面显示出来。打开感兴趣的窗口。

7bbc1c5a99017dce57fe4e292042a7a1.png

输入假码后不要点击回车,保持现状;

d6d593a861c5fd6c79c3f677b1a2a6a4.png

接着来到点击W窗口,里面什么都没有

b87a8e7e69f93053d75cab309abee346.png

刷新一下;

5396b274740f2a46fae6a9d080a15e23.png

我们看到第二行,内容为验证用户名和序列号,这和按钮上的文字相同,而且它的类是Button也就是按钮,可见这里是按钮控件了。选中它-右击-设置消息断点、

6388de00517ac7c08836ea320d936538.png

消息一栏选中202 WM_LBUTTONUP在按钮上抬起鼠标左键。按钮控件上发生鼠标右键抬起事件时就断下。因为单击包括两个操作,一个是鼠标左键按下,另一个是鼠标左键抬起。

暂停程度:选择按消息  记录winproc参数:选择按消息

949efac0557a4d63e414c227494ddd0a.png

单击确定按钮,断在WinProc函数段首,即窗口过程函数,堆栈窗口里参数显示:Message参数里就是202,如图。

0cabe0c39cb0d8519a794644690f8648.png

然后在程序领空的.text代码段设置访问断点,f9后就到了程序领空,注:下内存断点和alt+f9比,返回后细节更多更细致,粗略的分析时用alt+f9

如何给消息断点添加记录功能:如果我们对

WinProc

函数的Message参数感兴趣,想让程序记录我们干了什么。,那么我们可以来到B窗口,右击消息断点,设置条件断点, 然后。。。这样发生的所有事件都会被记录下来

到这里我发现,消息断点本质是一个在

WinProc

函数段首设置的,判断{esp+8}==202,即第二参数是否等于WM_LBUTTONUP的条件断点。注:Esp指向返回地址,Esp+4指向第一个参数,esp+8指向第二个参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值