【游戏逆向】《**明月刀》BUFF及技能预判
为了提高游戏的可玩性,也为了提高外挂制作的难度,很多游戏对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及技能预判相关推荐
- 【外挂逆向】《某涯明月刀》BUFF及技能预判
为了提高游戏的可玩性,也为了提高外挂制作的难度,很多游戏对BOSS的技能伤害都设计的特别高,为了达到及时躲避的效果,我们需要对技能做预判.预判的方式有很多,比如通过收包的方式,这种方式判断的速度最快, ...
- [安全攻防进阶篇] 一.什么是逆向分析、逆向分析应用及经典扫雷游戏逆向
从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...
- [安全攻防进阶篇] 二.如何学好逆向分析、逆向路线推荐及吕布传游戏逆向案例
从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...
- [系统安全] 二.如何学好逆向分析及吕布传游戏逆向案例
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- 视频教程-FPS游戏逆向与安全+UE4引擎基础详解-其他
FPS游戏逆向与安全+UE4引擎基础详解 想把自己的知识传播出去,让更多人学习到 苏瑞兵 ¥188.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程,领取 ...
- 元宇宙产业3年、10年、20年进化趋势预判
导读:元宇宙产业进化趋势是很多人关心的,本文通过产业大逻辑研究做一个趋势性的大胆预判. 作者:周掌柜 来源:大数据DT(ID:hzdashuju) 总体上看,我们可以把元宇宙产业应用分为三种情况.这三 ...
- 程序员版--致青春(二)——11平台dota胜负预判器
程序员版--致青春(二)--11平台dota胜负预判器 之所以取"致青春"这个名,是因为我的大学要结束了.想起之前写了一些小工具,但没写博客,因此现在补上,以此纪念我即将逝去的青春 ...
- 《测试开发方法论》之 预判
说起预判,大家可能并不陌生,在电子游戏中,高手通常预判非常好,比如,预判敌人的走位,提前把技能释放到地方等待敌人恰好撞到. 那么在测试开发领域中,预判具体指的是什么呢? 这里其实就是指,对某些比较复杂 ...
- 关于「无人驾驶」,一位投资大佬给出了四大预判
编者按:辰韬资本执行总经理贺雄松近日出席中信证券某活动,并做了无人驾驶相关主题分享.分享内容干货满满,涉及Robotaxi落地.激光雷达商用.造车新势力之争等等.藉由此,新智驾依据原文作了不改变原意的 ...
最新文章
- Datawhale组队学习 Task04:队列(2天)
- matlab与excel数据连接数据库,如何实现matlab与excel数据同步 数据交互?
- tomcat变量环境脚本setclasspath.sh分析
- 生成器模式 - 让配置代码更优雅
- Qt知识点汇总——来自网络
- 平面设计师和ui设计师_平面设计师为什么要享受所有乐趣?
- 数字反转(洛谷-P1307)
- 无法使用带括号的初始值设定项初始化数组_leetcode32. 最长有效括号
- Linux录音软件audacity安装:sudo yum install audacity
- JavaScript零基础入门 1:JavaScript表格简介
- qq自定义diy名片代码复制_免root安卓版QQ自定义在线 卡iPhone 12 Pro Max,卡5G,6G在线等状态...
- 贴片电阻系列命名标准
- 挂马方式研究、挂马检测技术研究
- chia矿池积点是什么-chia矿池接入的常见问题
- CODOSYS之结构化文本(ST)—— 初级篇(二)简介与基本概念
- vector用erase删除元素时,为什么被删元素的析构函数会被调用更多次?
- iPhone OS 4.0发布 苹果手机进入多任务时代
- 每日一技:给女友用代码做一个3D旋转相册,每天亿遍忘记初恋~
- 5g理论速度_5g速度是4g多少倍
- 如何高效迅速的进行CodeReview
热门文章
- **将古典融汇到现代(二)一座连接蕴涵式和三段论的桥--皮尔斯逻辑之五**
- 【重点】心田花开:三年级教材知识点汇总
- 从网上下载一个vue项目,跑起来的全过程
- workbench3.2用户手册学习笔记二
- 2020届校招浦发银行 信息科技 创新岗 面经及历年汇总~
- ORACLE 11GR2 配置GATEWAY FOR SERVER 问题
- 远程调用报错java.net.UnknownHostException 解决方法
- 原生微信小程序使用class 三元运算符实现多选案例
- 蓝绿部署、滚动部署、灰度部署、金丝雀部署
- 从0开始学AI-DAY0-写在前面