当前位置: 首页 > article >正文

游戏如何应对内存修改

据观察,近年来游戏黑灰产攻击角度多样化趋势显著,主要面临工作室、定制注入挂、模拟点击挂、内存修改挂、破解版等多方面安全问题。

据FairGuard数据统计,在游戏面临的众多安全风险中,「内存修改」攻击占比约为13%,主要实现方式为获取高权限后使用内存修改器对游戏内存进行篡改。

FairGuard数据统计:游戏安全风险占比

FairGuard数据统计:游戏安全风险占比

内存修改器的本质是具备内存查找、修改功能的通用或者自定义作弊工具。其变种众多,在不同的系统都有其身影:如 Android 端常见的GameGuardian 修改器、iOS端的 iMemEditor 修改器、PC端的 Cheat Engine 修改器。

本文我们将通过实际案例对常见内存修改器进行分析并提出解决方案。

◆ GameGuardian 修改器

GameGuardian(俗称GG修改器),可提供手动的内存搜索、修改功能。如下图演示,通过GG修改器对游戏商品售价这一数据进行多次搜索,确定内存地址,再对其进行篡改,实现了无消耗购买游戏道具的功能。

通过修改商品售价实现无消耗购买道具

通过修改商品售价实现无消耗购买道具

此外,GG修改器还支持脚本调用,通过脚本可实现定位、修改内存,达到自动破解的效果,这些脚本也是许多游戏外挂传播的主要方式。

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

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

由于进行内存修改需要提供root权限,GG修改器常运行虚拟机、虚拟框架等环境,在获取root权限后,可以使用magisk实现对游戏隐藏进程,来躲避游戏检测,让传统的检测手段失效,对抗难度大幅度提升。

GG修改器通过magisk实现对游戏隐藏进程

GG修改器通过magisk实现对游戏隐藏进程

◆ Cheat Engine修改器

Cheat Engine (简称CE) ,是一款功能强大的Windows游戏内存修改器。可以用来扫描游戏中的内存,并进行修改、锁定等操作。还附带了调试器、反汇编器、汇编器、变速器、系统检查工具等功能。

内存扫描是 Cheat Engine 最主要功能,通过反复搜索,对游戏内存进行定位,确认内存地址后,对其进行编辑、锁定等操作,从而制作外挂。

Cheat Engine 修改器扫描内存进行修改

Cheat Engine 修改器扫描内存进行修改

据观察 Cheat Engine 存在以下检测难点:

高维度作弊趋势显著:FairGuard发现,部分作弊用户使用 Cheat Engine 修改在 PC 模拟器中运行的移动端游戏,并制售其外挂。这种高维度的作弊会绕过传统的检测手段,加大检测排查难度。

PC端作弊情况复杂:相比于移动端,PC 端的权限更加开放,Cheat Engine 可以通过搭配其他工具对游戏进行调试分析并隐匿自己。

◆ iMemEditor修改器

iMemEditor (简称iME,原名为iGameGuardian,简称iGG) 是 iOS 平台常用的内存修改器,在iOS设备越狱环境下,可以实现精准/模糊指令搜索内存、内存锁定、浏览、编辑等功能。

打开游戏后,开启iMemEditor修改器,选择游戏目标进程;在修改器内,搜索想要修改的游戏数值,如上图中选择修改金币/钻石数量;通过搜索,反复定位金币/钻石数值模块,再编辑修改其数值,即可实现“无限金币/钻石”外挂效果。

iMemEditor修改器修改游戏过程

iMemEditor修改器修改游戏过程

通过修改器实现“无限金币/钻石”外挂效果

通过修改器实现“无限金币/钻石”外挂效果

同理,修改器还可以修改游戏内的角色攻击/生命值/防御力等各类内存模块,从而实现“倍攻挂”、“秒杀挂”、“无敌挂”等外挂效果。

针对游戏面临的内存修改问题,FairGuard定制了专门的应对策略,该方案已接入多款热门游戏并验证了出色的保护能力。

反内存修改

针对游戏面临的内存修改风险,FairGuard研发了行为检测方案,可对内存修改行为进行精准识别,通杀各类修改器外挂及其变种,做到有效防护。

安全环境检测

采用底层检测手段,精准识别游戏运行环境,如:越狱、ROOT、虚拟机、虚拟框架、云手机等,并提供个性化闪退策略。

Magisk专项检测

FairGuard独家检测方案,在 Magisk 所有隐藏选项全开的情况下,依旧可以精准识别并进行闪退等操作。


http://www.kler.cn/a/399362.html

相关文章:

  • JavaScript中如何使用Promise处理异步操作?
  • vue2+3 —— Day5/6
  • 华为开源自研AI框架昇思MindSpore应用案例:人体关键点检测模型Lite-HRNet
  • 27.<Spring博客系统③(实现用户退出登录接口+发布博客+删除/编辑博客)>
  • 用 Python 从零开始创建神经网络(五):损失函数(Loss Functions)计算网络误差
  • EWM 打印
  • 优惠券秒杀的背后原理
  • 贪心算法入门(三)
  • outline 分析
  • 深入探讨 .NET Core 3.0 浮点计算差异与解决方案
  • ollama+springboot ai+vue+elementUI整合
  • matlab 读取csv
  • 【C++ 算法进阶】算法提升十六
  • python语言基础-5 进阶语法-5.2 装饰器-5.2.2 简单装饰器
  • 2024年9月青少年软件编程(C语言/C++)等级考试试卷(六级)
  • JavaWeb后端开发知识储备1
  • 【HarmonyOS】鸿蒙系统在租房项目中的项目实战(一)
  • 从0开始深度学习(30)——语言模型和数据集
  • Comfy UI Manager 自定义节点管理
  • 基于卷积神经网络的航空发动机剩余寿命预测Matlab实现
  • [每周一更]-(第123期):模拟面试|消息队列面试思路解析
  • STM32 独立看门狗(IWDG)详解
  • PHP 条件语句
  • 无线迷踪:陈欣的网络之旅
  • python之openpyxl快速读取Excel表内容
  • docker:基于Dockerfile镜像制作完整案例