会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 游戏安全实验室 游戏漏洞 外挂分析!

游戏安全实验室 游戏漏洞 外挂分析

时间:2024-05-02 21:03:41 来源:喜逐颜开网 作者:综合 阅读:583次

游戏安全实验室 游戏漏洞 外挂分析

一、游戏游戏介绍

游戏的安全主要玩法和升级方式是通过打副本做任务。秒怪和技能无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月17日)
  • 九黎手游橙色随从怎么获得 橙色装备获得方法
  • 教培机构招生干货:地推采单话术
  • 烟雨江湖梦手游
  • 摩尔庄园刺头鱼系列之小会议厅
  • 洛克王国2022春节官宣
  • S11的大热辅助阿木木胜率却令人担忧,核心问题出在哪里?
推荐内容
  • 烟雨江湖新手怎么玩枪
  • 将魂 鬼谷队伍要鬼谷么
  • 洛克王国vip充值攻略一览(洛克王国VIP充值攻略一览)
  • 时空猎人前期充钱攻略,快速提升游戏实力
  • 征途系列
  • 时空猎人刷王者宝石心得装备提升攻略