Unity3D现在很火。应用得场景很多。那么针对unity发布的程序如何加密呢?
Unity3D 程序的核心程序集文件 Assembly-CSharp.dll 是标准的 .NET 文件格式,附带了方法名、类名、类型定义等丰富的元数据信息,使用 DnSpy 等工具可以轻易地将其反编译和篡改,代码逻辑、类名和方法名等一览无余。代码逻辑一但被反编译,很容易滋生各种类型的外挂,破坏游戏平衡,如果代码逻辑中存在漏洞,也容易被挖掘和利用,可能对开发商造成无法预料的损失。
Unity3D 程序在编译打包阶段会通过 Unity 编辑器将资源打包成 Asset Bundle 文件,Asset Bundle 是一种公开的压缩类文件格式,使用 Asset Studio 等工具可以对其解析、展示和提取。如果不保护,很容易被窃取进行二次开发。对于网络游戏,还可以将一些场景资源的材质属性改为透明,实现透视效果。
两种编译方式:ill2cpp和mono。不同的编译方式,加密方式也不同。将Android Unity3D apk解压,查看lib库目录,若是lib目录下含有 libmono.so库,那么说明Unity3D编译选项时选择的是mono,此时需要对apk整个目录进行加壳。
若是lib目录下含有 libil2cpp.so库,那么说明Unity3D编译选项时选择的是IL2CPP,此时需要对lib目录下的so库进行保护。
Virbox Protector 1.6版本。试用下载: https://shell.virbox.com/apply.html
加密例子:angrybots5.5.3.apk(编译选项:mono)
2.设置加密选项和资源加密
3.开始保护
加壳成功后会生成ssp.apk,然后重新对加壳后的ssp.apk进行签名打包,才能正常安装。
代码加密效果
加密前代码反编译效果
加密后代码反编译效果
资源加密效果对比
方案简介
精锐5加密锁是一款USB加密锁,安卓设备上必须能支持插USB设备,精锐5可以控制软件的使用时间、次数、功能模块等。拔掉加密锁,设备则无法运行U3D的程序。
解决问题
如何使用
精锐5加密锁可配合Virbox Protector一起使用,一方面做代码及资源加密,同时做软件的授权管控。同时精锐5加密锁也提供了SDK,可快速实现写锁的授权,不需要做代码开发。全程使用工具操作加密及写锁。
解决方案2:Smart License
方案简介
Smart License支持安卓及ARM平台下的程序授权控制,使用形式为授权码(16位字母和数字),可快速实现一码一机和一码多机方案。同时可快速实现软件的限时及功能模块的限制使用。
功能特点
绑定硬件,防止拷贝
经过授权的设备会生成本地缓存文件,和设备硬件绑定,有效防止通过拷贝文件的方式盗用授权
授权智能化
联通授权激活、使用情况、设备信息的壁垒,综合汇总为开发者提供详实的经营数据,辅助开发者执行营销策略,改善产品
授权自动化
授权的自动激活及自动恢复减少开发者的管理工作,降低产品推广过程中的支持工作量,提升产品的体验。
可视化数据展板
可视化数据展现让开发者掌控授权使用情况
支持广泛,应用灵活
支持硬件产品包括(不限于)华为海思、大华、海康萤石等智能摄像头;支持联网或不联网的设备上使用
Smart License提供免费试用,首先需要注册一个Virbox LM开发者账号( https://developer.lm.virbox.com/),注册后登录VirboxLM即可进行授权码的生成和管理。可联系深思数盾定制SDK,做加密及授权的开发。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删