这是 call 的参数和调用
00E8E6EB | 53 | push ebx |
00E8E6EC | 55 | push ebp |
00E8E6ED | 50 | push eax |
00E8E6EE | 51 | push ecx |
00E8E6EF | 52 | push edx |
00E8E6F0 | 8BCF | mov ecx,edi | edi:&"0帴"
00E8E6F2 | E8 D9E9FFFF | call xxxx.E8D0D0 |
call xxxx.E8D0D0 内部:
00E8D0D0 | 6A FF | push FFFFFFFF |
00E8D0D2 | 68 A8F31901 | push xajh.119F3A8 | 119F3A8:&"岅_?┾??"
00E8D0D7 | 64:A1 00000000 | mov eax,dword ptr fs:[0] |
00E8D0DD | 50 | push eax |
00E8D0DE | 64:8925 00000000 | mov dword ptr fs:[0],esp |
00E8D0E5 | 51 | push ecx |
00E8D0E6 | 56 | push esi |
00E8D0E7 | 8B7424 18 | mov esi,dword ptr ss:[esp+18] |
00E8D0EB | 57 | push edi |
....
....
....
00E8D168 | 57 | push edi |
00E8D169 | 51 | push ecx |
00E8D16A | 8B4E 0C | mov ecx,dword ptr ds:[esi+C] |
00E8D16D | 034C24 10 | add ecx,dword ptr ss:[esp+10] |
如果我想知道 00E8D16D 地址处的 [esp+10] 这个临时变量是被哪句代码写入的,应该如何操作?
这个 call 会断下的很频繁,我想根据 call 的参数来在头部下一个条件断点过滤其他调用,在头部断下后再对[esp+10] 这个地址下一硬件写入断点来找到写入的代码,但这个 call 很难捕获到我需要的特定调用参数。
有什么好的办法能判断 [esp+10] 是上面哪句代码写入的吗?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课