- 获取
联系爱加密支持人员,他们会发给你最新的爱加密工具包 ijiami-clang-tools。 - 安装
首先获取要安装机器的UUID和en0的MAC地址,将这两个信息发送给爱加密人员,爱加密会根据机器信息生成授权Key,我们在拿到授权Key之后,用文本编辑打开ijiami.key文件,将新的key写入该文件(不要有空格和回车)。
然后,通过命令行cd到ijiami-clang-tools目录下,执行./install.sh (可能需要输入密码)。 - 使用
重启Xcode,点击左上角Xcode->Toolchains,选择爱加密混淆ijiami Obfuscator。如果不需要混淆时再切换回Xcode 12.0.1,去掉混淆参数即可。
至于设置编译参数,请按照使用手册修改other c flag,增加以下编译项,可只在release时添加,debug阶段无需混淆。
-mllvm -ipo -mllvm -ipo-percentage=40 -mllvm -ipo-loop=1 -mllvm -encrypt-constant-string -mllvm -encrypt-constant-string-level=1 -mllvm -encrypt-constant-string-probability=100 -mllvm -indirection-control-flow -mllvm -indirection-control-flow-probability=40
如果项目包含swift,需同时修改other swift flags:
-Xllvm -ipo -Xllvm -ipo-percentage=80 -Xllvm -ipo-loop=1 -Xllvm -transform-operator-identically -Xllvm -split-basic-block
混淆参数可根据使用手册进行调整,如果需要脚本打包,还可以参考爱加密提供的脚本。 - 总结
经过一段时间的使用,最明显的两个感受就是:项目编译时间变长、安装包体积变大。
该工具打包Unity的某些长的协程代码时会报错,需要把协程切分成小的程序调用;对UnityScripts.Lang的代码调用也会报错,需要去掉该部分代码;
该工具对原来的代码在指令级别进行了混淆加密处理,添加不少指令混淆了原来的指令逻辑,同时也添加了不少垃圾指令。指令增加了,也意味着可执行文件大小也增加了。比如用上面的设置可以明显看到打包出的可执行文件大小增加了一倍左右(例如:为加密前大小为20M,加密后大小为38M)。
该工具对苹果4.3过审貌似有一点作用,但是不要指望着用了这个加密混淆代码的方法就一定会过审核。
Ref: https://www.awnlab.com/archives/650
标签:混淆,加密,Xllvm,iOS,ipo,clang,ijiami,mllvm From: https://www.cnblogs.com/open-coder/p/16988745.html