David902 发表于 2024-3-5 09:15:45

发几个天龙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]
查看完整版本: 发几个天龙2的CALL,以及找法。