iOS代码自动混淆
2018-03-15 本文已影响113人
贝勒老爷
我们要自动混淆,方法名字不能一个一个的添加到func.list中,所以方法名只能从.m和.h文件中抽取了,但是如何屏蔽系统的方法名,暂行的策略是:将自己定义的方法名全部添加一个前缀。
例如 "ppx_text2" "ppx_text21111" "ppx_text3333"
首先
874F282B-10A5-4872-9431-BC7A99341560.png 3872F307-1163-494E-9728-3523AC692237.png AF4AD5B1-4E5B-463A-A7B3-B9842B4A6BCB.png在Xcode-->Target--->Build Phases--->添加Run Script
E6AE0A7C-3876-4C81-86B4-CC1339916517.png贬值之后就混淆了
6C338DD3-8B81-487B-B351-E8E9DBBEC547.png
中间可能遇到问题
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文件路径。