您的当前位置:首页 > 热点 > 游戏安全实验室 游戏漏洞 外挂分析 正文
时间:2024-05-06 01:49:43 来源:网络整理 编辑:热点
一、游戏介绍游戏的主要玩法和升级方式是通过打副本做任务。秒怪和技能无CD的功能可以快速提升玩家等级,加快游戏进度。用apktool工具反编译分析APK包的结构,然后使用IDA静态分析和动态调试分析游戏
一、游戏游戏介绍
游戏的安全主要玩法和升级方式是通过打副本做任务。秒怪和技能无CD的实验室游功能可以快速提升玩家等级,加快游戏进度。戏漏析
用apktool工具反编译分析APK包的洞外结构,然后使用IDA静态分析和动态调试分析游戏相关逻辑实现方式。挂分
利用IDA解析APK中的游戏关键so文件libtdzmClient.so可以得到绝大部分功能函数,且函数名未被混淆,安全于是实验室游直接从函数名定位到关键逻辑代码。
1、戏漏析秒怪功能实现
通过字符串可定位到CLocalMonster::damage函数负责响应怪物受伤事件,洞外如图1所示该函数会调用CustomActor::setHP设置怪物新血量,挂分在该地方将CustomActor::setHP函数R1参数改成0即可实现功能。游戏(setHP上面R1赋值指令直接改成Opcode:00 21 MOVS R1,安全 #0)
图1. CLocalMonster::damage函数(怪物受伤响应函数)
由于程序对so文件作了一定的保护处理,许多函数的实验室游指令分为几个分开的片段,在setHP()方法处下断点,根据LR的指令值找到上层调用的函数位置,最终定位到如下的代码片段,该方法实现的功能为初始化怪物的血量:
图2 怪物血量初始化函数
如图2中红色方框所示,该指令为取第一个参数的值,该参数就是怪物初始化的血量,因此秒怪功能的实现方法就是将该条指令修改为MOV R1,#1,这样一来所有怪物的血量都为1,玩家攻击即可实现秒杀。
2、技能无CD实现
由于技能相关的函数在符号表中可以直接找到,因此直接定位到SkillDataManager类的getSkillCDTime()方法,其关键代码片段如下:
图3 getSkillCDTime函数关键代码片段
如图3中红色方框所示,该指令的作用是将计算出的技能CD秒数写入寄存器R0作为返回值,因此,技能无CD的实现方法就是将该指令改为MOV R0,#0,这样所有的技能CD便都为0,玩家可以无限释放技能。
冒险王2最新版本 v1.0 安卓版2024-05-06 01:42
lol都有什么英雄(英雄联盟各个阵营介绍)2024-05-06 01:05
《全民枪战》生化角色介绍2024-05-06 00:55
2024浙江台州市公安局黄岩分局招聘警务辅助人员(150人)笔试模拟试题及答案解析.docxVIP2024-05-06 00:47
《塞尔达传说王国之泪》伊盖队考核攻略指南分享2024-05-06 00:04
《烟雨江湖》苍狼门派秘技钢筋铁骨获得方法 钢筋铁骨升级技巧2024-05-05 23:33
手游烟雨江湖伙伴孟翔2024-05-05 23:30
摩尔庄园枫树种子有什么用 摩尔庄园手游枫树种子作用2024-05-05 23:23
热血江湖之合区公告!2024-05-05 23:06
分享天龙八部新区快速升级抢占帮会攻略2024-05-05 23:05
烟雨江湖怎么走2024-05-06 01:35
摩尔庄园手游精灵怎么捕捉?精灵放生方法分享2024-05-06 01:33
摩尔庄园手游精灵如何放生 精灵放生具体操作有哪些2024-05-06 01:17
热血江湖怎么拜师 热血江湖拜师教程2024-05-06 01:07
英雄联盟12.15暗爪盲僧出装思路2024-05-06 00:44
第五人格新皮肤2022 4款最新皮肤曝光2024-05-06 00:38
神雕侠侣2独孤侠客选择详细解析2024-05-06 00:19
二〇二三预充值大派送300元阶段抽奖结果2024-05-05 23:33
明日之后哪个区人多2024-05-05 23:10
1终极 7限定 10传说 14史诗 65皮肤 1炫彩 112英雄 青铜2024-05-05 23:09