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. 8 -- 深入使用Spring -- 6...3 使用@Transactional

    8.6.3 使用@Transactional Spring还允许将事务配置放在Java类中定义,这需要借助于@Transactional注解,该注解即可用于修饰Spring Bean类,也可用于修饰B ...

  2. c++中SetEvent和ResetEvent的使用

    关于事件 事件(Event)是WIN32提供的最灵活的线程间同步方式,事件可以处于激发状态(signaled or true)或未激发状态(unsignal or false).根据状态变迁方式的不同 ...

  3. Context namespace element 'component-scan' and its parser class [org.springframework.context.annotation.ComponentScanBeanDefinitionParser] are only available on JDK 1.5 and higher

    异常信息如下: 错误: Unexpected exception parsing XML document from class path resource [spring/applicationCo ...

  4. [Cubieboard] 安装 Lubuntu server for SDCard

    硬件:Cubieboard2 系统:Ubuntu 14.04 based on VMware Virtual Machine 镜像:cb2-lubuntu-server-tsd-tfcard-v2.0 ...

  5. Spring学习笔记--Spring配置文件和依赖注入

    Spring配置文件 1.alias:设置别名,为bean设置别名,并且可以设置多个别名; <!-- 设置别名 --> <alias name="user" al ...

  6. javaWeb的基础知识

    在服务器中,端口号是比较重要的,要学会查看和修改.win7有cmd和任务管理器两种方法.同时区分include动作和指令. <%@ include file="url"> ...

  7. 智能文件选择列表—— bat 批处理

    智能文件选择列表 *.wim @echo off setlocal enabledelayedexpansion title 智能文件选择列表 pushd %~dp0 & cd /d %~dp ...

  8. ERP项目实施记录06

    自上月20以后,因厂里赶货,办公室人员有空也要去车间帮手,ERP的事就没动静了. 2014年1月10日开了个小组会议,认为第三方不是专业做本行业的,开发风险大:因此希望先开发一个报价软件试试. 明天第 ...

  9. .NET Core开发日志——Dapper与MySQL

    Dapper作为.NET生态中广为人知的轻量级ORM类库在.NET Core里仍能被有效利用,并且其不但可以连通SQL Server数据库还提供对其它数据库,比如MySQL的支持.这里试验了一下通过D ...

  10. web 框架的本质及自定义web框架 模板渲染jinja2 mvc 和 mtv框架 Django框架的下载安装 基于Django实现的一个简单示例

    Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...