游戏逆向工具分析及解决方案

游戏逆向工具分析及解决方案

来源:fairguard 发布时间:2024-05-31 17:41:05 点击数:

游戏逆向,是指通过各类工具对游戏进行反编译及源码分析,尝试分析游戏的实现逻辑的过程。这个过程需要使用解密、反编译、解压缩等技术,目的是还原或分析出游戏的代码逻辑及资源。

游戏逆向工具可以按照不同功能进行划分,如:动态调试注入工具 Frida ;静态分析工具 IL2CppDumper ;带有 APK 编辑、去除签名校验的功能 MT 管理器及内存修改工具 GameGuardian 修改器等等。

本文将通过案例对部分常见的游戏逆向工具实现原理进行分析,并提出解决方案。

◆ Frida

Frida 是一款动态插桩工具,可以将外部代码插入到原生 APP 的内存空间中,并进行动态调试与修改。

其注入原理是基于 ptrace 实现的,Frida 通过调用系统 ptrace 向游戏进程注入 frida-agent-xx.so 模块,通过这个模块与手机端安装的 frida-server 通讯,实现一系列分析与 hook 操作,如 hook 游戏中己方角色的攻击函数,实现“倍攻挂”等。

Frida 与 ida 联合调试APK

Frida 与 ida 联合调试APK

Frida 的配置环境简单、操作便捷,支持Java 层和 Native 层 hook 操作,并且使用 python、JavaScript 等 “胶水语言”,降低了逆向分析、作弊修改的门槛。

此外,Frida 拥有大量的变种及魔改版,如常见的 hluda-server 可以隐藏 Frida 特征,绕过传统的检测手段,加大检测排查难度。

◆ IL2CppDumper

众所周知,Unity引擎中有两种脚本编译器,分别是 Mono 和 IL2CPP 。IL2CPP 可以将游戏 C# 代码转换为 C++ 代码,然后编译为各平台 Native 代码。

在 IL2CPP 模式下,Unity 将 C# 代码中的类名、属性名、字符串等信息记录在 global-metadata.dat 文件,而 IL2CPP 启动时会从这个文件读取所需要的类名、属性名等信息。

破解者可使用 IL2CppDumper 解析 global-metadata.dat 文件,并将文件里的类名等字符串信息对应到 Native 代码中去,大幅降低了逆向分析难度。

逆向工具Zygisk-il2cppDumper界面及操作流程

逆向工具Zygisk-il2cppDumper界面及操作流程

随着对抗强度升级,Zygisk-IL2CppDumper 应运而生,可以在游戏运行过程中,动态dump函数名和函数偏移,绕过保护、加密以及混淆。

启动游戏后,会在目录下自动生成dump.cs,即使游戏有检测到异常闪退,也不影响dump.cs的获取。

Zygisk-IL2CppDumper采用github Action,仅需fork项目,填写包名等简单步骤就可逆向分析代码,极大程度降低了外挂、破解门槛。

◆ MT管理器

MT管理器是安卓平台上的逆向修改工具软件,拥有的双窗口文件管理和的 APK 编辑功能,可以高效地进行各种文件操作以及修改安卓软件。

MT管理器在获取 Root 权限后可访问系统目录,挂载文件系统为读写,修改文件权限和所有者。其主要功能为 APK 编辑,包含 DEX 编辑、XML 编辑、APK 签名、去除签名校验、RES 反资源混淆等。

MT管理器 Dex 编辑功能

MT管理器 Dex 编辑功能

以某游戏遇到的“内购破解”为例,破解者通过MT管理器去除游戏的签名校验,再搜索游戏支付渠道字符串进行定位,定位后用编辑功能篡改支付代码逻辑,最后进行重签名,就可实现无需付费即可购买游戏内的付费礼包。

破解者使用MT管理器实现内购破解

破解者使用MT管理器实现内购破解

通过上述方式也可以对游戏内的人物攻击/血量/防御等数值进行修改,或对游戏胜负逻辑、付费逻辑进行篡改,从而制成带有一系列“变态”功能的破解版。

◆ GameGuardian修改器

GameGuardian,俗称GG修改器,可提供手动的内存搜索、修改功能,还支持脚本调用。调用脚本可实现定位、修改内存,达到自动破解的效果。

GG修改器调用lua脚本实现作弊功能

GG修改器调用lua脚本实现作弊功能

GG修改器的使用需要设备提供Root环境,哪怕Android 6.0后的系统不提供Root权限,破解者也会使用虚拟机、虚拟框架等模拟出Root环境,为修改器提供高权限。

除此之外修改器还具有反检测的功能,用来防止被游戏检测到,防护难度不言而喻。

GG修改器防检测功能演示

GG修改器防检测功能演示

针对游戏面临的各类逆向攻击问题,FairGuard定制了一套成熟完善的解决方案,该方案已接入多款热门游戏并验证了出色的保护能力。

防破解功能

采用FairGuard业界独家技术「无API签名校验技术」,从底层出发,对游戏的引擎与代码进行加密处理,可以针对游戏包签名和文件完整性进行多重校验,防止游戏被植入恶意模块、剔除广告等。

反内存修改功能

针对游戏面临的内存修改风险,FairGuard潜心研发了「行为检测方案」,通过敏锐的智能感知系统,一旦检测到修改行为,可立即闪退,通杀各类修改外挂及其变种,做到有效防护。

主动识别恶意模块机制

区别于市面上其他安全产品,需要获取样本后进行外挂打击,FairGuard独家「主动识别恶意模块机制」对可疑模块进行主动识别,搭配在线打击功能做到主动防御,大幅缩短外挂排查周期。

反注入器功能

禁止使用Xposed、Frida等各种外挂模块注入器,防止注入后修改游戏内存等各种恶意行为,一旦发现立即闪退。

反调试功能

防止外挂作者对游戏进行调试,阻止对游戏的静态或动态分析,一旦发现立即闪退。

安全环境检测功能

不同于市面上其他产品,FairGuard加固采用更底层的检测手段,可精准识别虚拟框架、虚拟机、越狱、ROOT、云手机等各类风险环境,并提供个性化闪退策略。

丨结语

FairGuard作为专注于游戏安全领域的第三方服务商,致力于帮助游戏公司解决外挂和破解问题,为游戏提供深度一体化的加密保护方案。

开发团队深耕技术,研发了无导入函数SO加壳、无API签名校验、三端通用的Unity Assetbundle资源加密方案等多项业界独家技术。

目前产品已经被FunPlus、三七互娱、游族、心动网络、恺英网络等多家头部公司采用,接入400+款热门游戏。

产品咨询联系方式:

QQ:2079128588

微信:fairguard01

技术交流QQ群:1105310296


即刻体验FairGuard

即刻体验FairGuard

免费试用游戏游戏安全保护, 对接专业技术服务!

免费体验
首 页
产 品
方 案
客 服
帮助