游戏反外挂方案解析

news2024/11/14 19:25:32

近年来,游戏市场高速发展,随之而来的还有图谋利益的游戏黑产。在利益吸引下,游戏黑产扩张迅猛,已发展成具有庞大规模的产业链,市面上游戏受其侵扰的案例屡见不鲜。

据《FairGuard游戏安全2022年度报告》数据统计,2022年累计收集外挂样本5826款,同比增长52%;安全对抗更激烈,多项数据呈上涨趋势,全年累计检测游戏安全风险同比增长96%。

2022年FairGuard游戏安全风险分布占比图

2022年FairGuard游戏安全风险分布占比图

因游戏作弊门槛低、游戏安全对抗不对等、黑灰产业链发展完善、法律维权门槛高等因素,游戏安全问题形势愈发严峻,「游戏反外挂」已经成了厂商的必修课。

FairGuard游戏加固基于十余年游戏安全对抗经验,将从外挂实现原理及分类、游戏反外挂方案维度,结合案例进行分析并与大家分享。

游戏外挂分类

常见的游戏外挂攻击方式有:注入、内存修改、变速器、模拟点击、抓包、虚拟环境、破解等。

注入挂案例分析

注入挂,顾名思义是将外挂模块注入到游戏进程空间中,同时执行功能模块的入口函数,多涉及内存操作且功能丰富。

从注入过程上,Android系统一般采用SO注入、ptrace注入、 Zygote注入及感染ELF文件的方式。iOS系统在越狱后可以利用Cydia框架注入dylib实现。

开启外挂并成功注入游戏后,通过外挂界面引导玩家使用功能,随后调用接口函数以HOOK操作来挂钩相应函数、改写参数或者通过调用逻辑,从而实现外挂功能。

Android平台导入表Hook流程图

Android平台导入表Hook流程图

与其他外挂类型相比,注入挂修改游戏代码逻辑的方式更加灵活多样,并且破解者会通过多种手段隐藏注入模块,导致注入挂的排查难度更高、排查周期更久,对游戏造成的负面影响也更加严重。

内存修改挂案例分析

内存修改外挂是最常见的外挂种类,实现原理是通过内存修改器来搜索、定位游戏内存,再对数值模块进行修改。

针对游戏不同类型与玩法,内存修改外挂会造成不同程度的危害,如:修改游戏内角色的攻击力的秒杀挂,修改游戏交易货币数量的无限金币挂、修改游戏关键道具数量等,这类外挂会严重破坏游戏的公平性,引发正常玩家不满。

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

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

exe模拟器修改挂

exe模拟器修改挂本质上是内存修改,但其以exe程序运行在PC端,而游戏运行在PC模拟器中。这时候,外挂不再读写游戏程序内存,而是读写整个模拟器中的数据,通过反复定位,也可以实现内存修改的效果。

exe模拟器修改挂案例演示

exe模拟器修改挂案例演示

这类外挂有两大检测难点:

● 无需开启Root权限即可搜索内存进行数值篡改,让以往的安全环境检测方案难以排查。

● 游戏在运行过程中,数值会实时变动,进行数值排查需要耗费更久的周期,严重影响对抗效率。

变速挂案例分析

众所周知,游戏在运行中需要以帧为单位播放画面,而计算每帧动画播放所需时间,则需要调用C库函数来获取系统时间。如:

// 获取当前精确时间

gettimeofday;

// 获取系统时间

clock_gettime;

这类变速外挂的实现原理就是通过修改获取到的系统时间,来加快或放慢游戏内的时间流速。此外,部分变速外挂通过调用UnityEngine_Time_set_timeScale,传入想要加速的倍数,来实现全局加速效果。

因游戏玩法不同,变速外挂会造成不同的影响,如音乐类、跑酷类游戏可以通过放慢速度,大幅度降低游戏难度。而涉及到养成的游戏则可以加速材料收集进度,缩短游戏的养成周期。

