简单介绍下ios的马甲包
###何为 马甲包 ?
代码基本一模一样,功能也是一模一样,就是 名字 和 图标 等 部分 元素不一样
代码重复率很高很高
Guideline4.3
###如何制作马甲包?
这种马甲包 可以通过 shell 脚本 更改 工程里面的 config.plist 配置文件 进行 高效量产,工程里面的 入参都是 来源于 config.plist文件,运行下 shell脚本,更改下 APP名称 ,包名,图标 ,APP一些参数 等信息
###如何保证马甲包的审核通过
通过 代码混淆,加固等方式 解决马甲包审核不通过问题
代码层(解决机审)
操作对象: 文件、类、变量、方法、资源
操作方式: 改、加
操作目的: 更改运行中的程序结构、二进制代码、地址符号表
a) 文件(夹) -> 名称修改,路径修改
b) 类名称、变量名称、方法名称 -> 修改
c) 增加混淆代码覆盖率,把实际代码打散打碎(类之间增加垃圾类,变量之间增加垃圾变量,方法内增加垃圾代码,方法间增加垃圾方法)
d) 打乱方法代码位置顺序
e) 图片 bundle等其他资源(路径修改,名称修改,增加垃圾图片资源)UI层(解决人审)
a) APP结构改动(如 底部tab结构改动,页面层级改动)
b) 页面显示主要控件文案内容改动
c) UI视觉(皮肤,图标)改动,文案字号,色值改动
d) 版权改动
e) 壳子和内容的UI尽量复用同一套页面布局,后端配置控件的文案等属性环境层
a) Apple账号不同,iTunesConnect上面的所有信息不同(比如商店图,演示账号,联系人 等等)
b) 提交的电脑设备不同,网络IP不同