JumboWu 主页

版权声明:本文为Jumbo原创文章,采用[知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议],转载前请保证理解此协议 原文出处:https://www.jianshu.com/p/ee2a141fe5dd

一、从开发的角度,这个可能性很大

  1. 解压ipa包,找到CodeResources 是一个plist文件,马甲包前后对比,diff大于45%判定为马甲包概率比较小

  2. 这个文件保存了所有的文件的hash值,取得文件特征点数据算出来的,具体算法跟App包名、证书信息、开发者账号有关

  3. 还有就是打包机器,提包ip地址有关

https://www.jianshu.com/p/77b6869d648e?from=groupmessage

二、规避4.3的重心:

切断当前马甲包与以往马甲包的所有相似性关联;

相似性关联包括:

  1. ipa包特征;

  2. 开发者帐号;

  3. 打包电脑;

  4. 上传IP;

  5. 材料相似;

分项细述:

  1. ipa包特征:

包括有代码相似性,资源相似性;

代码相似性解决办法:

a. 已有代码的混淆(改类名、改函数名)

b. 添加一些无用的代码;

资源相似性解决办法:

a. 资源改名;

b. 适当添加一些无用的资源;

  1. 开发者帐号:

两个马甲包不要关联到同一个开发者帐号的信息;比如打包时关联。

  1. 打包电脑:

有条件的最好用不同的MAC来打包(每台MAC上最好打包马甲包不要超过5个)

  1. 上传IP:

上传马甲包时,IP不要跟其他马甲包的IP相同;

  1. 材料相似:

    iTunes Connect后台材料如宣传图,ICON,版权人不要出现相同;

三、改动处理

  1. 项目工程 名称 结构

  2. 二进制程序名称

  3. 代码 修改名称 内容 目录结构 (Unity C#这个好处理, lua直接当做资源压入zip中)

  4. 资源 (png等资源,项目中是ab包,尽量把ab等资源压成zip文件,对zip文件做hash处理,首次安装运行在解压)

  5. App信息(签名,开发者证书,账号,一些填写的说明,素材)

  6. 对于代码和资源的改动,前后打ipa包之后,比对下CodeResources文件对应文件的hash是否有变化

Fork me on GitHub