-
-
[求助]第二章 消息断点
-
发表于: 2012-7-23 16:39 5384
-
反复这个过程”是指Alt+M回到程序代码后,再按F8单步走,会再次回到系统代码里,你再Alt+M,下断点,回到程序代码里。这里好像重复一次,就能来到按钮事件的代码了 (尝试了,达不到书上所讲的位置)
--------------------------------------------------------------------------------------------------------
对check按钮下wm_lbuttonup断点并点击check按钮后,会停在
77D3AFFE > 8BFF mov edi, edi
77D3B000 55 push ebp
77D3B001 8BEC mov ebp, esp
Alt+M 对.text区块下内存访问断点set break on access
;疑问一:内存访问断点=set break on access,
;33页 是set break on access(在访问上设置断点)
;set memory breakpoint on access (设置内存访问断点)
F9运行程序 停在程序的消息循环处
004010D0 . 81EC F4000000 sub esp, 0F4
004010D6 . 56 push esi
004010D7 . 57 push edi
004010D8 . B9 05000000 mov ecx, 5
后面就不太会了.
接着是具体怎么操作?下断点是用set break on access还是set memory breakpoint on access 。
==========================================================
尝试了F8,执行到如下:
0040114C . /0F85 6E010000 jnz 004012C0
接着跳转到:
004012C0 > \5F pop edi ; 0012FAC4; Default case of switch 0040115E
004012C1 . 33C0 xor eax, eax
004012C3 . 5E pop esi
004012C4 . 81C4 F4000000 add esp, 0F4
004012CA . C2 1000 retn 10
执行到:
004012CA . C2 1000 retn 10
接着跳转到:
77D18734 64:8B0D 1800000>mov ecx, dword ptr fs:[18]
77D1873B 80A1 B40F0000 0>and byte ptr [ecx+FB4], 0
77D18742 817C24 04 CDABB>cmp dword ptr [esp+4], DCBAABCD
77D1874A 0F85 607C0200 jnz 77D403B0
77D18750 83C4 08 add esp, 8
77D18753 5B pop ebx
77D18754 5F pop edi
77D18755 5E pop esi
77D18756 5D pop ebp
77D18757 C2 1400 retn 14
接着,“alt+m”,选set memory breakpoint on access (设置内存访问断点),按F9,返回到:
004010D0 . 81EC F4000000 sub esp, 0F4
004010D6 . 56 push esi
004010D7 . 57 push edi
004010D8 . B9 05000000 mov ecx, 5
尝试了N>2次,结果不到不了书上所说的位置。。。
==========================================================
疑问2:
“会再次回到系统代码里”所回到的系统代码里是不确定的吧?如下:
对check按钮下wm_lbuttonup断点并点击check按钮后,会停在
77D3AFFE > 8BFF mov edi, edi
77D3B000 55 push ebp
77D3B001 8BEC mov ebp, esp
不是回到这个位置的吧?
搜索了好久,没找到能解决问题的帖子。。。
到底怎么样操作才能达到书上所讲的位置?。。。
--------------------------------------------------------------------------------------------------------
对check按钮下wm_lbuttonup断点并点击check按钮后,会停在
77D3AFFE > 8BFF mov edi, edi
77D3B000 55 push ebp
77D3B001 8BEC mov ebp, esp
Alt+M 对.text区块下内存访问断点set break on access
;疑问一:内存访问断点=set break on access,
;33页 是set break on access(在访问上设置断点)
;set memory breakpoint on access (设置内存访问断点)
F9运行程序 停在程序的消息循环处
004010D0 . 81EC F4000000 sub esp, 0F4
004010D6 . 56 push esi
004010D7 . 57 push edi
004010D8 . B9 05000000 mov ecx, 5
后面就不太会了.
接着是具体怎么操作?下断点是用set break on access还是set memory breakpoint on access 。
==========================================================
尝试了F8,执行到如下:
0040114C . /0F85 6E010000 jnz 004012C0
接着跳转到:
004012C0 > \5F pop edi ; 0012FAC4; Default case of switch 0040115E
004012C1 . 33C0 xor eax, eax
004012C3 . 5E pop esi
004012C4 . 81C4 F4000000 add esp, 0F4
004012CA . C2 1000 retn 10
执行到:
004012CA . C2 1000 retn 10
接着跳转到:
77D18734 64:8B0D 1800000>mov ecx, dword ptr fs:[18]
77D1873B 80A1 B40F0000 0>and byte ptr [ecx+FB4], 0
77D18742 817C24 04 CDABB>cmp dword ptr [esp+4], DCBAABCD
77D1874A 0F85 607C0200 jnz 77D403B0
77D18750 83C4 08 add esp, 8
77D18753 5B pop ebx
77D18754 5F pop edi
77D18755 5E pop esi
77D18756 5D pop ebp
77D18757 C2 1400 retn 14
接着,“alt+m”,选set memory breakpoint on access (设置内存访问断点),按F9,返回到:
004010D0 . 81EC F4000000 sub esp, 0F4
004010D6 . 56 push esi
004010D7 . 57 push edi
004010D8 . B9 05000000 mov ecx, 5
尝试了N>2次,结果不到不了书上所说的位置。。。
==========================================================
疑问2:
“会再次回到系统代码里”所回到的系统代码里是不确定的吧?如下:
对check按钮下wm_lbuttonup断点并点击check按钮后,会停在
77D3AFFE > 8BFF mov edi, edi
77D3B000 55 push ebp
77D3B001 8BEC mov ebp, esp
不是回到这个位置的吧?
搜索了好久,没找到能解决问题的帖子。。。
到底怎么样操作才能达到书上所讲的位置?。。。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: