-
Notifications
You must be signed in to change notification settings - Fork 110
home
iOSCodeMaster edited this page Feb 8, 2020
·
6 revisions
iOS代码差异化助手(比手快多了)
符号(symbol)
iOS项目中 类、分类、协议、方法、属性、宏、静态变量、静态常量、block、枚举 等的统称
iPA安装包中的二进制(可执行)文件能找到以上所有的符号,所以他们是需要修改的
由于国内IT行业的现状,市面上出现过不少针对ipa做差异化的工具,18年Q2开始流行使用基于LLVM的混淆编译器,在不改变代码的情况下,达到ipa包内可执行文件的差异化.自从Xcode10发布后,基于LLVM相关的衍生版(定制版)的效果不再那么显著,到了后期,Xcode项目使用混淆编译器编译提审,大概率会收到苹果关于包含模糊代码的被拒原因.由于诸多原因,差异化的方向从编译混淆到了代码(和资源)差异化这里.
现在市场上也有很多同类型的工具,但是也有一些不足,这也是我开发了这个工具的原因.
- 处理后的符号(符号的概念见上面的术语解释)更加接近开发人员的命名习惯,处理后的代码可阅读性高(没有使用随机的单词组合),这也是过机审的关键
- 支持OC所有的语法
- 所涉及到的文件名同步修改
- 支持当前主流的资源类型差异化(修改名字,修改文件md5)
- 支持多种白名单
- 其实1才是优势(也是绝对的优势)