首先说说走路CALL的基本思想:
我们在窗口里点击某个二维坐标,游戏把它换算为三维坐标,然后游戏把算出的目的地坐标保存在一个临时的变量里,
并将这个地址以参数形式传递给走路函数,然后人物就会走动起来,大概就是这么一个过程。
这里的临时变量在重新选择人物前一般不会改变,所以我们可以利用这个特点,先用CE找到鼠标点击目的地的坐标地址,
然后用OD就可以找出我们需要的走路CALL地址了。
下面开始找CALL之旅,首先启动游戏,选择人物完全进入游戏,然后启动CE,CE加载游戏进程。
我们先在游戏里随便点一下一个比较近的地面,人物跑到目的地后,就不要动了,
用CE搜索这个数,用X坐标或Y坐标都可以,但是后面都要用同一种坐标,不可以变。
游戏里我走到了这个坐标,X:504 Y:665 ,在CE里设置搜索类型为Float ,就是浮点数型,搜索504这个值,
可能时间会比较长,慢慢等待CE搜索完成。家里电脑不行,我去倒杯水喝。。。
终于搜索完成,结果很多,要继续搜索。
游戏里,我再点一下,人物走到坐标,X:494 Y:664 ,在CE里继续搜索 494 ,
不要点New Scan啊,要点 Next Scan 。这下很快就搜索完成了,结果大概230多个。还是太多,继续搜索。
我在游戏里走到坐标,X:491 ,Y:656 ,在CE里继续搜索 491 ,如果结果还是太多,
那么在搜索类型那里换一个搜索方式,我们用没有改变的数值(Unchanged Value)来搜索,点一下Next Scan ,结果大概只有100个左右了,
还是有点多,怎么办,凉拌,呵呵。方法还是有的,在游戏里转动一下视角,注意是转动视角,而不是走路。
再次用没有改变的数值(Unchanged Value) 多搜索几次,尽量降结果控制在30个以下。
好了,当你觉得结果可以很快浏览完的时候,也就是大概30个以下的时候,开始关键的一步搜索。
切换到游戏,我们点击一个比较远的地面,可以让人物跑很久的点,人物开始跑以后,
我们切回到CE观察,此时会有几个或者更多的和其他坐标不同的坐标,这些坐标是固定的,
而其它坐标是慢慢减小或变大的,我们需要的就是这几个固定的坐标地址。
把那些固定不变的地址全部双击添加到地址列表。
右键一个个的点击这些地址,选择 找出什么和这个地址有关(Find out what accesses this address),
然后在游戏里随便走动下,就会在CE里出现目的地地址有关的代码,既然我们搜索的目的地地址,是Float 单精度型,
那么在汇编里,肯定和Fld 指令有关,我们只要看有没有这个指令就可以了。
找第一个地址 593D750 ,发现出现的地址形式是
根据经验,确定这个是我们要找的修改了鼠标点击目的地地址的地方。
那么,记下这个地址 47847E (对应 mov [esi+20],edx)
下面就该OD出场了。开OD前,先关掉CE。
打开OD,附加进程 elementclient.exe 。
附加完毕,按F9 ,让游戏继续运行。
点到代码区,Ctrl + G ,输入地址 47847E,如果发现没有跳转到 47847E ,再Ctrl + G,再输入47847E 确定就可以了。
确定后,OD会自动的停在这一行
0047847E 8956 20 MOV DWORD PTR DS:[ESI+20],EDX
注意后面 MOV DWORD PTR DS:[ESI+20],EDX 这个就是我们那个用CE搜索出来的代码,在不同的工具里,显示会有些不一样,
不过没关系,不影响我们找CALL。F2 下断这个地址,在游戏里点一下地面 ,OD会断下来,这个时候,我们按Ctrl + F9 和 F8 ,
再按一次Ctrl + F9 和F8 ,到这里,走路CALL就在所指示行上面了。有经验的人,一看就会知道。
0046CCE6 8B7C24 10 MOV EDI,DWORD PTR SS:[ESP+10]
0046CCEA 6A 01 PUSH 1
0046CCEC 8B8F 000A0000 MOV ECX,DWORD PTR DS:[EDI+A00]
0046CCF2 E8 C96F0000 CALL ElementC.00473CC0 //CALL 1
0046CCF7 8D4C24 50 LEA ECX,DWORD PTR SS:[ESP+50]
0046CCFB 8BF0 MOV ESI,EAX
0046CCFD 51 PUSH ECX
0046CCFE 6A 00 PUSH 0
0046CD00 8BCE MOV ECX,ESI
0046CD02 E8 C9B70000 CALL ElementC.004784D0 //CALL 2
0046CD07 8D9424 90000000 LEA EDX,DWORD PTR SS:[ESP+90]
0046CD0E 8D8424 84000000 LEA EAX,DWORD PTR SS:[ESP+84]
0046CD15 52 PUSH EDX
0046CD16 50 PUSH EAX
0046CD17 8BCE MOV ECX,ESI
0046CD19 E8 D2B80000 CALL ElementC.004785F0 //CALL 3
0046CD1E 8B8F 000A0000 MOV ECX,DWORD PTR DS:[EDI+A00]
0046CD24 6A 00 PUSH 0
0046CD26 6A 01 PUSH 1
0046CD28 56 PUSH ESI
0046CD29 6A 01 PUSH 1
0046CD2B E8 00740000 CALL ElementC.00474130 //CALL 4
关于走路call的一些资料
最新推荐文章于 2023-03-03 21:58:31 发布