通过加快速度,缩短游戏养成周期

通过加快速度,缩短游戏养成周期

这类外挂会严重破坏游戏的公平性,引发正常玩家不满,如果不加以制止,会急剧缩短游戏的生命周期。

代码篡改案例分析

部分外挂作者还会使用静态分析与动态调试相结合的形式,通过逆向分析手段直接修改游戏客户端代码逻辑来制作“破解版”。常见的破解版游戏会外置功能菜单,实现控制数值修改、去除广告甚至内购破解。

某游戏破解版附带的外挂功能

某游戏破解版附带的外挂功能

这类破解版游戏会附带一系列吸引玩家的外挂功能,其存在会严重挤压正版空间,对游戏收益造成直接影响。

游戏资源篡改案例分析

当下游戏作弊的角度可谓五花八门,除了常见的作弊手段,外挂作者还会通过各种刁钻的角度进行作弊,如篡改游戏内资源文件。

如FPS游戏中,外挂作者通过篡改游戏中地图资源的材质,将其修改成透明,实现了“透视”外挂功能。

FPS游戏资源篡改

相比其他外挂,这类资源篡改外挂角度更加刁钻且难以排查,一旦出现这类外挂,会在短时间内扩散,造成非常严重的游戏平衡问题。

模拟点击挂案例分析

常见的模拟点击外挂可通过设置按键位置、按键顺序、按键间隔时间等参数,制作自动化模拟点击脚本。

某软件的模拟点击功能

某软件的模拟点击功能

在特定的游戏环境下,选择模拟点击方案,从而实现自动打怪,自动任务,自动挂机领奖励等功能。这类模拟点击外挂,会对游戏平衡造成极大影响,破坏正常玩家游戏体验。

封包挂案例分析

在游戏运行过程中,我们点击某个按钮或进行某种游戏行为的时候,客户端会按照跟服务器约定好的规则,将游戏行为请求和参数通过网络封包发送给服务器,服务器收到请求后做出解析,将信息处理后反馈回客户端,客户端再将反馈信息进行解析展示给玩家。

FairGuard

正常状态下游戏数据交互

破解者通常会使用抓包工具,获得游戏封包数据。当破解者抓取到了封包数据并破解后,即可随意篡改游戏内上下行的数据,如游戏角色攻击力、生命值、游戏内胜负逻辑、投降判负逻辑等,从而实现一系列外挂功能。

FairGuard

通讯协议破解后的客户端服务器交互

虚拟环境案例

所谓虚拟环境,是指独立于设备原有系统/破坏设备原有系统的环境,如:iOS越狱、Android Root、虚拟机、虚拟框架、云手机等。这类虚拟环境可以为外挂提供更高级别的设备权限,是游戏外挂滋生的温床。

游戏如何应对外挂问题?

面对日益庞大的游戏黑灰产侵扰,游戏厂商亟需一支强大、专业的游戏安全队伍。FairGuard以技术为驱动,研发了多项业界独家技术,搭建了针对不同场景及游戏类型的功能矩阵,可覆盖游戏全场景安全问题。

  • 反外挂功能

针对游戏将面临一系列外挂修改风险,FairGuard研发了行为检测方案,搭配200+维度的智能感知系统,可通杀各类外挂及其变种,做到有效防护。

  • 防破解功能

FairGuard业界独家「无API签名校验技术」,对游戏的引擎与代码进行深度加密,并对游戏包签名和文件完整性进行多重校验,极大地减少被绕过的可能性,防止游戏被植入恶意模块、剔除广告等行为。

  • 主动识别恶意模块机制

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

  • 反注入器功能

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

  • 反引擎级变速

深入游戏引擎底层,对引擎级的变速进行深度检测,获取具体变速倍数,可实现精准封号打击或闪退处理。

  • 变速无效化

采用FairGuard独家无导入函数SO加壳技术,高强度加壳保护游戏内代码,经大量实机测试,可无视任何变速器及其变种,使其变速功能无效化。

  • 资源加密功能

