-
-
这种情况下我该如何跟下去?
-
发表于:
2006-3-14 16:20
3711
-
有这样一段代码片段:
360066FB C1E9 02 shr ecx, 2
360066FE 57 push edi
360066FF 8D7C18 5D lea edi, [eax+ebx+5D]
36006703 8BF5 mov esi, ebp
36006705 F3:A5 rep movs dword ptr es:[edi], dword ptr [esi]
我是想看一下[ESI]中的数据是如何产生的,一般情况下,我是对[ESI]这里下个内存写入中断,看什么时候写它,断下后往上去找的。
但,这里这个ESI的值是不断变化的,这种情况下,我该怎么去追呢?
例如:
我对mov esi,ebp下断,
第一次断下得到:
ebp=117E4520
esi=117E4520
第二次断下得到:
ebp=11C78EC0
esi=11C78EC0
第二次断下得到:
ebp=10BF0D60
esi=10BF0D60
那么,
rep movs dword ptr es:[edi], dword ptr [esi]
这里memcpy(edi,esi,ecx),这里的[ESI]的值是如何产生的,我不可能对第一次断下的ESI的内存地址下内存写入中断,因为第二次数据不在那个地址里了,无法断下,所以小鸟我想知道要如何去下断或如何去跟踪,希望大侠们请教一下。
[课程]Linux pwn 探索篇!