版權聲明:本文為Jumbo原創(chuàng)文章,采用[知識共享 署名-非商業(yè)性使用-禁止演繹 4.0 國際 許可協(xié)議],轉載前請保證理解此協(xié)議
原文出處:http://m.itdecent.cn/p/ee2a141fe5dd
一、從開發(fā)的角度,這個可能性很大
解壓ipa包,找到CodeResources 是一個plist文件,馬甲包前后對比,diff大于45%判定為馬甲包概率比較小
這個文件保存了所有的文件的hash值,取得文件特征點數(shù)據算出來的,具體算法跟App包名、證書信息、開發(fā)者賬號有關
還有就是打包機器,提包ip地址有關
http://m.itdecent.cn/p/77b6869d648e?from=groupmessage
二、規(guī)避4.3的重心:
切斷當前馬甲包與以往馬甲包的所有相似性關聯(lián);
相似性關聯(lián)包括:
ipa包特征;
開發(fā)者帳號;
打包電腦;
上傳IP;
材料相似;
分項細述:
- ipa包特征:
包括有代碼相似性,資源相似性;
代碼相似性解決辦法:
a. 已有代碼的混淆(改類名、改函數(shù)名)
b. 添加一些無用的代碼;
資源相似性解決辦法:
a. 資源改名;
b. 適當添加一些無用的資源;
- 開發(fā)者帳號:
兩個馬甲包不要關聯(lián)到同一個開發(fā)者帳號的信息;比如打包時關聯(lián)。
- 打包電腦:
有條件的最好用不同的MAC來打包(每臺MAC上最好打包馬甲包不要超過5個)
- 上傳IP:
上傳馬甲包時,IP不要跟其他馬甲包的IP相同;
-
材料相似:
iTunes Connect后臺材料如宣傳圖,ICON,版權人不要出現(xiàn)相同;
三、改動處理
項目工程 名稱 結構
二進制程序名稱
代碼 修改名稱 內容 目錄結構 (Unity C#這個好處理, lua直接當做資源壓入zip中)
資源 (png等資源,項目中是ab包,盡量把ab等資源壓成zip文件,對zip文件做hash處理,首次安裝運行在解壓)
App信息(簽名,開發(fā)者證書,賬號,一些填寫的說明,素材)
對于代碼和資源的改動,前后打ipa包之后,比對下CodeResources文件對應文件的hash是否有變化