游戏如何应对内存修改
据观察,近年来游戏黑灰产攻击角度多样化趋势显著,主要面临工作室、定制注入挂、模拟点击挂、内存修改挂、破解版等多方面安全问题。
据FairGuard数据统计,在游戏面临的众多安全风险中,「内存修改」攻击占比约为13%,主要实现方式为获取高权限后使用内存修改器对游戏内存进行篡改。
FairGuard数据统计:游戏安全风险占比
内存修改器的本质是具备内存查找、修改功能的通用或者自定义作弊工具。其变种众多,在不同的系统都有其身影:如 Android 端常见的GameGuardian 修改器、iOS端的 iMemEditor 修改器、PC端的 Cheat Engine 修改器。
本文我们将通过实际案例对常见内存修改器进行分析并提出解决方案。
◆ GameGuardian 修改器
GameGuardian(俗称GG修改器),可提供手动的内存搜索、修改功能。如下图演示,通过GG修改器对游戏商品售价这一数据进行多次搜索,确定内存地址,再对其进行篡改,实现了无消耗购买游戏道具的功能。
通过修改商品售价实现无消耗购买道具
此外,GG修改器还支持脚本调用,通过脚本可实现定位、修改内存,达到自动破解的效果,这些脚本也是许多游戏外挂传播的主要方式。
GG修改器调用lua脚本实现作弊功能
由于进行内存修改需要提供root权限,GG修改器常运行虚拟机、虚拟框架等环境,在获取root权限后,可以使用magisk实现对游戏隐藏进程,来躲避游戏检测,让传统的检测手段失效,对抗难度大幅度提升。
GG修改器通过magisk实现对游戏隐藏进程
◆ Cheat Engine修改器
Cheat Engine (简称CE) ,是一款功能强大的Windows游戏内存修改器。可以用来扫描游戏中的内存,并进行修改、锁定等操作。还附带了调试器、反汇编器、汇编器、变速器、系统检查工具等功能。
内存扫描是 Cheat Engine 最主要功能,通过反复搜索,对游戏内存进行定位,确认内存地址后,对其进行编辑、锁定等操作,从而制作外挂。
Cheat Engine 修改器扫描内存进行修改
据观察 Cheat Engine 存在以下检测难点:
高维度作弊趋势显著:FairGuard发现,部分作弊用户使用 Cheat Engine 修改在 PC 模拟器中运行的移动端游戏,并制售其外挂。这种高维度的作弊会绕过传统的检测手段,加大检测排查难度。
PC端作弊情况复杂:相比于移动端,PC 端的权限更加开放,Cheat Engine 可以通过搭配其他工具对游戏进行调试分析并隐匿自己。
◆ iMemEditor修改器
iMemEditor (简称iME,原名为iGameGuardian,简称iGG) 是 iOS 平台常用的内存修改器,在iOS设备越狱环境下,可以实现精准/模糊指令搜索内存、内存锁定、浏览、编辑等功能。
打开游戏后,开启iMemEditor修改器,选择游戏目标进程;在修改器内,搜索想要修改的游戏数值,如上图中选择修改金币/钻石数量;通过搜索,反复定位金币/钻石数值模块,再编辑修改其数值,即可实现“无限金币/钻石”外挂效果。
iMemEditor修改器修改游戏过程
通过修改器实现“无限金币/钻石”外挂效果
同理,修改器还可以修改游戏内的角色攻击/生命值/防御力等各类内存模块,从而实现“倍攻挂”、“秒杀挂”、“无敌挂”等外挂效果。
针对游戏面临的内存修改问题,FairGuard定制了专门的应对策略,该方案已接入多款热门游戏并验证了出色的保护能力。
反内存修改
针对游戏面临的内存修改风险,FairGuard研发了行为检测方案,可对内存修改行为进行精准识别,通杀各类修改器外挂及其变种,做到有效防护。
安全环境检测
采用底层检测手段,精准识别游戏运行环境,如:越狱、ROOT、虚拟机、虚拟框架、云手机等,并提供个性化闪退策略。
Magisk专项检测
FairGuard独家检测方案,在 Magisk 所有隐藏选项全开的情况下,依旧可以精准识别并进行闪退等操作。