发几个天龙2的CALL,以及找法。
人物属性的基址啥玩意的我就不说了,没什么好说的寻路CALL
0042B28E .50 push eax ;Y坐标
0042B28F >51 push ecx ;X坐标
0042B290 .8BCE mov ecx, esi
0042B292 .E8 F9F9FFFF call 0042AC90 ;寻路CALL
寻路CALL找法。。
找法有好几种,这里说下 利用目的地坐标 寻找寻路CALL。 寻路状态也可以找到的
下面是找法
CE搜索浮点型两数之间 (X 或者Y的都行,我搜的是X)
看下你当前的 X坐标。 60的话就搜60-61
然后随便移动一下,等人物停下后,再搜一次你当前的X坐标, 比如是80 那么就搜 80-81
这样差不多剩下10来个地址,
打开大地图,再地图上任意点一个地方,让人物出现寻路状态,然后看CE
这时候 应该会有4个地址的值是你目的地的X坐标, 留下这四个地址
这时候开OD(很多人开着CE 无法OD附加游戏,进CE 的设置,选中内核搜索,OD就可以附加了)
再OD里 依次dd 搜索剩下的四个地址,每个地址都下内存访问断点
如果直接断下来,那个地址就PASS掉,看另外一个地址。
如果没直接断下来。这时候再游戏里,随便地图上点个地方,
这时候 OD会断下来。然后CTRL+F9 返回, 返回到第五层,我记得是第五层,就是寻路CALL了。
当然,第一次寻找的时候,还是要每一层都进行分析的,由于我已经知道了,所以直接返回了五层。
至于ESI的值,这个大家自己跟吧, 这是基本功
这里特别注意的地方是,在反汇编窗口下断,一定要用硬件执行断点,否则游戏直接报错
比如你想试验这个CALL是不是,那么你要下断,还要看参数是不是坐标的值是吧,那么这个断点要用硬件断点
下面攻击CALL (普攻,技能攻击,打坐啊,技能回程啊。 都是这个CALL,唯独ECX参数不一样而已,普通攻击ECX是0,)、
0042D5A1 .57 push edi ;/ //BF800000
0042D5A2 .897D 08 mov dword ptr , edi
0042D5A5 .8B7D D0 mov edi, dword ptr
0042D5A8 .57 push edi ; //BF800000
0042D5A9 .8B7D CC mov edi, dword ptr
0042D5AC .57 push edi ; //BF800000
0042D5AD .52 push edx ; // 怪ID
0042D5AE .50 push eax ; //FFFFFFFF
0042D5AF .51 push ecx ; //技能ID
0042D5B0 .8BCE mov ecx, esi
0042D5B2 .E8 99DDFFFF call 0042B350 ;攻击call
攻击CALL 我用了两种方法都可以找到,一个是技能ID,一个是怪物ID
下面是方法,我就只说用技能ID 找攻击CALL的方法吧
我是天山的,攻击的时候自动用到 “雁南飞” 这个技能。
所以我就先找到"雁南飞" 这个技能的ID , 利用技能快捷栏,不停更换第一个格子的技能,更改的,未更改的,特别注意的是,当技能格子的位置是空的时候,要搜索-1,或者十六进制的FFFFFFFF
这样我找到了“雁南飞”的ID是 1EB,再用同样的方法找到另外一个技能的ID,我找的是“雪花六出”, ID是1F5
现在去打怪,打怪的时候,“雁南飞”是自动不停的释放的,所以我搜 1EB,出来很多个
然后选中下个怪,第一次攻击 使用“雪花六出”,这个时候要手快。技能刚放出来的时候,立刻搜索 1F5
这个时候应该还剩下两个地址,一个地址马上又恢复成了1EB,另外一个地址 还是1F5
我们用第二个地址找,原因自己慢慢摸索吧,找数据这个东西,方法很多,很多东西,都是摸索出来的
打开OD,附加 游戏。
然后 dd 另外一个地址(也就是显示1F5的)
下硬件访问断点 DWORD 四字节的(内存访问也可以,但是实在是下断后游戏太卡,点怪点的麻烦,这里也顺便说明了断点的灵活性了)
然后选中怪 执行攻击动作
这个时候会断下来。CTRL+F9返回
返回的第一层,就是攻击CALL了。跟寻路CALL一样,这个攻击CALL 下断 也是要下硬件断点的,也就是硬件执行 断点, )
直接F2断点,游戏会崩溃
暂时就说这两个CALL吧, 开包CALL, 右键选怪CALL 等等看看大家的积极性咯,,嘿嘿
图片实在懒得截,感觉没打字来得快
页:
[1]