首页
社区
课程
招聘
大家好,我想请教一个调试跟踪的问题!~
2005-12-11 20:41 4167

大家好,我想请教一个调试跟踪的问题!~

2005-12-11 20:41
4167
在语句: mov eax, dword ptr [esi+4*ecx-0C] 中,[esi+4*ecx-0C]地址是动态的,每次都不一样,现在我想要用SOFTICE跟踪它里面的数据是从哪里来,我在该句上下断点,断下后,能看到[esi+4*ecx-0C]是从一个地址来的,但是我想要跟踪这个地址上的数据来源,却怎么也跟不了,因为这个地址是动态的,每次都不一样,我该怎么做才能跟得下去呢?

[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

收藏
免费 0
打赏
分享
最新回复 (9)
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Leaders 2005-12-11 23:32
2
0
这许多的大侠看了怎么也不帮帮我呢?^^
雪    币: 238
活跃值: (326)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
gzgzlxg 11 2005-12-12 04:12
3
0
没头没脑的一句,无上下文,所以只能瞎猜。
这可能是一个跳转表,即case语句产生的,esi或esi-0C指向该表的起始地址。你那每次都不一样,应该是ecx不一样,esi应该是不变的。
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Leaders 2005-12-14 01:28
4
0
最初由 gzgzlxg 发布
没头没脑的一句,无上下文,所以只能瞎猜。
这可能是一个跳转表,即case语句产生的,esi或esi-0C指向该表的起始地址。你那每次都不一样,应该是ecx不一样,esi应该是不变的。


我这个语句只是举个例子,ESI是不变的,但是ecx的值是每次都不同,所以[esi+4*ecx-0C]所指向的值也是不一样,那我怎么才能跟踪分析这个动态地址上的数据呢?
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Leaders 2005-12-14 01:30
5
0
如果是全局变量的话,我用BPM可以跟进,但动态的,我就不会做了。
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
快雪时晴 4 2005-12-14 02:24
6
0
最初由 Leaders 发布
在语句: mov eax, dword ptr [esi+4*ecx-0C] 中,[esi+4*ecx-0C]地址是动态的,每次都不一样,现在我想要用SOFTICE跟踪它里面的数据是从哪里来,我在该句上下断点,断下后,能看到[esi+4*ecx-0C]是从一个地址来的,但是我想要跟踪这个地址上的数据来源,却怎么也跟不了,因为这个地址是动态的,每次都不一样,我该怎么做才能跟得下去呢?


很像VB P-CODE程序哦
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Leaders 2005-12-14 15:21
7
0
不是VB程序哦,是VC的。
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Leaders 2005-12-14 15:23
8
0
一直跟到这就跟不下去了,对这句下断点,基本上没一次地址是一样的!
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Leaders 2005-12-14 21:14
9
0
还是没有人帮我啊。。。。。。
雪    币: 35386
活跃值: (19270)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2005-12-14 21:46
10
0
最初由 Leaders 发布
还是没有人帮我啊。。。。。。


gzgzlxg都说了,[esi+4*ecx-0C]指向一个表

esi基址不变,ecx类似一个指针。
这样,当ecx值不同,mov eax, dword ptr [esi+4*ecx-0C] 就从不同地址取值。
你要得到数据来源,事先得对 [esi+4*ecx-0C] 跳转数据表搞清楚,将地址确定好,然后设内存断点。
游客
登录 | 注册 方可回帖
返回