我爱辅助论坛

 找回密码
 【点我注册】

QQ登录

只需一步,快速开始

查看: 1170|回复: 1

[视频教程] 任鸟飞《天涯明月刀》BUFF及技能预判

[复制链接]

该用户从未签到

发表于 2017-11-27 11:49:01 | 显示全部楼层 |阅读模式
为了提高游戏的可玩性,也为了提高外挂制作的难度,很多游戏对BOSS的技能伤害都设计的特别高,为了达到及时躲避的效果,我们需要对技能做预判。预判的方式有很多,比如通过收包的方式,这种方式判断的速度最快,但是代码写起来比较复杂,HOOK收包时也往往会被检测导致封号或崩溃。另一种方式就是在释放技能时进行遍历,很多游戏会加技能释放的状态和人物本身的BOSS存放在一起,比如《天涯明月刀》,《梦三国》等。
关注 微信公众号 任鸟飞逆向  交流学习

接下来我们以天涯明月刀为例来分析下技能的预判。
首先我们通过搜索BUFF状态的名字,来找到技能状态库,这里要注意的是游戏内的汉字大多是以UTF-8编码的。过程很简单,我们就不去分析了,直接给公式。
[BUFF基地址]+1144]+64BUFF名字遍历起始地址
[[BUFF基地址]+1144]+68BUFF名字遍历数组成员数量
[[BUFF基地址]+1144]+5CBUFF名字遍历对象数量
[[[[BUFF基地址]+1144]+64]+n*4]+0BUFFID
[[[[BUFF基地址]+1144]+64]+n*4]+4BUFF对象
[[[[BUFF基地址]+1144]+64]+n*4]+8BUFF链表
[[[[[BUFF基地址]+1144]+54]+n*4]+4]+0BUFFID
[[[[[[BUFF基地址]+1144]+54]+n*4]+4]+4]+0BUFF名字
我们得到一个数组套链表的结构,这个结构被广泛的应用于这款游戏当中。
接下来我们去分析NPC和角色当前所有的BUFF和技能状态。我们接着之前的BUFF库的代码继续分析,取状态名字的函数传入了一个技能ID的参数,当我们访问角色身上的BUFF时会断下(如图)
向上分析技能,我们发现追到了一个结构体数组,而我们角色当前BUFF状态和即将释放技能时的预备动作,都会存放在这个数组里,每一个动作都对应一个不同的ID。继续向上分析,发现这个数组是在角色对象下存放的(如图)
通过代码输出,我们发现这个数组也同样适用于怪物和其他玩家。公式如下
[NPC或角色对象]+304BUFF数组起始地址
[NPC或角色对象]+308BUFF数组结束地址
[[NPC或角色对象]+304]+80*n+0BUFFID   技能预判ID
这个数组中出了ID,还有很多的未知数据,很有可能是当前释放技能的范围,目标,朝向,形状等信息,这需要通过大量的对比和分析来判断。
这样我们就达到了一个对技能的预判效果,通过遍历到BOSS的不同的技能名字采取不同的躲避方式即可。


温馨提示:为了保护系统安全,使用辅助前,请务必使用影子系统。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【好评】【金币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

该用户从未签到

 楼主| 发表于 2017-11-30 11:55:52 | 显示全部楼层
任鸟飞《天涯明月刀》

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【好评】【金币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 【点我注册】

本版积分规则

QQ|小黑屋|我爱辅助 ( 辽ICP备19006053号-1 )

GMT+8, 2025-5-2 14:05 , Processed in 0.053505 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表