iOS马甲包换壳重提方案
苹果审核中的4.3问题是开发者关注的焦点之一,本文对此进行了综述,总结了不同情况下的处理方式和优化策略。
一、针对二进制4.3优化
1.代码区:(类,方法,属性,及结构)
a.重命名规范:
- 针对类名,方法名及属性名采取项目名称缩写前缀+随机字符方式命名,例如:XXsahydu,减少与其他项目相似性,可使用脚本完成。
b.结构优化:
- 针对类:
1.采用模块拆分方法,例如把类中的某个方法和页面抽离成单独类,即可改变类本身结构,又可以改变目标项目结构。
2.采用模块合并方法,可以把多个类以类扩展形式合并到一个类中,或者添加一些无用的扩展类,改变目标类结构 - 针对属性:
1.通过新增不同类型的无用属性,打乱之前属性列表顺序,新增的属性尽量保持命名一致性。 - 针对方法:
1.对方法内的调用关系进行拆分,可通过xcode自带的Extract to Method方式进行拆分。
2.插入混淆代码,可以是无关联的逻辑代码也可以是UI控件创建的代码块,尽量保持调用关系,不然会被定为无效代码,无法达到混淆目的。 - 针对常量:
1.通过间接引用方式改变结构,例如 return 6 变成 NSInteger A = 6; return A;方式。
2.或者通过宏定义引用方式改变结构,例如:#define A 6。
2.工程优化:
a.项目工程重命名:这一步很关键,排除与之前工程的关联性。
b.项目工程文件夹重命名:与项目名称前缀保持一致,命名规范如上。
c.项目工程资源文件替换:包括图片资源,字体资源,动画资源,尽量不要跟原项目有重复或者相似的地方。
d.项目三方Pod类优化:可通过平替方式引用其他的三方或者新增一些无用的三方改变pod文件的结构和内容。尽量不要引用别人私有库避免使用了被苹果标记的代码块。
e.多语言的项目:针对常用的描述文案做一些优化避免重复使用,新增一些混淆翻译文案改变内容和结构。
3.开发方式行为优化:
a.为了减少与之前项目的关联相似性,可以使用不同开发方式进行开发,例如:使用不同的布局方式,使Xib方式,使用swift等不用语言混合开发,一定程度可以有效的减少相似度。
二、针对元数据4.3优化
1.应用名称:减少与市面已上线应用单词重复度,不一定重复,相似也有风险。
2.应用LOGO:保持个性化不与他人或原项目相似即可。
3.关键词/描述:避免使用高风险关键词,会增加审核难度。
4.联系人和审核账号:全换。
5.隐私协议、官网、域名:全换。
6.五图:优化设计风格排版及元素,还原真实APP内容。
三、其他优化
项目之外因素:网络、打包设备、等注意即可!
- 本文作者: Grx
- 本文链接: https://ruixiaoguo.github.io/Grx.github.io/Grx.github.io/2024/11/26/iOS马甲包换壳重提方案/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!