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

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

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

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

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


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


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


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

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