FairGuard独家资源加密方案,深入游戏引擎底层,结合游戏资源文件结构及加载机理精心构造。

可为游戏提供高强度加密保护,具备高兼容性、运行消耗小、性能无影响的特点,支持Android/iOS/PC三平台、支持资源在线更新。此外,方案进行了特殊优化,无需开发对接与接入,加解密对开发透明。

  • 数据校验功能

FairGuard提供数据校验功能,可精准校验游戏上下行数据,保证游戏通讯协议安全,避免出现封包挂、私服问题。

  • 安全环境检测

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/907986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

明星翻包口播介绍产品视频的创意与实践

在当前社交媒体充斥着各种内容的时代,创意而有趣的内容形式成为品牌吸引受众目光的关键。明星翻包口播介绍产品视频,作为一种新颖的内容形式,不仅满足了观众对明星生活的好奇心,还将产品介绍融入其中,为品牌推广带来全…

Spring练习---28 (用户表和角色表分析,角色列表展示,角色层和Dao层的设置,页面展示操作)

84、下面进入我们的业务层面,进入我们的业务层面我们先分析一个东西,我们要分析用户和角色的关系,因为我们只有在分析完用户和角色之间的关系后,我们才知道表的关系,实体的关系 85、现在我们先画一张表,分析…

传统节日民俗文化及民间故事推广系统 微信小程序

傣族节日及民间故事推广小程序是在的数据存储主要通过MySQL。用户在使用应用时产生的数据通过java语言传递给数据库。通过此方式促进傣族节日及民间故事推广信息流动和数据传输效率,提供一个内容丰富、功能多样、易于操作的平台。述了数据库的设计,系统的…

Application of Acrel Earth Leakage Relay in Intell

安科瑞 华楠 Abstract: the necessity of applying residual current relay in intelligent building is analyzed, the main functions, working principle, classification situation of ASJ residual current relay are introduced, and the principles and precautions in…

Everything+cpolar搭建在线资料库,实现随时随地访问

Everythingcpolar搭建在线资料库,实现随时随地访问 文章目录 Everythingcpolar搭建在线资料库,实现随时随地访问前言1.软件安装完成后,打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 &a…

Cesium 模型视角锁定(entity)

需求: 需要将视角锁定在以模型为中心,无论怎么旋转和缩放,都是以模型为中心点的。 方法: //绑定方式 viewer.trackedEntity entity; //解绑方式 viewer.trackedEntity undefined;例子 var model_entity viewer.entities.add…

6个主流的工业3D管道设计软件

3D 管道设计软件是大多数行业工程工作的主要部分,例如: 电力、石油和天然气、石化、炼油厂、纸浆和造纸、化学品和加工业。 全球各工程公司使用了近 50 种工厂或管道设计软件。 每个软件都有优点和缺点,包括价格点。 EPC 和业主部门当前的趋势…

STM32 F103C8T6学习笔记11:RTC实时时钟—OLED手表日历

之前在 学习笔记10文章 做了一个简易的,使用定时器计时的简单时钟,现在使用RTC实时时钟同步代替定时器来实现一下OLED手表日历,接着上个实验文章进行完善~~ 文章提供源码、测试工程下载、测试效果图。 目录 RTC实时时钟: 简介&…

MySQL——基础——内连接

一、内连接查询语法 隐式内连接 SELECT 字段列表 FROM 表1,表2 WHERE 条件...; 显示内连接 SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 连接条件...; 内连接查询的是两张表交集的部分 二、内连接演示 1.查询每一个员工的姓名,及关联的部门的名称…

多模双芯LC光纤跳线应用下的光模块方案之争

从40G QSFP SR4光模块产品开始,多模MPO光纤跳线 逐步进入光模块用户的视野。随着新建数据中心的增多,该类光纤跳线也开始普及并被广泛应用。然而,对于不少10G/25G时代就已经建设好的“老旧”机房来说,机房内基本全部部署的是多模L…

