Notifications
Article
Unity3D项目加密-精锐5加密锁解决方案
Published a year ago
215
0
Unity3D项目加密
Unity3D项目研发完成,发布前开发者需要对代码及资源进行加密,防止代码被反编译,防止资源被盗窃,造成不必要的损失。如果不做加密,可能很快就会出现一堆破解版游戏。

Unity3D 加密方案

加密原理:

Unity3D使用开源mono C#语法 ,所有代码都不是编译到EXE,而是位于{APP}\build\game_Data\Managed\Assembly-CSharp.dll(对于最新的Unity3D 2017不是这样),而且mono语法只是跟C#兼容,但是原理完全不一样,传统的C#加壳全部失效,因为Assembly-CSharp.dll 不是标准的DLL加载过程,既不是PE的DLL也不是dotNet的DLL加载,而是由mono.dll读取 Assembly-CSharp.dll的C#脚本解释执行。这一切不用等官方IL2CPP和自己定制mono引擎!

Virbox Protector 加壳工具

利用加壳工具可对Unity3D开发的软件进行加壳保护,不需要编写任何代码,通过设置工具提供选项完成软件加壳保护,方便快捷。
保护原理:碎片代码保护,利用成熟的代码提取技术,从软件中抽取大量代码,经过加密混淆后在安全环境中执行。碎片代码执行可以简单的理解为将软件功能拆散,放在安全环境执行,让破解者无从下手,是软件保护理念的一次重大突破。

DS Protector 资源保护

保护各类资源文件,如:图片、视频、音频等,保护资源不被窃取。

加密安全性效果

  •  防止反编译
  •  驱动级别反调试,秒杀市面的所有调试器(dnspy、WinDbg/OllyDbg/X64Dbg)
  •  防止图片、音视频等资源被拷贝
  •  防内存被dump
  •  不降低游戏帧数, 高运算性使部分功能可提高游戏帧数

项目发布方案

通过 Virbox Protector 加壳工具及 DS Protector 工具对代码和资源加密后,配合使用精锐 5 硬件加密锁,必须使用加密锁才能使用软件。支持代码移植,更有升级版碎片代码执行技术。
精锐 5 加密锁能做什么?
  1. 保护软件的安全,防止被盗版
  2. 支持软件限时限次售卖
  3. 支持软件限功能模块售卖
  4. 掌握软件用户的实际使用情况
  5. 软件更新可远程升级
精锐 5 精灵版加密锁仅重 3.6 克,精巧的身躯,装配着与精锐 5 标准版同样强悍的硬件性能。存储空间最高可达 512K,可存储最多 6000 条软件许可。国际进口 32 位智能卡芯片,ARM SC300 处理器,安全等级 CC EAL 5+ ;执行速度 50 MIPS,通讯速度达 300K/S;USB 2.0 全速设备;扇区可擦写次数高达 1650 万次。