Skip to main content

Unity3D macOS程序加密流程

Virbox Protector 为 Unity3D 程序定制了专属的加密方案用于保护程序代码和资源,防止程序被反编译和篡改。

对于Unity3D的保护方式,主要是通过Virbox Protector 对Unity3D程序的整个生成目录进行加密,可以保护Unity的主要代码逻辑不被反编译,最大程度保护软件开发商的合法权益,同时可以对Unity软件中的 .resS和resources等资源文件进行加密防止软件或游戏中的资源被非法提取。

注意事项
  1. 针对 Unity3D macOS程序,仅支持 il2cpp 编译方式

  2. Virbox Protector 需要对 Unity 引擎做修改,建议使用 Unity 官方发布的版本,并使用 Release 方式编译,不支持debug方式

  3. 若是运行在 M1 芯片的macOS系统电脑,在加固时必须设置签名或者加固后做签名。

  4. 加固后需要对包里的可执行程序变更权限,否则无法运行。

保护流程#

本文以 jump.app 程序为例,运行在 x64的macOS系统。

打开 Unity 程序#

Virbox Protector 保护 Unity3D 程序时,需要对生成的整个应用保护.

对 macOS平台则是保护生成的 .app 文件夹。直接将需要保护的jump.app 拖进 Virbox Protector 即可开始保护。

setoptions1

设置加密选项#

输出信息:默认生成 ssp.jump.app,就是加密后生成的程序。也可以自定义生成的目录及命名。

内存校验:校验 il2cpp 模块的内存完整性

Metadata加密:默认勾选

Metadata名称混淆:混淆 global-metadata.dat 里的方法名

签名设置:x64架构的macOS程序无需勾选,M1 Arm架构 程序必须勾选启用签名,设置签名证书。

设置资源加密#

启用按钮打开,加密时会默认对程序里的资源文件进行加密。

sourceset

4.点击保护选中项目#

点击【保护选中项目】,提示加壳成功,打开生成目录,默认是在原文件的同目录下生成一个新目录:protected,里面的 jump.app 即为加密后的文件。

5.添加可执行权限#

加密成功后,需要对 jump.app 包里的可执行程序添加可执行权限。

右键显示包内容,进入后找到可执行程序,使用命令行工具添加可执行权限。

getinbag

添加权限命令:chmod 777 xxx

image-20220113104723824

添加权限后,即可正常运行。