游戏反Frida注入检测方案

在游戏安全对抗过程中,有不少外挂的实现基于对游戏内存模块进行修改,这类外挂通常会使用内存修改器,除此之外,还有一种门槛相对更高、也更难检测的「注入挂」

据FairGuard游戏安全数据统计,在游戏面临的众多安全风险中,注入挂的占比高达17% 。如此高的占比,可见注入挂的危害严重程度。

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

注入挂的实现原理也十分多样。Android 系统可采用 SO 注入、ptrace 注入、 Zygote 注入和感染 ELF 文件等方式实现。本文我们将重点讲解 Frida 框架及其变种的注入原理及解决方案。

Frida 是一款动态插桩工具,可以将代码插入到原生 APP 的内存空间中,并进行动态调试与修改。

Frida官网介绍

其注入原理是基于 ptrace 实现的,Frida 通过调用系统 ptrace 向游戏进程注入 frida-agent-xx.so 模块,通过这个模块与手机端安装的 frida-server 通讯,从而实现一系列分析与 hook 操作,如 hook 游戏中己方角色的攻击函数,实现“倍攻挂”等。

Frida 与 ida 联合调试apk

由于 Frida 的配置环境简单、操作便捷,支持Java 层和 Native 层 hook 操作,并且使用 python、JavaScript 等 “胶水语言”,大幅度降低了逆向分析、作弊修改的门槛,除此之外,Frida 还存在以下检测难点:

  • 变种众多,Frida 作为一款成熟的开源工具,具有大量的变种及魔改版,如常见的 hluda-server ,这些变种可以隐藏 Frida 特征,绕过传统的检测手段,加大检测排查难度。
  • 作弊情况复杂,Frida 基于python 、 javascript 语言,可以通杀 Android、iOS、Linux、Windows 等平台,在不同平台上可搭配不同工具实现作弊。

针对游戏面临的注入挂风险,FairGuard定制了专门的应对策略,该方案已接入多款热门游戏并验证了出色的保护能力。

主动识别恶意模块机制

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

反注入器功能

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

反调试功能

防止外挂作者对游戏进行调试,阻止对游戏的静态或动态分析,一旦发现立即闪退。

安全环境检测功能

不同于市面上其他产品,FairGuard加固采用更底层的检测手段,可精准识别虚拟框架、虚拟机、越狱、ROOT、云手机等各类风险环境,并提供个性化闪退策略。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

oops-framework框架 之 创建项目(二)

引擎: CocosCreator 3.8.0 环境: Mac Gitee: oops-game-kit 构建 本篇博客将使用oops-game-kit 构建一个新的开发项目, 关于 oops-framework 框架的了解,可参考上篇博客: oops-framework框架 之 初始了解(一) 大概…

11.2每日一题(函数定义域)

因为等式的左边是单调增的,所以右边的等式也需要单调增从而确定函数的定义域

【C语言】【字符串函数的模拟实现】strcpy,strcat,strcmp,strncpy,strncat,strstr

