忆杰的博客

忆杰的博客

各种程序的按钮事件

按钮事件找法

MFC程序:

方法1:

OD命令:bp TranslateMessage MSG==WM_LBUTTONUP

点击按钮以后就断在CALL 到 TranslateMessage函数. 这时候按Ctrl+F9执行到返回,回到USER32领空

77D274F4    E8 FD16FFFF     CALL USER32.TranslateMessage

77D274F9    56              PUSH ESI                                 ; MfcTest.0040306C
77D274FA    E8 0215FFFF     CALL USER32.DispatchMessageW
77D274FF    5B              POP EBX

按F7,进入DispatchMessageW

此时按下Alt+M,打开Memory map窗口,在.text按F2下断,F9运行,离开主程序领空后,立刻又在.text按F2下断,F9运行, 连续几次, 就可以定位到按钮事件处理位置了.

方法2:

OD载入后.ALT+E,来到可执行模块,找MFC的核心DLL:MFC42
然后就双击进去
然后就CTRL+F,查找特征代码:sub eax,0a
找到后,就在下面的je处跟随,跟随后看到的CALL,就是那个关键CALL了!下断
断下后F7跟进,F8几次,就会来到按纽事件代码处了!
(都是复制的,汗)

发表评论


Warning: Undefined variable $user_ID in /www/wwwroot/joenchen.com/wp-content/themes/agan/comments.php on line 66

您必须登录 才能进行评论。