自2008年1.0测试版发布以来,安卓系统已经发展了近16年,凭借着优秀的开源生态,安卓系统飞速成长,已经成了当下手机系统中的龙头。据研究机构 Canalys 报告称,今年第一季度安卓设备的整体市场份额占比达到 78 %。
开源生态虽然带给安卓更好的发展空间,与之而来的是更低的破解门槛与更加严峻的安全问题。安卓端常见的游戏作弊手段是通过获取 root 权限,来给游戏外挂、破解提供环境。
Magisk 是市面上常见的 root 工具,其主要功能是为设备提供 root 环境,并对 root 和自身进行隐藏。对于游戏作弊而言,Magisk 提供的 root 权限可以为内存修改器、变速器等外挂运行提供必要环境,而隐藏手段将游戏安全对抗的激烈程度提到了新高度。
Magisk操作界面
虽然 Magisk 的开发者入职了谷歌安全团队,导致 Magisk Hide (隐藏功能)下架,但 Magisk 依旧可以通过其他手段实现隐藏,如新功能——“Zygisk”。
Zygisk 运行在 Android 核心进程 Zygote 中,root 进程仍然可以在没有 Magisk 监督的情况下,通过各种技巧将代码注入其他进程。从而变相的实现了隐藏,导致常规的游戏安全环境检测无法识别 root 环境与 Magisk 的存在。
隐藏功能Zygisk
除此之外,Magisk 为了防止检测,还可使用随机化包名且编辑新的应用名称并重新安装。在多次重复隐藏 Magisk 应用操作后,FairGuard发现不同次安装的随机包名的 Magisk Manager apk 包都是不一样的,不仅包名做了随机,连签名都做了变化。
包名随机化及重命名安装
最后,外挂作者通过LSP框架等手段,将游戏外挂、游戏修改器等应用添加到模板中设置为不可见,再将模板应用于游戏,实现了游戏运行过程中,隐藏外挂及修改器,来躲避安全检测。
将外挂、修改器设置模板进行隐藏
通过上述的操作,为设备提供 root 权限的 Magisk 与游戏内存修改器等外挂应用,就都被隐藏起来了。
在这些功能的加持下,Magisk 被游戏外挂作者广泛应用,制作的外挂给不少游戏造成了严重的影响。由于 Magisk 功能实现比较底层,搭配一系列隐藏手段,导致对抗难度直升,如何有效检测 Magisk 一直以来都是游戏安全行业长期难点。
FairGuard游戏加固基于十余年游戏安全对抗实战经验,针对 Magisk 及其提供的root环境带来的游戏安全问题,研发了一套成熟完善的解决方案,在 Magisk 所有隐藏选项全开的情况下,依旧可以精准识别并进行闪退等操作。目前该方案已接入多款热门游戏并验证了出色的保护能力。