为了提高游戏的可玩性,也为了提高外挂制作的难度,很多游戏对BOSS的技能伤害都设计的特别高,为了达到及时躲避的效果,我们需要对技能做预判。预判的方式有很多,比如通过收包的方式,这种方式判断的速度最快,但是代码写起来比较复杂,HOOK收包时也往往会被检测导致封号或崩溃。另一种方式就是在释放技能时进行遍历,很多游戏会加技能释放的状态和人物本身的BOSS存放在一起,比如《天涯明月刀》,《梦三国》等。接下来我们以天涯明月刀为例来分析下技能的预判。

首先我们通过搜索BUFF状态的名字,来找到技能状态库,这里要注意的是游戏内的汉字大多是以UTF-8编码的。过程很简单,我们就不去分析了,直接给公式。

[BUFF基地址]+1144]+64 BUFF名字遍历起始地址

[[BUFF基地址]+1144]+68 BUFF名字遍历数组成员数量

[[BUFF基地址]+1144]+5C BUFF名字遍历对象数量

[[[[BUFF基地址]+1144]+64]+n*4]+0 BUFFID

[[[[BUFF基地址]+1144]+64]+n*4]+4 BUFF对象

[[[[BUFF基地址]+1144]+64]+n*4]+8 BUFF链表

[[[[[BUFF基地址]+1144]+54]+n*4]+4]+0 BUFFID

[[[[[[BUFF基地址]+1144]+54]+n*4]+4]+4]+0 BUFF名字

我们得到一个数组套链表的结构,这个结构被广泛的应用于这款游戏当中。

接下来我们去分析NPC和角色当前所有的BUFF和技能状态。我们接着之前的BUFF库的代码继续分析,取状态名字的函数传入了一个技能ID的参数,当我们访问角色身上的BUFF时会断下(如图)

向上分析技能,我们发现追到了一个结构体数组,而我们角色当前BUFF状态和即将释放技能时的预备动作,都会存放在这个数组里,每一个动作都对应一个不同的ID。继续向上分析,发现这个数组是在角色对象下存放的(如图)

通过代码输出,我们发现这个数组也同样适用于怪物和其他玩家。公式如下

[NPC或角色对象]+304 BUFF数组起始地址

[NPC或角色对象]+308 BUFF数组结束地址

[[NPC或角色对象]+304]+80*n+0 BUFFID 技能预判ID

这个数组中出了ID,还有很多的未知数据,很有可能是当前释放技能的范围,目标,朝向,形状等信息,这需要通过大量的对比和分析来判断。

这样我们就达到了一个对技能的预判效果,通过遍历到BOSS的不同的技能名字采取不同的躲避方式即可。

【游戏逆向】《**明月刀》BUFF及技能预判相关推荐

  1. 【外挂逆向】《某涯明月刀》BUFF及技能预判

    为了提高游戏的可玩性,也为了提高外挂制作的难度,很多游戏对BOSS的技能伤害都设计的特别高,为了达到及时躲避的效果,我们需要对技能做预判.预判的方式有很多,比如通过收包的方式,这种方式判断的速度最快, ...

  2. [安全攻防进阶篇] 一.什么是逆向分析、逆向分析应用及经典扫雷游戏逆向

    从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...

  3. [安全攻防进阶篇] 二.如何学好逆向分析、逆向路线推荐及吕布传游戏逆向案例

    从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...

  4. [系统安全] 二.如何学好逆向分析及吕布传游戏逆向案例

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  5. 视频教程-FPS游戏逆向与安全+UE4引擎基础详解-其他

    FPS游戏逆向与安全+UE4引擎基础详解 想把自己的知识传播出去,让更多人学习到 苏瑞兵 ¥188.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程,领取 ...

  6. 元宇宙产业3年、10年、20年进化趋势预判

    导读:元宇宙产业进化趋势是很多人关心的,本文通过产业大逻辑研究做一个趋势性的大胆预判. 作者:周掌柜 来源:大数据DT(ID:hzdashuju) 总体上看,我们可以把元宇宙产业应用分为三种情况.这三 ...

  7. 程序员版--致青春(二)——11平台dota胜负预判器

    程序员版--致青春(二)--11平台dota胜负预判器 之所以取"致青春"这个名,是因为我的大学要结束了.想起之前写了一些小工具,但没写博客,因此现在补上,以此纪念我即将逝去的青春 ...

  8. 《测试开发方法论》之 预判

    说起预判,大家可能并不陌生,在电子游戏中,高手通常预判非常好,比如,预判敌人的走位,提前把技能释放到地方等待敌人恰好撞到. 那么在测试开发领域中,预判具体指的是什么呢? 这里其实就是指,对某些比较复杂 ...

  9. 关于「无人驾驶」,一位投资大佬给出了四大预判

    编者按:辰韬资本执行总经理贺雄松近日出席中信证券某活动,并做了无人驾驶相关主题分享.分享内容干货满满,涉及Robotaxi落地.激光雷达商用.造车新势力之争等等.藉由此,新智驾依据原文作了不改变原意的 ...

最新文章

  1. Datawhale组队学习 Task04:队列(2天)
  2. matlab与excel数据连接数据库,如何实现matlab与excel数据同步 数据交互?
  3. tomcat变量环境脚本setclasspath.sh分析
  4. 生成器模式 - 让配置代码更优雅
  5. Qt知识点汇总——来自网络
  6. 平面设计师和ui设计师_平面设计师为什么要享受所有乐趣?
  7. 数字反转(洛谷-P1307)
  8. 无法使用带括号的初始值设定项初始化数组_leetcode32. 最长有效括号
  9. Linux录音软件audacity安装:sudo yum install audacity
  10. JavaScript零基础入门 1:JavaScript表格简介
  11. qq自定义diy名片代码复制_免root安卓版QQ自定义在线 卡iPhone 12 Pro Max,卡5G,6G在线等状态...
  12. 贴片电阻系列命名标准
  13. 挂马方式研究、挂马检测技术研究
  14. chia矿池积点是什么-chia矿池接入的常见问题
  15. CODOSYS之结构化文本(ST)—— 初级篇(二)简介与基本概念
  16. vector用erase删除元素时,为什么被删元素的析构函数会被调用更多次?
  17. iPhone OS 4.0发布 苹果手机进入多任务时代
  18. 每日一技:给女友用代码做一个3D旋转相册,每天亿遍忘记初恋~
  19. 5g理论速度_5g速度是4g多少倍
  20. 如何高效迅速的进行CodeReview

热门文章

  1. **将古典融汇到现代(二)一座连接蕴涵式和三段论的桥--皮尔斯逻辑之五**
  2. 【重点】心田花开:三年级教材知识点汇总
  3. 从网上下载一个vue项目,跑起来的全过程
  4. workbench3.2用户手册学习笔记二
  5. 2020届校招浦发银行 信息科技 创新岗 面经及历年汇总~
  6. ORACLE 11GR2 配置GATEWAY FOR SERVER 问题
  7. 远程调用报错java.net.UnknownHostException 解决方法
  8. 原生微信小程序使用class 三元运算符实现多选案例
  9. 蓝绿部署、滚动部署、灰度部署、金丝雀部署
  10. 从0开始学AI-DAY0-写在前面