win32 资源文件-消息断点

首先通过创建资源文件用windows api绘制简单的对话窗口,如下图所示,

win32 资源文件-消息断点
单击 ”OK“ 弹出对话框,单击“ ERROR”弹出对话框按下”确定“后关闭程序

win32 资源文件-消息断点win32 资源文件-消息断点

代码如下:
win32 资源文件-消息断点

win32 资源文件-消息断点

发布Release版,用OD打开,让程序运行起来。

win32 资源文件-消息断点

按“W”并刷新

win32 资源文件-消息断点


在按钮的位置上加上消息断点

win32 资源文件-消息断点

win32 资源文件-消息断点

此时按下“OK”
win32 资源文件-消息断点

此处可见断下来了,由于地址为7打头从而判定为该从dll调用自己写的函数了。

win32 资源文件-消息断点

点击“M”找到内存,在code代码段下内存访问断点,之后回到“C”,F9运行
win32 资源文件-消息断点

由于堆栈的消息类型不是111(即WM_COMMAND),到C后可一路F8跟

win32 资源文件-消息断点

win32 资源文件-消息断点


F8跟发现回到了7开头,之后放开继续F9。此时发现又回到了401000,而且堆栈变成了111

win32 资源文件-消息断点

此时再F8跟就能很容易找到消息处理函数了

win32 资源文件-消息断点