iOS代码自动混淆

我们要自动混淆,方法名字不能一个一个的添加到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文件路径。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容