仙四基址查找,云天河为例
本帖最后由 L、梦 于 2011-11-2 20:45 编辑今天突然很想玩仙剑4,顺便看看能不能做修改器。打开ce,找到的居然是数组,唉,蛋疼的程序员……
找了半天,我突然醒悟,ce是找不到的……
祭出大杀器od,小样的还不是搞定。将过程发出来,抛砖引玉。
以云天河为例
首先查找动态血量基址,我找到的是7eb490b0,查找写入改地址的代码
0043fdc5 - 89 bc 9e cc 00 00 00 - mov ,edi
蛋疼的程序员……
下面打开od,定位到地址0043fdc5,可以看到写入的地址是esi+7*4+000000cc
往上走,找esi
0043FDAE .8DB1 54010000 LEA ESI,DWORD PTR DS: //esi=ecx+154
接着往上走找ecx
0043FD90 .51 PUSH ECX //到函数头了,说明ecx来自上层call,在这里下断来到0043ed2a
继续往上看 mov ecx,ebx //ecx=ebx
现在找ebx
0043ECC4 .8BD9 MOV EBX,ECX //ebx=ecx
继续找ecx,上去一点是函数头了,说明ecx来自上层call,在头部下断来到
0045189B|.8D9E 54060000 LEA EBX,DWORD PTR DS:
004518A1|.8BCB MOV ECX,EBX //ecx=ebx=esi+654
那么现在要找esi
004517E6|.8BF0 MOV ESI,EAX //esi=eax
eax的值一般都是函数的返回值,现在就看前面的几个call了
我找到的是这个call004517D3|> \E8 B8EEFEFF CALL PAL4.00440690 //f8跟进去
呵呵,马上就可以看到eax了:
004406CA|> \A1 28148E00 MOV EAX,DWORD PTR DS:
云天河的血量基址:+654+154+7*4+0cc=+890
其它的就不用我说了吧……
下面找韩凌纱的数据,还是先找动态的地址,我找到的是7EB49BC4,呵呵正好等于云天河的7eb490b0+b14,
那么数组长度就是b14,
云天河的血量基址:8e1428]+890+0*b14
等级:+884+0*b14
当前经验:+888+0*b14
精:+890+0*b14
最大精:+7ac+0*b14
气:+894+0*b14
神:+898+0*b14
最大神:+7b4+0*b14
武:+668+0*b14
防:+66c+0*b14
速:+670+0*b14
运:+674+0*b14
灵:+678+0*b14
韩凌纱的血量基址:8e1428]+890+1*b14
……
后面的以此类推
将人物锁定为奔跑状态,仙剑4中人物有3中走路状态,慢走、快走、奔跑,分别由0、1、2表示,经过查找可以到看到
00427dd4 - 89 41 28 - mov ,eax
用od附加
00427DD4 8941 28 MOV DWORD PTR DS:,EAX //eax=0,1,2人物3种状态
看看下面的代码,右边的注释,case2,case1,case0
MOV DWORD PTR DS:,EAX //将eax改为2就可以锁定人物为奔跑了
呵呵,挺喜欢仙剑这游戏的 本帖最后由 L、梦 于 2011-11-2 20:48 编辑
那个,先说明,这是转的,只是稍作修改,谢谢我爱秘籍的liming2345 很牛嘛~~~~~~ 没人要啊,看来 谢谢楼主分享! 要学汇编了吗。 :dizzy:现在CE和VE被封杀了,被砍了一只手了
页:
[1]