Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。通过unity 3D开发的游戏有很多为大家所熟知,手游比如王者荣耀、炉石传说、神庙逃亡;网页游戏例如新仙剑、QQ乐团等。

游戏软件开发商面临的挑战和问题

➤ 发行的游戏被盗版,核心算法和游戏资源被盗用。

【客户案例】Unity 3D保护方案

上海雄**电子有限公司

开发语言:C++ 、C#

游戏引擎:Unity 3D-2017, Unreal Engine 4

产品形态:软件+游戏机硬件

客户需求:对软件安全性要求极高,主要是对软件源码进行保护,防止游戏被破解、内存被修改,以及游戏资源被窃取。

加密方案

主程序保护:Unity 3D 使用 Virbox Protector对Assembly-CSharp.dll 进行加壳保护,Unreal Engine 4 的游戏对主程序 exe 加壳,并且关键函数使用了虚拟化和碎片代码执行。

环境保护:启用反黑引擎,实时保护软件运行环境,防止内存被修改,进行 Hook 检测等。

资源保护:使用 DSProtector 对游戏软件的多个资源文件进行加密,例如 Resources 目录下和其它 Unity 3D 或者是 *.PAK 资源文件等。

最终效果

使用 DnSpy 工具对保护过的文件进行反编译尝试,DnSpy 无法反编译出源代码和资源原文件。使用 IDA PRO 无法反汇编源代码,游戏运行不掉帧,经过保护的游戏软件,自 2016 年 3 月精锐 5 上线至今,没有发现破解案例。

碎片代码执行:基于 LLVM 和 ARM 虚拟机技术,自动抽取海量代码移入内核态模块,极大的降低了使用门槛,不再需要手动移植算法,效果上类似于将软件打散执行,让破解者无从下手。

如何保证安全强度?

➤ Virbox Protector

Virbox Protector 是深思数盾自主研发的高强度外壳加密工具,集碎片代码执行(自动化代码移植)、代码混淆、外壳加密、数据加密于一身,无需编程就能达到极高的安全强度。

针对游戏软件的特性,Virbox Protector 为 Unity 3D、Unreal Engine 4 进行了专门优化。

防护效果:

①有效防止 exe、dll 等文件被反编译或反汇编;

②利用代码混淆和虚拟化技术对软件关键函数进行保护,延缓黑客通过人肉还原代码逻辑的进度;

③碎片代码执行将关键代码剥离至安全内核中运行,使得黑客无法还原出代码逻辑。

➤ AHS(反黑引擎)

内置 R0 级核心态反黑引擎,是一种基于黑客行为特征的反制手段,可以精准的打击调试、注入、内存修改等行为,使得软件安全由被动防守转变为主动防护。

反黑引擎(AHS)特点和功能:

● 高级进程防护

● 基于黑名单特征库的进程模块查杀

● 内存防护

● 可疑进程模块上传,特征库持续更新

➤ 全盘加密(即将上线)

基于 True Crypt 技术,完整的加密整个磁盘扇区,密钥存放在精锐 5 的内部。没有精锐 5 无法启动系统,也无法使用外挂硬盘的方式读取数据,硬盘与精锐 5 的通讯已做安全处理,黑客无法监听拦截。

➤ 操作系统裁剪服务(即将上线)

删除没有必要的 Windows 模块,绕开 Windows 桌面直接进入游戏,并且去除多余的甚至危害系统安全的模块。整个系统裁剪后仅有 1G 甚至几百 M,完美兼容 4/8G的 SSD。

Unity3D保护交流QQ群:群号730803578

