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
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