查找消息回调函数

今天通过调试ollydbg的F2打cc断点功能来演示如何查找程序的消息回调函数

其实原理很简单,就是利用RegisterClass获取消息回调函数

ollydbg的版本使用的是110

下载地址

1. [官网](http://www.ollydbg.net/download//odbg110.zip)
2. [个人分享](https://wwu.lanzout.com/iMRkc06uq3xe)

使用x64dbg启动调试ollydbg,按F9运行

再谁便找个程序拖入ollydbg调试

转到x64dbg的句柄选项卡,然后右键刷新

可以看到上图窗口部分可以看到窗口的一些信息,如窗口过程(消息回调函数),窗口标题,窗口的类名等等,这些信息都是RegisterClassCreateWindow的参数

我们只需要窗口过程在主模块的消息回调函数,所以先查看主模块的地址,在符号选项卡中找到主模块,右键转到内存布局

从上图可以看出主模块.text的节区地址范围为0x401000~0x4B0000,我们筛选出符合条件的窗口

由于ollydbg的cc断点功能是有快捷键F2触发的,所以我们要在所有窗口过程下按键消息断点

然后在ollydbg按F2下断点,ollydbg卡住,结果x64dbg断在0x0041E604处(如下图所示),看来ollydbg下cc断点的功能就在这个消息回调函数中了

posted @ 2022-06-24 00:08  乘舟凉  阅读(226)  评论(0编辑  收藏  举报