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源代码的文 ...
随机推荐
- [原]Jenkins(四)---Jenkins添加密钥对
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5332 ...
- Scriter CSS
transition: height(quart-out,1.0s,quart-in); transform:rotate(50deg); http://www.terrainformatica.co ...
- ThinkPHP框架 系统规定的方法查询数据库内容!!同时也支持原生的SQL语句!
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller{ ...
- iBatis.Net 配置 SQL语句执行 日志
<configuration> <configSections> ... <sectionGroup name="iBATIS"> <se ...
- elasticsearch与solr区别
solr:优点1.Solr有一个更大.更成熟的用户.开发和贡献者社区.2.支持添加多种格式的索引,如:HTML.PDF.微软 Office 系列软件格式以及 JSON.XML.CSV 等纯文本格式.3 ...
- ROS中打开单目摄像头
1.安装功能包 $ sudo apt-get install ros-kinetic-usb-cam 2.启动launch文件 $ roslaunch usb_cam usb_cam-test.lau ...
- 分布式文件系统HDFS,大数据存储实战(一)
本文进行了以下工作: OS中建立了两个文件,文件中保存了几组单词. 把这两个文件导入了hadoop自己的文件系统. 介绍删除已导入hadoop的文件和目录的方法,以便万一发生错误时使用. 使用列表命令 ...
- [No0000147]深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing)理解堆与栈4/4
前言 虽然在.Net Framework 中我们不必考虑内在管理和垃圾回收(GC),但是为了优化应用程序性能我们始终需要了解内存管理和垃圾回收(GC).另外,了解内存管理可以帮助我们理解在每一个程 ...
- JSP+Servlet+JavaBean实现数据库的增删改查
基本思想:JSP文件显示页面,使用form或href超链接传值到Servlet中方法,在Servlet方法中调用Dao层的类对象,实现对数据库里的数据的增删改查,之后重新返回到JSP输出操作完的结果. ...
- C和C指针小记(十一)-递归和迭代优化
1.递归 C通过运行时堆栈支持递归函数的实现. 递归函数就是直接或间接调用自身的函数. 一个小例子: /** 使用递归将整型转换为ascii字符 @param value 整型数 */ void bi ...