首页 > Windows开发 > 详细

学习:API断点和条件记录断点和内存断点的配合

时间:2019-12-20 01:26:14      阅读:101      评论:0      收藏:0      [点我收藏+]

前言:感觉可能与之前有点相同,主要是介绍shark恒老师说的一种断点方法,结合了API和条件记录进行下断点

适用条件:当我们利用简单的WINDOWS API函数如MessageBoxW/A 又或者获取文本框内容GetDlgItemText,但是我们发现点击按钮依然无法成功断点,我们可以尝试另外一种方法TranslateMessage

TranslateMessage:用于将虚拟键消息转换为字符消息,字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出

1、先运行程序,然后输出相应的数值,别点确定,然后再去OD中Ctrl+N 进行搜索找到TranslateMessage这个windows api函数进行断点操作,会发现瞬间就被断了下来,原因是TranslateMessage,一直在监视着消息,一旦有消息产生就会被发送,所以我们在断下的点进行条件记录断点

技术分享图片

2、我们进行条件记录断点,MSG为202的,就是当我们左键释放之后的消息才会被断点,此时继续运行就可以输入假码了,然后点击确定按钮,成功被断下点来,返回ALT+F9来到程序的领空
技术分享图片

3、然后我们继续打开内存窗口,查找我们输入的数据,因为程序都是在内存中运行的,那么数据也会在内存中保存
技术分享图片

4、我输入的123456789,然后进行搜索,当数据多的时候,我们可以进行检验Ctrl+B进行查看有没有重复
技术分享图片

5、然后对这个数据的内存地址进行设置内存断点,然后我们再运行程序,程序继续被断了下来,断下来的地方就是123456789数值被访问的时候的地方
技术分享图片

6、继续跟踪11111111的数据的存储地址,把之前的内存断点取消,然后再数据窗口重新设置内存断点
技术分享图片

7、再来到一个地址,同时真码也已经找到了
技术分享图片
技术分享图片

学习:API断点和条件记录断点和内存断点的配合

原文:https://www.cnblogs.com/zpchcbd/p/12070746.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!