說明:這篇文章寫的比較早了,大概是2021年上半年寫的,一直放在草稿箱,目前這些方法是否被屏蔽有待驗證。
App Store審覈機制
機器審覈
人工審覈
人工審覈大概是玩15分鐘的樣子,同時有上百審覈人員玩不同的遊戲包,有時候靠運氣不被同一個人玩到
checklist
-
代碼層面:對文件名,方法名進行修改
-
Resources目錄添加無用和不同的shader
-
服務器ip,域名不要重複
-
資源方面:不同包使用不同的圖集,圖集添加後綴
-
level名字不要一樣
-
閃屏,sdk圖片的md5不要一樣
-
屏蔽打印,別讓抓到一樣的日誌
-
圖標檢查有沒有帶透明通道
-
使用不同的打包機,不同的證書
加密和混淆工具
confuse
https://github.com/520coding/confuse 授權收費,還不清楚價格是多少,OC開發
iOS混淆加固差異化翻新加密工具,模擬人工手動混淆,識別上下文 ,支持繼承鏈、類型識別、方法多參等複雜高級混淆。source-to-source obfuscation of iOS projects,Xcode's refactor->rename. 告別插入毫無關聯的垃圾代碼、棄用無腦單詞隨機拼接替換,模擬正常開發,一款最好的混淆最徹底的Mac App Tools。支持OC(Objc、Objective-C)、C、C++(Cocos2d-x、Cocos2dx和Lua遊戲開發)、Swift、C#(Unity)混淆,可用於ios馬甲包遊戲SDK混淆,減少賬號調查過機審上架過包過審4.3、2.3.1、2.1
ZFJObsLib
https://github.com/zfjsyqk/ZFJObsLib ,卡密激活,python開發
ZFJObsLib主要是通過Python寫的混淆工具,具體功能有方法混淆、屬性混淆、類名混淆、添加垃圾代碼、自動創建垃圾類、刪除註釋、修改資源文件Hash值、加密字符串、翻新資源名、模擬人工混淆、混淆文件名、混淆文件目錄、混淆詞庫、混淆日誌、映射列表、敏感詞過濾、圖片壓縮、爬蟲服務、修改項目名、翻新項目UUID等等!!
項目自研工具
可以對csharp和lua進行混淆,組內自主開發的python腳本,對csharp的屬性和字段,方法名,類名進行修改,但是文件名沒有修改。
把C#中修改前後的類名,方法名,屬性名,分別保存到字典當中做映射關係,這樣正反都能讀取出來。當在lua中要訪問C#時,lua傳過來的是混淆前的名字(因爲Lua會C#的方法和接口)。
生成了很多的垃圾代碼,但每份代碼做的事情基本都是一樣的,比如裏面一些屬性,然後幾個函數,每個函數中都是位運算,乘法,加減法的運算,類之間沒有相互調用和引用關係,一般按經驗建議垃圾代碼佔20%~30%之間,不宜過多。
我的疑問
主角的模型,任務名稱,npc名字,第一張地圖這些每個馬甲包是不是不一樣?
模型是一樣的,名字不一樣。