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

FairGuard游戏加固全面适配纯血鸿蒙NEXT

2024年10月8日,华为正式宣布其原生鸿蒙操作系统 HarmonyOS NEXT 进入公测阶段,标志着其自有生态构建的重要里程碑。

纯血鸿蒙NEXT

作为游戏安全领域领先的第三方服务商,FairGuard游戏加固在早期就加入了鸿蒙生态的开发,基于多项独家技术与十余年安全经验,围绕鸿蒙构建了一套成熟完善的解决方案。

目前,FairGuard游戏加固方案支持对鸿蒙应用的hap文件加固、防hap重签名、资源加密及反内存修改、反加速、反注入、反调试、反代码篡改、特征在线下发等功能。

01 hap文件加固

据分析发现,在收集的部分应用样本中,可以通过解压、反编译手段可以查看hap中的abc及SO文件的问题。

虽然目前市面上针对abc的反编译工具还不成熟,abc逆向后的分析理解仍存在一定的门槛,但也暴露出了存在SO未加壳的现象。

SO文件中包含着游戏内的关键代码,未加壳状态很容易被外挂作者恶意分析利用,从而对游戏安全造成危害。针对这一问题,FairGuard提供高强度的SO加壳,保障hap文件安全。

FairGuard无导入函数SO加壳效果对比

FairGuard无导入函数SO加壳效果对比

02 防hap重签名

不同于安卓系统,鸿蒙应用签名需要通过数字证书(.cer文件)和HarmonyAppProvision(.p7b文件)来保证应用的完整性,还需要通过DevEco Studio来生成密钥文件(.p12文件)和证书请求文件(.csr文件)。

FairGuard

鸿蒙发布应用流程图

这样生成的应用在使用鸿蒙账号登录游戏时,会由系统发出校验来确保游戏没有被重签名二次打包,可以在一定程度上对抗破解、盗版应用问题。

但这其中也存在一些问题,如果游戏登录方式为游戏方账号或扫码登录等形式,则会绕过系统校验,游戏依然存在较大的重打包、破解风险。

针对这一问题,FairGuard提供多重签名校验服务,可以针对hap/app签名和文件完整性进行多重校验,防止游戏被二次打包、植入恶意模块、剔除广告等行为。

03 资源加密

如何平衡游戏资源加密强度与性能消耗,一直以来都是游戏厂商的一大痛点。一方面是游戏资源被破解可能会造成的竞品抄袭、知识产权受损、游戏内容剧透、篡改游戏资源制售外挂等问题;另一方面是游戏包体大小、运行流畅程度等玩家体验的重要指标。

针对这一痛点,FairGuard对游戏资源加密进行了特殊构造,只在资源被使用时才会解密,因此释放到缓存时还是处于加密状态。

加密方案只对核心关键位置做加密处理,对游戏加载速度、运行流程程度的几乎没有影响,实现了无感知。

FairGuard资源加密算法,具有加密强度高且性能消耗小的特点

FairGuard资源加密算法,具有加密强度高且性能消耗小的特点

从技术层面来看,游戏安全对抗是一个持续上升的过程,对于未来纯血鸿蒙NEXT可能出现的类似越狱(root)等获取系统高级别权限的行为,FairGuard游戏加固也进行了预判与防护,可提供反内存修改、反加速、反注入、反调试、反代码篡改、特征在线下发等一系列特色功能。

反内存修改功能

针对游戏面临的内存修改风险,FairGuard潜心研发了「行为检测方案」,通过敏锐的智能感知系统,一旦检测到修改行为,可立即闪退,通杀各类修改外挂及其变种,做到有效防护。

反加速功能

采用更加底层的检测手段,可无视任何变速器及其变种,一旦检测到变速情况,将立即闪退游戏。

反注入功能

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

反调试功能

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

特征在线下发

出现新的外挂变种,可通过在线推送特征的方式即时拦截新外挂,无需强制更新游戏,有效提高对抗效率。

反代码篡改

可防止对游戏内代码、脚本的篡改、删除等恶意操作,一旦发现立即闪退。

此外,FairGuard秉承了产品一贯的易用性,对接入体验进行特殊优化。实现了极速加固功能,仅需简单步骤,无需开发人员对接,无论包体大小,在30秒内即可完成接入保护,将接入成本降至最低。

未来,FairGuard游戏加固将继续坚持顶尖技术、优质服务的承诺,在技术领域持续探索,构建技术壁垒。为游戏厂商提供安全、高效的游戏加固服务,为鸿蒙生态安全添砖加瓦,为游戏安全保驾护航。

http://www.lryc.cn/news/465423.html

相关文章:

  • 鲸信私有化即时通信如何平衡安全性与易用性之间的关系?
  • vivado 接口带宽验证
  • Qt中使用线程之QThread
  • 多IP连接
  • Linux重点yum源配置
  • 289.生命游戏
  • 如何保证Redis和数据库的数据一致性
  • Android Framework AMS(06)startActivity分析-3(补充:onPause和onStop相关流程解读)
  • 【LangChain系列2】【Model I/O详解】
  • 动态规划-子数组系列——1567.乘积为正数的最长子数组
  • Linux 运行执行文件并将日志输出保存到文本文件中
  • 注册安全分析报告:北外网校
  • 预警期刊命运逆袭到毕业好刊,仅45天!闭眼冲速度,发文量暴增!
  • 【LeetCode每日一题】——523.连续的子数组和
  • leetcode54:螺旋矩阵
  • 全方面熟悉Maven项目管理工具(三)认识mvn的各类构建命令并创建、打包Web工程
  • MySQL中查询语句的执行流程
  • 【代码随想录Day47】单调栈Part02
  • Java全栈经典面试题剖析3】JavaSE面向对象2
  • @JsonIgnoreProperties做接口对接时使用带来的好处
  • SpringBoot整合mybatisPlus实现批量插入并获取ID
  • 实战RAG第一天——llama_index向量索引,查询引擎,搜索知识库问答,全部代码,保姆级教学
  • 大数据治理
  • 云计算作业
  • 复制文件到U盘提示:对于目标文件系统,文件过大
  • SpringBoot+Swagger2.7.0实现汉化(2.8.0不行)
  • c++ 散列表
  • Windows通过netsh控制安全中心防火墙和网络保护策略
  • UML(Unified Modeling Language,统一建模语言)
  • 深⼊理解指针(2)