游戏如何检测加速外挂
在游戏面临的众多外挂风险中,除了常见的内存修改挂、注入挂等作弊手段,黑灰产还常用「加速」手段实现作弊。
游戏安全风险分布占比图
「加速」顾名思义是指改变游戏内的速度。游戏在运行中需要以帧为单位播放画面,而计算每帧动画播放所需时间,则需要调用C库函数来获取系统时间。如:
// 获取当前精确时间 gettimeofday;
// 获取系统时间 clock_gettime;
加速外挂的实现原理就是通过修改获取到的系统时间,来加快游戏内的时间流速。
使用GameGuardian修改器实现的加速效果
此外,部分加速外挂还可通过调用游戏引擎内时间实现加速。如某环助手,可以通过调用 UnityEngine_Time_set_timeScale ,传入想要加速的倍数,来实现全局加速效果。
某环助手的全局加速功能,可以实现快速养成
使用加速外挂,可以实现快速收集资源材料,大幅度缩短游戏养成周期,对于带有养成环节的放置类、卡牌类等游戏而言,加速外挂泛滥会导致严重的公平性问题。
除了加速,这类外挂还会因游戏玩法不同,造成不同的影响,如音乐类、跑酷类游戏可以通过放慢游戏速度,大幅度降低游戏难度,同样也会导致公平性问题与正常玩家不满。
通过放慢速度,降低音乐游戏难度
此外,据FairGuard观察发现,变速外挂的高维度作弊趋势愈发显著。部分作弊用户使用 Cheat Engine 修改在 PC 模拟器中运行的移动端游戏,并制售其外挂。这种高维度的作弊会绕过传统的检测手段,加大检测排查难度。
其实现原理为hook以下三个有关时间的函数:
timeGetTime(记下开始时的时间);
GetTickCount(获取当前毫秒数);
QueryPerformanceCount(获取精确时间)
修改器会记录步骤开始时间,并获取时间函数的地址,通过hook操作,跳转到自设函数,并在自设函数中修改返回值或输出参数,具体计算方式为当前时间+(当前时间-开始时间)*想要传入的倍数。
Cheat Engine 调整倍速实现加速快速通关游戏
变速外挂的泛滥会破坏游戏的公平性,引发正常玩家不满,如果不及时加以制止,会导致游戏的生命周期缩短,厂商收益直接受损等严重后果。
针对游戏面临的变速外挂问题,FairGuard定制了专门的应对策略,该方案已接入多款热门游戏并验证了出色的保护能力。
变速闪退功能
采用更加底层的检测手段,经大量实机测试,可无视任何变速器及其变种,一旦检测到变速情况,将立即闪退游戏。
反驱动级变速
针对高维度作弊问题,FairGuard深入游戏引擎底层,对变速行为进行深度检测,获取具体变速倍数,可精准识别驱动级、进程级的变速,可自行配置闪退处理或封号打击。
反外挂功能
针对游戏将面临一系列外挂修改风险,FairGuard研发了行为检测方案,搭配300+维度的智能感知系统,可通杀各类外挂及其变种,做到有效防护。
相关文章:

游戏如何检测加速外挂
在游戏面临的众多外挂风险中,除了常见的内存修改挂、注入挂等作弊手段,黑灰产还常用「加速」手段实现作弊。 游戏安全风险分布占比图 「加速」顾名思义是指改变游戏内的速度。游戏在运行中需要以帧为单位播放画面,而计算每帧动画播放所需时间…...

【STM32 HAL库】OLED显示模块
【STM32 HAL库】OLED显示模块 前言理论OLED基本参数OLED基本驱动原理OLED坐标轴 应用CubeMx配置底层函数代码高层封装函数printf显示函数 前言 本文为笔者学习 OLED 的总结,基于keysking的视频内容,如有错误,欢迎指正 理论 OLED基本参数 …...
Redis---卸载Redis
简介 在Linux系统或者Mac系统卸载Redis。 步骤 1、停止Redis服务 #查看Redis服务进行 ps -ef | grep redis #停止Redis服务 redis-cli -a 111111 -p 6370 shutdown #再次查看Redis服务进程 ps -ef | grep redis2、删除/usr/local/bin目录下与Redis相关的文件 #查找Redis相…...
《C++模板元编程实战》阅读记录
目录 写在前面基本介绍第一部分 元编程基础技术第1章 基本技巧1.1元函数与type_traits1.1.1 元函数介绍 写在前面 这本书之前是在一片公众号里面介绍的,我觉的不错,想着提高一下自己C的水平,就买了一本,大概是2022年下半年买的&a…...

pybind11 学习笔记
pybind11 学习笔记 0. 一个例子1. 官方文档1.1 Installing the Library1.1.1 Include as A Submodule1.1.2 Include with PyPI1.1.3 Include with Conda-forge 1.2 First Steps1.2.1 Separate Files1.2.2 PYBIND11_MODULE() 宏1.2.3 example.cpython-38-x86_64-linux-gnu.so 的…...