1.strcpy char* strcpy(char*destination,const char* source)源字符串必须以’\0’结尾会将原字符串中的‘\0’拷贝到目标字符串中目标空间必须足够大,能放得下源字符串 模拟实现: char *my_strcpy(char* des,const char *sour) {char* retdes;asser…

接口测试探索基础

接口基础知识理解: 接口一般来说有两种:程序接口和协议接口 程序接口:程序内部的接口、倾向于方法间的调通信方式 协议接口:系统对外的接口、其他应用通过授权或认证后获取数据的方式 常见的的接口: 1、webService接口…

海云安谢朝海:开发安全领域大模型新实践 人工智能助力高效安全左移

2023年11月29日,2023中国(深圳)金融科技大会成功举行,该会议是深圳连续举办的第七届金融科技主题年度会议,也是2023深圳国际金融科技节重要活动之一。做好金融工作,需要兼顾创新与安全,当智能体…

Adobe:真正持续突破需要更多增长

如果我们调出 Adobe(NASDAQ:ADBE )的长期图表,我们会发现自 2011 年以来,长期投资者尤其获得了非常丰厚的回报。此外,该股票在去年 9 月为投资者提供了绝佳的机会由于股票在过去 14 个月里的回报率远超 100…

SQL Server 数据库,使用函数查询统计信息

4.1 在查询中使用函数 在前面章节已经学习了一些简单的增、删、改、查询的T-SOL.语句,但是为了更方便快捷地完 成大量的任务,SOLServer提供了一些内部函数,可以和SOLServer的SELECT语句联合使用,也可 以与UPDATE和INSERT一起使用&…

SQL Server 2016(分离和附加数据库)

1、实验环境。 基于上一个实验《SQL Server(创建数据库)》 2、需求描述。 class数据库的数据文件和事务日志文件都位于C:\db_class目录下。现在需要把class数据库的数据文件和事务日志文件分开存放,数据文件class.mdf存放于原位置&#xff0…

Flink的部署模式和运行模式

集群角色 Flink提交作业和执行任务,需要几个关键组件: 客户端:代码由客户端获取并作转换,之后提交给Jobmanager Jobmanager就是Flink集群的管事人,对作业进行中央调度管理;当从客户端获取到转换过的作业后…

DCCK“启航计划“3+2第一课机器视觉导论

用相机代替人眼去获取图像,然后处理图像,给出指令。 如:相机获取可口可乐的液面高度图片,通过连接线床给图像处理程序,程序给出合格不合格的判断再执行后续操作 作用:机器不会疲劳,机器判断标准…

【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例

目录 1. 引言 2. 背景 3. 快速学习并完成开发 3.1 了解需求,知道要干什么 3.2 了解Matlab/Simulink基本功能 第一步,查看Matlab的中文网站中文网站https://www.ilovematlab.cn/resources/对Matlab/Simulink有了一个初步认识。 3.3 实现一个最简单…

Sock0s1.1

信息收集 探测存活主机 发现存活主机为192.168.217.133 探测开放端口 nmap -sT -p- 192.168.217.133 -oA ./ports 发现两个端口开放,分别是22 3128,同时探测到了8080端口,但是显示是关闭的状态。 UDP端口探测 nmap -sU --top-ports 20 1…

计算机组成学习-计算机系统概述总结

1、计算机系统概述 日常见到的计算机有显示器、键盘、鼠标、音箱、主机箱等;主机箱中有:主板、CPU、硬盘、内存、显卡、声卡等; 1.1 计算机系统层次结构 1.2 计算机系统的基本组成 包括硬件系统和软件系统两部分。 1.2.1 计算机硬件 计算…

【总结】二次曲面的和正负惯性指数

最难记得就是单叶双曲面和双叶双曲面,我的方法是**“负担”,负惯性指数的个数为单个就是单叶双曲面。** 特别要注意,这里的等号右边是正数,如果是负数要两边同时乘以一个负一。

Android Studio build.gradle获取项目绝对路径

通过这个字段 ${project.rootProject.projectDir}";如项目根build.gradle中: // Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {repositories {google()mavenCentral()// jcenter() // kee…

Java-easyExcel入门教程

文章目录 前言一、简介二、使用步骤1. 引入依赖2. 前提准备3. 实现导出4. 实现导入 三、我所遇到的问题四、总结 前言 在日常开发中经常会遇到一些 excel 表导入导出的需求,以往会使用 POI 封装成工具类来处理这些导入导出的需求,但是 POI 在导入大文件…

20231202将RK3399的挖掘机开发板在Andorid12系统下编译ENG模式

20231202将RK3399的挖掘机开发板在Andorid12系统下编译ENG模式 2023/12/2 10:21 百度搜索:RK3399 编译 ENG版本 RK3399 lunch ENG Z:\rk_android12_220722\device\rockchip\rk3399\AndroidProducts.mk # # Copyright 2014 The Android Open-Source Project # # Lice…

element-plus的走马灯carousel图片轮播让图片居中显示

element-plus的走马灯carousel图片轮播怎么让图片居中显示呢?官网里查了一下,没找到。只能自己摸索一下了。盒子模型,要让图片居中,首先要确定盒子的大小,然后确定图片的大小,盒子使用居中样式,…

skywalking 9.0.0开启自监控和配置集群

一、skywalking介绍 SkyWalking是有国内开源爱好者吴晟开源并提交到Apache孵化器的开源项目,2017年12月SkyWalking成为Apache国内首个个人孵化项目,2019年4月17日SkyWalking从Apache基金会的孵化器毕业成为顶级项目,目前SkyWalking支持Java、…

CSS 滚动捕获 scroll-margin

CSS滚动捕获 scroll-margin 非滚动捕获容器语法兼容性 CSS滚动捕获 scroll-margin 设置元素的滚动外边距 非滚动捕获容器 之前在 scroll-padding 中说过如何用 scroll-padding 避免锚点定位时元素贴着容器边缘的问题, 现在我们尝试用 scroll-margin 解决 <body><ma…