OllyDbg捕捉MFC程序按钮事件
生活随笔
收集整理的這篇文章主要介紹了
OllyDbg捕捉MFC程序按钮事件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 首先下消息斷點WM_LBUTTONUP, 或者使用bp TranslateMessage MSG==WM_LBUTTONUP
2.點按鈕會斷在USER32模塊中, ALT+M選擇代碼段F2下斷點,再F9運行, 會看到執行到
0040160A ? .- FF25 E0204000 jmp ? ? dword ptr [<&MFC42.#6374_CWnd::W>; ?MFC42.#6374_CWnd::WindowProc
3. 在這里會比較坑爹, F8進去之后, ALT+M選擇代碼段F2下斷點,再F9運行, 然后反反復復都是差不多這個位置, 最好的辦法是在WindowProc下面找到這句下斷點
00401670 ? .- FF25 24214000 jmp ? ? dword ptr [<&MFC42.#4425_CDialog>; ?MFC42.#4431_CPropertySheet::OnCmdMsg
4.F9運行起來, F8進去之后, ALT+M選擇代碼段F2下斷點,再F9運行,會看到執行到這條語句
00401230 ? . ?B8 E0224000 ? mov ? ? eax, 004022E0
5.單步運行,會到MFC42模塊里, 繼續F8單步,會看到下面有一個call
73D323BA ? ?E8 7F000000 ? ? call ? ?73D3243E
6., 在這里ALT+M,再選擇 代碼段F2下斷點, F9運行,OK! 跳到消息響應處理的代碼里.
00401470 ? . ?6A 00 ? ? ? ? push ? ?0
00401472 ? . ?68 FC304000 ? push ? ?004030FC
00401477 ? . ?68 20304000 ? push ? ?00403020 ? ? ? ? ? ? ? ? ? ? ? ? ; ?ASCII "OnButton1"
0040147C ? . ?E8 37020000 ? call ? ?<jmp.&MFC42.#4224_CWnd::MessageB>
2.點按鈕會斷在USER32模塊中, ALT+M選擇代碼段F2下斷點,再F9運行, 會看到執行到
0040160A ? .- FF25 E0204000 jmp ? ? dword ptr [<&MFC42.#6374_CWnd::W>; ?MFC42.#6374_CWnd::WindowProc
3. 在這里會比較坑爹, F8進去之后, ALT+M選擇代碼段F2下斷點,再F9運行, 然后反反復復都是差不多這個位置, 最好的辦法是在WindowProc下面找到這句下斷點
00401670 ? .- FF25 24214000 jmp ? ? dword ptr [<&MFC42.#4425_CDialog>; ?MFC42.#4431_CPropertySheet::OnCmdMsg
4.F9運行起來, F8進去之后, ALT+M選擇代碼段F2下斷點,再F9運行,會看到執行到這條語句
00401230 ? . ?B8 E0224000 ? mov ? ? eax, 004022E0
5.單步運行,會到MFC42模塊里, 繼續F8單步,會看到下面有一個call
73D323BA ? ?E8 7F000000 ? ? call ? ?73D3243E
6., 在這里ALT+M,再選擇 代碼段F2下斷點, F9運行,OK! 跳到消息響應處理的代碼里.
00401470 ? . ?6A 00 ? ? ? ? push ? ?0
00401472 ? . ?68 FC304000 ? push ? ?004030FC
00401477 ? . ?68 20304000 ? push ? ?00403020 ? ? ? ? ? ? ? ? ? ? ? ? ; ?ASCII "OnButton1"
0040147C ? . ?E8 37020000 ? call ? ?<jmp.&MFC42.#4224_CWnd::MessageB>
00401481 ? . ?C3 ? ? ? ? ? ?retn
---------------------------------------------------------------------------------------------------
只試了VC6.0, 其他版本的程序可能會有區別.
總結
以上是生活随笔為你收集整理的OllyDbg捕捉MFC程序按钮事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tcpdump抓包实例
- 下一篇: FreeBSD挂截U盘和光盘