gaofeng 发表于 2011-3-14 09:43:04

OD全程-天龙八部找地图名基址

演示课目:天龙八部找地图名基址
演示方法:CE+全程OD
演示作者: 论坛ID:丹哥
演示时间:一课时
游戏版本:天龙八部.00.1701
演示目的:通过本视频的演示,使广大朋友们熟悉使用CE+全程OD来分析游戏,回溯基址。
特别鸣谢:郁金香老师,重楼,清风
演示实施:
1.先登陆游戏,打开CE 附加游戏进程
2.查看当前地图名:无量山, 我们用CE的文本类型来搜索
3.切换地图后,当前地图名:大理 再用CE来搜索 大理
4.切换地图,再次搜索当前地图名
5.出现一个内存地址,C98 CE到此为止
6.开始转入到OD进行全程分析 注:开始我是用的郁金香老师发的那个OD版本,但是跳转到游戏领空后发现代码有问题,好难进行跟踪,所以换成一个原始的版
本,当然并不是说OD不行,可能是那个OD版本在哪个地方进行了设置,当时也不知道要在哪里修改,所以就直接用这一个版本了,这个问题说明,大家如果出现
找不出来,可以尝试换一个工具,或是换一种方法来进行查找,在找基址这个问题上,没有什么一个固定的方法,方法有很多种,关键看大家要怎么去灵活运行
了。
7.进OD附加游戏进程, F9运行后,用HW 09318C98 开始下硬件写入断点,用别的内存断点也可以
8.跳转到游戏领空 用ALT+F9 或CTRL+F9 都可以,具体是什么原因,大家可以看一下看雪的加密解密第三版的电子书
9.跳到游戏领空后,当前的代码是mov   eax, dword ptr    
10.CTRL+A 进行游戏分析,显示游戏内的函数,然后用OD来找ESI的来源,
11.上面这一条mov   esi, ecx说明 ESI=ECX 现在找ECX 我们这个函数内没有看到有什么对ECX赋值,现在回溯到上一级CALL中看一下
12.转到上一级后,依然没有看到有什么对ECX赋值,接着回溯 注,函数头下断,进游戏更换地图,断下后,如果函数头没有跳转,就从堆栈中返回
13.来到上级函数里,从下往上找mov   ecx, dword ptr 找到了 现在来找ESI的来源
14.mov   esi, ecx 再找ECX这一级函数里没有给ECX赋值的语句,再回溯到上一层
15.mov   ecx, dword ptr 感觉像是基址了,现在我们用CE来进行验证
16.先整理一下[+50]
17现在对比一下,可以正常显示的地址是C98 用的地址是 c38 这个地址和开始的地址正好相差偏移而我们开始找出来的第一个是
+50,所以我们用+60 这个偏移来完成
加密与解密第三版

希望对大家有帮助
**** Hidden Message *****

丶麒麟 发表于 2015-4-10 20:57:00

不管东西咋样 还是先谢谢了

253437019 发表于 2015-5-22 16:00:26

11111111111111111111111111111

hy22008 发表于 2015-5-25 21:29:28

谢谢分享,看看

lindong123 发表于 2015-6-4 21:33:49

学习学习椅子啊学习学习椅子啊

825986232 发表于 2015-6-8 17:25:46

风飒飒大法师打发似的v

c799330775 发表于 2015-6-29 17:19:40

学习一下!!

wq880212 发表于 2015-7-6 08:48:48

回复 1# gaofeng


    顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

wznc 发表于 2015-8-20 09:50:15

回复 1# gaofeng


    Thank you very much

a850781124 发表于 2015-8-20 11:51:35

看看啊啊啊啊啊啊
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: OD全程-天龙八部找地图名基址