首页
社区
课程
招聘
[求助]如何调试一个图形界面?从而获知其功能?
发表于: 2007-1-26 00:26 4273

[求助]如何调试一个图形界面?从而获知其功能?

2007-1-26 00:26
4273
我想调试一个游戏,看看它各块都有些什么功能,如何计算等
但是其如何调用api看不出来(断不下来)

这个游戏是个图形界面的,游戏启动时还好断(暴力了它的第一个功能:必须通过另外一个PATCH启动),运行后就全部是3D图形了,就是说它的文本输入框、按钮等好像都是哪个支持库自带的,OD里面都找不到相关的信息

这样的程序该如何调试?请各位大大指教。

由于该游戏太大就不传了,名字叫(完   美   世   界   国   际  版)

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 457
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
还有,这段代码:

0041135A  |> \8D045B        lea     eax, dword ptr ds:[ebx+ebx*2]
0041135D  |.  8B4CC6 04     mov     ecx, dword ptr ds:[esi+eax*8+4]
00411361  |.  8D44C6 04     lea     eax, dword ptr ds:[esi+eax*8+4]
00411365  |.  3BCA          cmp     ecx, eax
00411367  |.  74 22         je      short elementc.0041138B

这是不是摆明了非跳不可?

这段代码应该如何理解?
2007-1-26 02:25
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
3
最初由 helinze 发布
还有,这段代码:

0041135A |> \8D045B lea eax, dword ptr ds:[ebx+ebx*2]
0041135D |. 8B4CC6 04 mov ecx, dword ptr ds:[esi+eax*8+4]
00411361 |. 8D44C6 04 lea eax, dword ptr ds:[esi+eax*8+4]
........

你可以将他们想象成一个杯子,杯子里又装着水。
第一个操作mov ecx,dword ptr ds:[esi+eax*8+4]是将装有水的杯子里从杯子倒出来水来放到左手上。第二个操作lea eax,dword ptr ds:[esi+eax*8+4]是将装着水的那个杯子直接将杯子拿在右手里。左手是拿着水,右手是拿着杯子,他们的操作又怎会相同呢。
2007-1-26 11:19
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
4
当然,如果那个杯子装着的是他自己(电脑里可以这样做,在现实生活中可不能将自己装在自己里 )那么他们的结果就会相同了(但操作还是不一样),下面的比较就一定会跳了。
2007-1-26 11:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主你用OD去调试3D大型游戏???我的天....有创意更有勇气..~

lea指令可以看成等价于add指令,只是速度比它更快,而且由于它不占用ALU.可以并发执行,所以是一条很爽的指令.
2007-1-26 13:12
0
雪    币: 457
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
呵呵,太深奥了

我调试了一下,把这个游戏必须通过另外一个更新、检查程序启动功能跳过了,
也就实现了双开。

关于上面这段代码,我实在不明白他的用意?

如果一定会跳到某处,为什么不直接跳,还要做个一定相同的比较才跳
2007-1-27 15:54
0
雪    币: 457
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 小虾 发布
你可以将他们想象成一个杯子,杯子里又装着水。
第一个操作mov ecx,dword ptr ds:[esi+eax*8+4]是将装有水的杯子里从杯子倒出来水来放到左手上。第二个操作lea eax,dword ptr ds:[esi+eax*8+4]是将装着水的那个杯子直接将杯子拿在右手里。左手是拿着水,右手是拿着杯子,他们的操作又怎会相同呢。


感谢回复,我又学到了LEA 和 MOV的不同地方

您的解释很客观,很容易理解
谢谢您:)
2007-1-27 15:55
0
雪    币: 457
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 指令CC 发布
楼主你用OD去调试3D大型游戏???我的天....有创意更有勇气..~

lea指令可以看成等价于add指令,只是速度比它更快,而且由于它不占用ALU.可以并发执行,所以是一条很爽的指令.


原来如此!!
感谢回复

我的第一个目标是做外   挂!哈哈
一步一步实现吧!目前能看一小部分代码了!(我是真菜鸟)

暴力破解了检查限制,实现了双开(我得意了一天,哈哈)

如果您有时间的话,可以指点我啊,我会很乐意学习的!
2007-1-27 15:58
0
游客
登录 | 注册 方可回帖
返回
//