Unity3D加密保护案例分享(一)的更多相关文章

  1. Unity3D加密保护解决方案

    精锐5加密锁支持Unity3D代码及资源保护,并提供授权方案 产品简介 可使用Virbox Protector加壳工具对Unity3D代码进行加密.Unity3D使用开源mono C#语法,代码会编译 ...

  2. Unity3D 代码加密保护工具

    加密方式   对于Unity3D的保护方式,主要是通过Virbox Protector Standalone对Unity3D程序的整个生成目录进行加密,可以保护Unity的主要代码逻辑不被反编译,最大 ...

  3. mysql的"双1设置"-数据安全的关键参数(案例分享)

    mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...

  4. MySQL数据库详解之"双1设置"的数据安全的关键参数案例分享

    mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...

  5. Unity3D加密流程文档

    一键搞定源代码.资源等保护 代码被反编译破解,无可奈何? Unity3D 开发的软件程序,无论使用虚拟化,还是混淆,都无法抵抗住黑客丧心病狂的破解,轻松被反编译,令开发商无比头疼. 图片等资源保护被盗 ...

  6. ArcGIS Add-in插件开发从0到1及实际案例分享

    同学做毕设,要求我帮着写个ArcGIS插件,实现功能为:遍历所有图斑,提取相邻图斑的公共边长及其他属性(包括相邻图斑的ID),链接到属性表中.搞定后在这里做个记录.本文分两大部分: ArcGIS插件开 ...

  7. .Net加密保护工具分析介绍

    本文主要介绍一些dotNet加密保护工具的原理以及就其脱壳进行简单探讨. remotesoft protector.maxtocode..Net Reactor.Cliprotector.themid ...

  8. Office 2010 KMS激活原理和案例分享

    Office 2010 KMS激活原理和案例分享     为了减低部署盗版(可能包含恶意软件.病毒和其他安全风险)的可能性,Office 2010面向企业客户推出了新的批量激活方式:KMS和MAK.这 ...

  9. .NET 产品版权保护方案 (.NET源码加密保护) (转载)

    说 明:你希望自己用.net辛辛苦苦做出来的软件被人轻易破解吗?你希望自己花了大量人力物力用.net开发出来的产品被竞争对手轻易获取核心代码吗?这是 一篇比较详尽地介绍如何保护自己的.net源代码的文 ...

随机推荐

  1. SpringBoot thymeleaf使用方法,thymeleaf模板迭代

    SpringBoot thymeleaf使用方法,thymeleaf模板迭代 SpringBoot thymeleaf 循环List.Map ============================= ...

  2. 【代码审计】XYHCMS V3.5任意文件读取漏洞分析

      0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...

  3. mysql连接时提示错误太多的解决

    mysqladmin flush-hosts -uroot -p -h127.0.0.1 -P3306 然后输入密码就可以了

  4. kafka在zookeeper上的节点信息和查看方式

    kafka在Zookeeper上的节点如下图: 该图片盗自大牛的博客http://blog.csdn.net/lizhitao/article/details/23744675 服务端开启的情况下,进 ...

  5. Jmeter 中JSON Path Extractor高级用法

    好久没玩jemter了,由于项目原因又重新拾起.在使用JSON Path Extractor(jmeter 4.0已经默认支持了,4.0以下要自行安装插件)时,可以进行条件过滤,不用再自行写shell ...

  6. Linux模拟网络延迟、丢包等

    一.工具介绍 1.netem netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽.传输延迟.丢 ...

  7. Spark Multilayer perceptron classifier (MLPC)多层感知器分类器

    多层感知器分类器(MLPC)是基于前馈人工神经网络(ANN)的分类器. MLPC由多个节点层组成. 每个层完全连接到网络中的下一层. 输入层中的节点表示输入数据. 所有其他节点,通过输入与节点的权重w ...

  8. A - 小孩报数问题

    有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S个时将循环报数 ...

  9. 数据库系统Informix为例,介绍改善用户查询计划的方法。

    数据库系统Informix为例,介绍改善用户查询计划的方法. 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率.现在大多数的数据库产品都采用IBM最先提出的ISAM索引 ...

  10. hdu6330 多校3 L 画一个cube

    http://acm.hdu.edu.cn/showproblem.php?pid=6330 技巧:循环变量要选1~A,然后把公式写下标里.会快很多 #define _CRT_SECURE_NO_WA ...