36.贪心算法3
1.坏了的计算器(medium) . - 力扣(LeetCode) 题目解析 算法原理 代码 class Solution {public int brokenCalc(int startValue, int target) {// 正难则反 贪⼼int ret 0;while (target > startValue) {if (target % 2 0…...

htop(1) command
文章目录 1.简介2.格式3.选项4.交互式命令5.示例6.小结参考文献 1.简介 htop 是一种交互式、跨平台的基于 ncurses 的进程查看器。 类似于 top,但 htop 允许您垂直和水平滚动,并使用指向设备(鼠标)进行交互。您可以观察系统上运行的所有进程࿰…...
ODrive学习——添加485编码器支持
系列文章目录 文章目录 系列文章目录前言一、端口处理二、在Encoder中引入新的类型1.增加485类型2.增加串口的初始化操作3.数据处理 总结 前言 尝试在ODrive中添加485型的编码器的支持 一、端口处理 计划使用PA2及PA3作为485通信的端口。这样首先要把外部温度传感器的I/O口给…...
在OSX上: 使用brew安装nginx 后,在通过编译安装第三方模块
1. 下载nginx安装包nginx: download 2. mac环境编译源码需要安装pcre、openssl等第三方依赖,可参考在OSX上: 使用brew安装nginx 后,在通过编译安装第三方模块 - ZhYQ_note - 博客园 3. nginx可支持的配置参考Building nginx from Sources 4. 执行 ./…...

C++初阶学习第六弹------标准库中的string类
目录 一.标准库中的string类 二.string的常用接口函数 2.1string类对象的构造 2.2 string的容量操作 2.3 string类的访问与遍历 2.4 string类对象的修改 2.5 string类常用的非成员函数 三、总结 一.标准库中的string类 可以简单理解成把string类理解为变长的字符数组&#x…...

Linux基础-Makefile的编写、以及编写第一个Linux程序:进度条(模拟在 方便下载的同时,更新图形化界面)
目录 一、Linux项目自动化构建工具-make/Makefile 编辑 背景: makefile小技巧: 二、Linux第一个小程序-进度条 先导: 1.如何利用/r,fflush(stdout)来实现我们想要的效果; 2.写一个倒计时: 进度条…...

华为云DevSecOps和DevOps
目录 1.华为云DevSecOps和DevOps 1.1 DevSecOps 1.1.1 核心功能 1.1.2 优势 1.2 DevOps 1.2.1 核心功能 1.2.2 优势 1.3 DevOps和DevSecOps的区别 1.3.1 安全性集成 1.3.2 自动化的安全工具 1.3.3 团队协作 1.3.4 质量与合规性 1.3.5 成本与风险管理 1.3.5 总结 …...
RESTful API设计中的GET与POST:何时及为何成为首选?
RESTful API设计中的GET与POST:何时及为何成为首选? 在RESTful API的设计过程中,HTTP方法(GET、POST、PUT、DELETE等)作为资源的操作标识,扮演着至关重要的角色。然而,在实际开发中,…...
秋招自我介绍
1min 尊敬的面试官您好,感谢您百忙之中参加我的面试。我是来自北京大学的王峰。 在实习经历方面,我曾在美团和小米公司实习。在美团主要负责核身、质检、词云项目。 在核身项目中,完整的经历从0-1的项目上线过程 在质检项目中,进…...

html加载页面
<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>算数模一体化</title> </head><b…...

【数据可视化】Arcgis api4.x 热力图、时间动态热力图、timeSlider时间滑块控件应用 (超详细、附免费教学数据、收藏!)
1.效果 目录 1.效果 2.安装配置 3.热力图 4.TimeSlider滑块应用 4.1 时间滑块控件 4.2 添加控件 5.时间动态热力图 2.安装配置 这里不教大家如何在前端框架使用arcgis api。不过npm安装、css如何引入、教学数据存放与图层加载的教程,可以浏览我之前发的一篇文…...

WEB攻防-JavaWweb项目JWT身份攻击组件安全访问控制
知识点: 1、JavaWeb常见安全及代码逻辑; 2、目录遍历&身份验证&逻辑&JWT; 3、访问控制&安全组件&越权&三方组件; 演示案例: JavaWeb-WebGoat8靶场搭建使用 安全问题-目录遍历&身份认…...

【C++算法】模拟算法
替换所有的问号 题目链接 替换所有的问号https://leetcode.cn/problems/replace-all-s-to-avoid-consecutive-repeating-characters/description/ 算法原理 代码步骤 class Solution { public:string modifyString(string s) {int n s.size();for(int i 0; i < n; i){…...

模版进阶(template)
1.非类型模版参数 模版参数分类类型形参与非类型形参。 ① 类型形参:出现在在模板参数列表中,跟在class或者typename之类的参数类型名称。 ② 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当…...

vue2与vue3的区别
1.v-if与v-for的优先级不同 2.vue2中存在数据更新以后视频不更新的问题,故存在$set来解决这一问题,而vue3中数据双向绑定不存在数据更新视图不更新的问题,所以也就没有this.$set...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...