[MySQL]主从服务器布置

配置主服务器 配置文件 /etc/my.cnf 在[mysqld]下进行配置 log_binON //启动二进制日志 log-bin mysql-bin //启用二进制日志,用于记录主服务器的更新操作 server-id 1 // 用来表示mysql服务id,保证集成环境中的唯一性 , 范围 [1,2^32) read-only0 // 1表示只…

Java课题笔记~ VUE

1.1 概述 Vue 是一套前端框架,免除原生JavaScript中的DOM操作 我们之前也学习过后端的框架 Mybatis Mybatis 是用来简化 jdbc 代码编写的;而 VUE 是前端的框架,是用来简化 JavaScript 代码编写的。 学习了 VUE 后,这部分代码我…

6.链路追踪-Zipkin

链路追踪(Distributed Tracing)是一种用于监视分布式应用程序的技术,通过收集和展示分布式系统中不同组件之间的调用和交互情况,帮助开发人员和运维团队理解系统中的请求流程、性能瓶颈和异常情况。 1.Zipkin Zipkin 是一个开源的…

商户注册——异常处理

2.4.5 异常处理 2.4.5.1 异常信息格式 系统在交互中难免会有异常发生,前端为了解析异常信息向用户提示定义了异常信息的返回格式,如下: 1、返回response状态说明 状态码说明200成功401没有权限500程序错误(需要自定义错误体)2、自定义错误体 {"errCode": &qu…

matlab使用教程(20)—插值基础

1.网格和散点样本数据 插值是在位于一组样本数据点域中的查询位置进行函数值估算的方法。函数值是根据最接近查询点的样本数据点计算的。MATLAB 根据样本数据的结构,可以执行两种插值。样本数据可以形成网格,也可以是分散的。 网格化的样本数据使得插值…

1688批发工厂商品详情数据接口、商品采集接口(标题、详情、价格、主图)

接口背景 阿里巴巴(1688.com)是全球企业间(B2B)电子商务的著名品牌,为数千万网商提供海量商机信息和便捷安全的在线交易市场,也是商人们以商会友、真实互动的社区平台。供应商在该平台上展示和销售各类商品,而买家可以根据自己的需求选择合适的商品进行采购。为了提…

嵌入式糊涂蛋--基础恢复

2023年8月21日,距离找工作还有约365天。 现阶段状态:嵌入式各相关原理遗忘较大,嵌入式相关项目较少。机器学习、强化学习、数学规划等算法知识学得杂乱。 嵌入式学习路线 图片来源于公众号CodeSheep 图片来源于公众号CodeSheep 图片来源…

CSS 小技能(一):HTML 两个图片竖着平铺、设置图片点击、设置滚动条颜色

下面的代码没有考虑响应式的效果&#xff0c;如果考虑的话还需要一些代码进行处理。 【注】当时写的时候仅考虑了 webkit 内核的浏览器&#xff0c;如果是 IE 或者其他浏览器&#xff0c;请增加额外的 CSS 样式进行控制。 <!DOCTYPE html> <html> <head>&l…

YZ系列工具:YZ07:VBA对工作簿事件的监听

【分享成果&#xff0c;随喜正能量】善心善行的你&#xff0c;利己利他&#xff0c;积累无量福德&#xff0c;菩萨常伴左右&#xff0c;保佑一生平安&#xff0c; 财运亨通&#xff0c;福禄双收。身如逆流船&#xff0c;心比铁石坚。。 我给VBA下的定义&#xff1a;VBA是个人小…

微星笔记本暑促好货多多,开学季选购看这里!

随着即将到来的学期的临近&#xff0c;学生族如何选择一款称手的笔记本&#xff0c;就提上了日程。各种产品定位取向&#xff0c;各种价格范围&#xff0c;如果没有明确自己的需求和预算&#xff0c;就有点不知所措了~OK&#xff0c;今天就让我们从需求&预算出发&#xff0…