iOS代码自动混淆
2018-03-15 本文已影响113人
贝勒老爷
我们要自动混淆,方法名字不能一个一个的添加到func.list中,所以方法名只能从.m和.h文件中抽取了,但是如何屏蔽系统的方法名,暂行的策略是:将自己定义的方法名全部添加一个前缀。
例如 "ppx_text2" "ppx_text21111" "ppx_text3333"
首先



在Xcode-->Target--->Build Phases--->添加Run Script

贬值之后就混淆了

中间可能遇到问题
1.confuse.sh: No such file or directory;
解决办法:先看看你Build Phases中的Run Script中写的路径是否跟你confuse.sh的路径一致。
2.confuse.sh: Permission denied;
解决办法:chmod a+x confuse.sh //对confuse.sh文件增加可执行权限
chmod 755 confuse.sh
3.func.list: No such file or directory;
解决办法:确保func.list文件与confuse.sh文件在同一个文件夹里面,然后修改念茜的脚本文件:STRING_SYMBOL_FILE="func.list"为STRING_SYMBOL_FILE="$PROJECT_DIR/$PROJECT_NAME/func.list",其实就是改为相对路径,注意这个路径是否对应你的func.list文件路径。