Unity3D加密保护案例分享(一)
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加密保护案例分享(一)的更多相关文章
- Unity3D加密保护解决方案
精锐5加密锁支持Unity3D代码及资源保护,并提供授权方案 产品简介 可使用Virbox Protector加壳工具对Unity3D代码进行加密.Unity3D使用开源mono C#语法,代码会编译 ...
- Unity3D 代码加密保护工具
加密方式 对于Unity3D的保护方式,主要是通过Virbox Protector Standalone对Unity3D程序的整个生成目录进行加密,可以保护Unity的主要代码逻辑不被反编译,最大 ...
- mysql的"双1设置"-数据安全的关键参数(案例分享)
mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...
- MySQL数据库详解之"双1设置"的数据安全的关键参数案例分享
mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...
- Unity3D加密流程文档
一键搞定源代码.资源等保护 代码被反编译破解,无可奈何? Unity3D 开发的软件程序,无论使用虚拟化,还是混淆,都无法抵抗住黑客丧心病狂的破解,轻松被反编译,令开发商无比头疼. 图片等资源保护被盗 ...
- ArcGIS Add-in插件开发从0到1及实际案例分享
同学做毕设,要求我帮着写个ArcGIS插件,实现功能为:遍历所有图斑,提取相邻图斑的公共边长及其他属性(包括相邻图斑的ID),链接到属性表中.搞定后在这里做个记录.本文分两大部分: ArcGIS插件开 ...
- .Net加密保护工具分析介绍
本文主要介绍一些dotNet加密保护工具的原理以及就其脱壳进行简单探讨. remotesoft protector.maxtocode..Net Reactor.Cliprotector.themid ...
- Office 2010 KMS激活原理和案例分享
Office 2010 KMS激活原理和案例分享 为了减低部署盗版(可能包含恶意软件.病毒和其他安全风险)的可能性,Office 2010面向企业客户推出了新的批量激活方式:KMS和MAK.这 ...
- .NET 产品版权保护方案 (.NET源码加密保护) (转载)
说 明:你希望自己用.net辛辛苦苦做出来的软件被人轻易破解吗?你希望自己花了大量人力物力用.net开发出来的产品被竞争对手轻易获取核心代码吗?这是 一篇比较详尽地介绍如何保护自己的.net源代码的文 ...
随机推荐
- MacOS install configure php-fpm
php-fpm 是预装在mac os上的,你只需要配置就好了.这个服务监听9000端口. 1. 为配置文件准备一些目录 mkdir -p /usr/share/php/var/run mkdir -p ...
- [转]CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...
- linux下的文件解压命令
说一下tar命令的参数含义:z,使用gzip解压,x:extract解压,v:显示详细信息,f:使用归档在当前文件夹. 在解压时出现了解压失败,原因是没有sudo,无法创建文件夹.
- php 逗号 explode分割字符串 或 implode组装成字符串
php 逗号 分割字符串 介绍两个函数给你 <?php //利用 explode 函数分割字符串到数组 $source = "hello1,hello2,hello3,hello4,h ...
- SPOJ - TSUM 母函数+FFT+容斥
题意:n个数,任取三个加起来,问每个可能的结果的方案数. 题解:构造母函数ABC,比如现在有 1 2 3 三个数.则 其中B表示同一个数加两次,C表示用三次.然后考虑去重. A^3表示可重复地拿三个. ...
- class="no-js"
这是什么意思?看了外网的解释,比较明白了.(When Modernizr runs, it removes the "no-js" class and replaces it wi ...
- find实现特殊功能示例
find列出目录下所有文件: # find /shell-script/ # find /shell-script/ -print find列出文件夹中所有开头为text的文件,参数-iname意思忽 ...
- 会话(Session)与cookies
由于http是无状态的,向服务器发送请求后,服务器解析请求然后返回对应的响应,服务器负责完成这个过程是完全独立的,不会记录前后状态的变化,因此缺少状态记录. 我们分别需要会话和Cookies的技术来保 ...
- centos6.5(64bit),python2.6.6安装MySQLdb模块
1.下载MySQL-python.setuptools安装包 2.tar zxvf setuptools-0.6c11.tar.gz 3.cd setuptools-0.6c11 4.python s ...
- 回归cgi、fastcgi原理,解释、解决异常 fastcgi支持分布式计算的原因
小结: 0.结构图 client-request ---> cgi/fastcgi (interface/server) ---> cgi/fastcgi program/applica ...