Unity3D现在很火。应用得场景很多。那么针对unity发布的程序如何加密呢?
Unity3D程序的安全问题
代码安全问题
Unity3D 程序的核心程序集文件 Assembly-CSharp.dll 是标准的 .NET 文件格式,附带了方法名、类名、类型定义等丰富的元数据信息,使用 DnSpy 等工具可以轻易地将其反编译和篡改,代码逻辑、类名和方法名等一览无余。代码逻辑一但被反编译,很容易滋生各种类型的外挂,破坏游戏平衡,如果代码逻辑中存在漏洞,也容易被挖掘和利用,可能对开发商造成无法预料的损失。
资源安全问题
Unity3D 程序在编译打包阶段会通过 Unity 编辑器将资源打包成 Asset Bundle 文件,Asset Bundle 是一种公开的压缩类文件格式,使用 Asset Studio 等工具可以对其解析、展示和提取。如果不保护,很容易被窃取进行二次开发。对于网络游戏,还可以将一些场景资源的材质属性改为透明,实现透视效果。
需求一:安卓U3D-APK的加密保护
两种编译方式:ill2cpp和mono。不同的编译方式,加密方式也不同。将Android Unity3D apk解压,查看lib库目录,若是lib目录下含有libmono.so库,那么说明Unity3D编译选项时选择的是mono,此时需要