menu

游戏如何检测Xposed框架

在游戏面临的安全风险中,除了常见的内存修改器、加速器等通用作弊手段,还有一类危害严重的作弊手段——「注入」。

注入是指将作弊模块、代码通过注入器添加到游戏进程中,从而在不修改原代码的情况下实现作弊。安卓系统一般采用 SO 注入、ptrace 注入、 Zygote 注入等手段实现。

本文我们将重点讲解 Xposed 框架及其变种的注入原理及解决方案。

315_21
▲ Xposed 框架操作界面

Xposed 框架是一款可以在不修改 APK 的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的外挂。

在安卓系统中,所有应用程序进程都是由 Zygote 进程孵化出来的,Xposed 的实现原理就是通过替换 /system/bin/app_process 程序来控制 Zygote 进程,使它在系统启动过程中加载 Xposed framework 的 jar 文件,从而完成对 Zygote 进程及创建的 Dalvik / ART 虚拟机的劫持。

315_21
安卓程序启动流程图

在完成注入后,可以使用 Xposed 框架的 Hook 功能,具体表现为:在目标函数执行之前或之后插入自定义的代码逻辑,从而实现对函数行为的定制和修改。

315_21
某游戏出现的注入挂

因涉及替换 /system/bin 文件,Xposed 框架的运行需要设备提供 Root 环境,此时 VirtualXposed 应运而生,它能够免 Root 使用 Xposed 模块。

我们可以将其理解为一个虚拟框架,将设备上的应用安装到 VirtualXposed,再对其进行注入,所需的 Root 权限由 VirtualXposed 提供,大幅降低了作弊门槛。

315_21
VirtualXposed应用设置界面

作为一款早期的开源框架,经过多年安全对抗,Xposed 框架特征检测相对容易,并且其全局注入模式会导致应用启动变得非常的慢,还存在高版本兼容性等问题。

Xposed 框架逐渐被 EdXposed 框架所取代,并在此基础上又兼容了 Magisk ,并对部分功能进行改进,演变出了目前更为主流的 LSPosed 框架。

LSPosed 框架借助了 Magisk 部分功能,可以在不触及系统核心组件的前提下,完成对ART层的精准干预,并且自带隐藏功能来躲避检测。

315_21
LSPosed 框架自带隐藏功能可躲避检测

在作弊原理的角度看,LSPosed 框架的修改方式更加灵活、方便,可在不影响应用程序的签名和完整性情况下,对游戏数值模块、运行逻辑进行修改。运行需要设备提供 Root 权限,可以由虚拟框架、虚拟机提供,大幅降低了使用门槛。

针对游戏面临的注入挂风险,FairGuard定制了专门的应对策略,该方案已接入多款热门游戏并验证了出色的保护能力。

主动识别恶意模块机制

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

反注入器功能

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

反调试功能

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

安全环境检测功能

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

丨结语

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

目前产品已经被FunPlus、三七互娱、恺英网络、心动、杭州电魂等多家头部公司采用,接入500+款热门游戏。欢迎访问 www.fair-guard.com 了解试用。

产品咨询联系方式:

QQ:2079128588

微信:fairguard01

技术交流QQ群:1105310296