ios-class-guard是在class-dump的基础进行的混淆处理
安装 (将安装在/usr/local/bin目录下,安装后可以在Terminal使用
which ios-class-guard 命令查看)1
brew install ios-class-guard
或安装bleeding edge version(测试版):
1
brew install --HEAD ios-class-guard
使用
1.下载
obfuscate_project到项目根目录1
curl -o obfuscate_project https://raw.githubusercontent.com/Polidea/ios-class-guard/master/contrib/obfuscate_project && chmod +x obfuscate_project
2.使用终端或其他文本编辑工具打开
obfusacate_project修改PROJECT,SCHEME,CONFIGURATION,SDK等
3.按照
MyProject-Prefix.pch格式创建PCH文件(iOS-Class-Guard会自动查找改pch文件并引入后续生成的symbols.h)步骤
1.XCode
File -> New -> File -> iOS -> Other -> PCH File2.在target的Build Setting 中设置
Prefix Header路径 并设置Precomplie Prefix Header为YES
4.终端执行
bash obfuscate_project(注意:如果在git环境下先commit一次代码,因为执行此命令会放弃本地所有更改,如果不在git下直接Go2Shell到终端生产Git环境1
2
3git init
git add .
git commit -m "init"执行
bash obfuscate_project若成功则为在路径下生成symbols.h与symbols.json若失败则编译项目,查看报错的地方,在obfuscate_project中添加忽略项 eg: CLASS_GUARD_OPTS= “-i width” 表示不混淆width 修改完后记得commitobfuscate_project文件
验证:
编译成功后,Product下出现xx.app,在Finder中显示包内容,将可执行文件拷贝到某路径下,在目录创建一个文件夹存放头文件
class-dump -H 可执行文件名 -o 输入目录砸出的头文件不规则乱码这种表示混淆成功

本文是ios-class-guard的基本使用,后续将进一步剖析,敬请期待!