在產品新功能開發時,iOS同事提到馬甲包是否也要同步進行。馬甲包是什麼?主包又是什麼?兩者有什麼區別?趕緊上網搜一下。
馬甲包和主包擁有同樣的內容和功能,除了icon和應用名稱不能完全一致,其他基本一致。
一、為什麼要做馬甲包
目前,馬甲包主要有CP和游戲聯運方製作。CP做馬甲包是為了維持主包生態,解決帶量問題。游戲聯運則通過製作馬甲包獲利生存。
二、做馬甲包的重要性
做馬甲的初衷有很多,有的為了測試產品的某個功能,有的為了覆蓋更多關鍵詞,也有的為了試探蘋果的底線,使用灰色手段,最終的目的都還是為了獲取用戶。
1.A/B測試
早期馬甲包主要為了做測試用,後來演變成導量的方法和渠道,以應用居多
2.覆蓋更多關鍵詞
一個App關鍵詞只能覆蓋100字元,所以多做一個App覆蓋的字元可以更多
3.渠道
馬甲有流量,相當於多了一個渠道,可以選擇為自己導流,或與別人進行換量合作
4.刷榜
刷榜有風險,利用馬甲包即使被下架也沒關系,馬甲包刷到很好的位置,就有了用戶量,進而產生價值
以上幾種方式,機刷是實惠的,但是風險高,容易被蘋果後台發現下架,所以一般用馬甲包來做機刷,以此來抵抗風險。
總結:我們在使用馬甲包的時候一定要把握兩個方向,其一:導量,不管是什麼產品帶來量才能帶來效益,效益為先。其二:抗風險,有些優化手段風險極高,但是帶來的利益也是極大,所以製作馬甲包就是為了抵抗風險,把利益留下。
B. ios上架原生包跟馬甲包有什麼區別
一樓說的很對。最明顯的差異就是流暢度,ios的流暢度是所有系統不可及的。跟Mac os X一樣,都是基於unix的操作系統。安卓系統要高於ios兩倍的硬體才能達到與之相同的流暢程度。另外二樓的免費軟體一說,我給樓主說明下:安卓資源雜亂,不明來源的軟體很多。而ios的軟體全部是經過蘋果的嚴格審核的,安全性很有保障。至於這兩個系統各自的軟體數量,ios免費軟體的數量跟安卓的差不多···ios越獄後,就可以用破解軟體了。安卓系統最大的特點就是卡,特別是低配置的機器,卡,卡到爆···這兩個系統沒有可比性。想了解更多,樓主來找我吧。
C. ios馬甲app怎麼打開
方法/步驟
首先進入ASO114工具平台,選擇iOS數據查詢;
D. 跪求:馬甲包上架技術,ios 代碼混淆 馬甲包過審技術!!!
從收集今年每月審核被拒原因得來的大量數據中可以看出,被拒原因 TOP3:條款 2.3、2.1、4.3(元數據、App 的完成度、重復 App/馬甲包)一直是穩定的居高不下,因此開發者們一定要遵守這三條條款,以增加過審幾率、節省與蘋果糾纏的時間,勿要存在僥幸心理,挑戰蘋果。
若想通過審核,除遵守上面幾項條款以外,在4.3問題上主要是改變二進制代碼,如果是同一個包(馬甲包)想要改變二進制代碼而對功能又沒有任何改變,可以使用幾維安全提供的安全編譯器,利用混淆的技術來改變二進制文件。
幫助過審的同時,還能利用IOS開發子團隊開發的包過審馬甲包加密混淆編譯器可安全編譯C、C++、Objective-C、Swift代碼,支持安卓 NDK和iOS馬甲包項目
支持iOS項目[APP、動態庫、靜態庫]和安卓NDK項目[SO動態庫、靜態庫]!
E. 應用提交 App Store 上架被拒的原因都有哪些
被拒的原因常見的有:
1、APP的完成度
要考慮iOS上架應用是否有明顯的bug,在IPV6網路下能夠流暢使用,是否有隱藏開關,測試賬號是否完善等等。
2、准確的元數據
描述、截圖與實際功能不符,一定要用蘋果手機截圖,去除隱藏功能模塊代碼
3、商業模式
主要是因為沒有資質。所以建議大家盡可能多地把自己公司合規的證據資料發給蘋果。
4、強制或暗中採集用戶信息
不能暗中採集或共享用戶的個人信息,將「強登錄」功能修改為提示登錄的版本。
5、 重復 App
當iOS上架應用的代碼或者功能與已有APP相似度太高,那麼有可能會被認定為馬甲包。
6、功能不夠完善
如果蘋果人為該iOS上架應用功能太少,沒有核心功能時,那麼也可能審核不通過。一般打包封裝的APP很容易觸發這個問題。
7、支付
主要是iOS上架應用接入第三方支付,支付寶、微信等,所以還是老老實實地走蘋果支付的支付方式。
8、代碼違規
很可能是三方庫中含有SDK,檢查文檔中是否有違規字元串,有的話刪掉。
9、定位服務
還是那句話,iOS上架應用如果要採取用戶數據信息,需要給予用戶提示,得到用戶的允許。
10、知識產權
主要是iOS上架應用中未經授權,使用受版權保護的第三方材料。
iOS上架還會遇到各種各樣的問題,根據反饋來進行相應的修改。
如果上架App Store受阻,其實可以通過蘋果企業簽名和tf簽名的方式來進行安裝,兩種方法都是不需要經過App Store審核的快速安裝方式。
進入微導流,點擊上方的「企業簽名」或「tf上架」,上傳ipa進行在線簽名即可。
F. android 上架馬甲包 是什麼意思
簡單地說就是他們的app有違規的地方無法上架,寫個架子能通過驗證的,然後他們把殼子拿去淘到自己的app上。
馬甲包在IOS或安卓系統都是存在的,馬甲app又稱為影子app,app矩陣,app分身等,總的來說就是主app產品的「克隆版」,通過不同的開發者賬號上架與主app功能一樣的app,就是app馬甲包。
通常馬甲app的應用名稱,副標題,icon,應用截圖,包名,bundle ID,關鍵詞,開發者賬號都與主app不一樣,這是為了方便通過蘋果審核。
同時不同的馬甲包通常也用於針對不同人群,不同場景開發app應用。當然了,馬甲app的數量還取決於公司的app運營推廣能力,開發支持,行業特點等等。
之所以要做app馬甲包,主要有4個目的:
1.搶占應用市場有限位置
關鍵詞搜索結果佔位,榜單佔位,覆蓋更多關鍵詞
2.為主app導流
各種開屏,彈窗,插屏,push廣告引流下載主app,安卓熱更新等等
3.規避市場風險
用於app刷量,沖榜,刷詞,刷熱搜等等,防下架應急措施,競品競爭等
4.技術測試需求
技術用於AB測試,新功能測試,渠道試水,數據分析等
但是想要上架馬甲包並不是容易的事情,蘋果審核機制非常嚴格,要做好各馬甲包的上傳,還需做好如下5點:
1.二進制代碼差異化
2.前端,UI差異化
3.開發者信息,IP地址差異化
4.二次開發,功能差異化
5.元數據差異化
App馬甲包的建立有利有弊,想做這類推廣的CP就需要多測試上傳,多總結失敗原因,並且在推廣運營過程中針對不同場景做好差異化,就可以通過多個app在應用市場中獲量了。
(6)什麼是ios馬甲包擴展閱讀:
1、安裝App後沒有用的安裝包apk及時刪除
手機和個人計算機有很大的相似之處,在維護方法方面很多是相通的。現在許多經過手機廠商改進過的ROM都十分貼心,一般安裝完某個App後會提醒是否刪除安裝包,如果沒有其他用途了就可以立即刪除,如果手機沒有此項功能,也可手動刪除。
2、定期清理緩存
長期使用社交應用會產生非常多的緩存,而且應用自己不會刪除,長時間會積累許多的緩存,佔用存儲空間且造成卡頓,因此,可以使用手機設置里的應用程序管理里的清除緩存功能刪除。還可以使用有清理垃圾功能的系統維護App。也可以卸載後重裝一次。
3、使用時及時關閉不用的程序
雖然安卓系統會在內存緊張時自動結束一些進程,但在實際的應用中,應該有未雨綢繆的意識,平時就隨手在多任務切換界面結束當前用不到的App,釋放手機當時的運行內存,不僅有利於手機高效的運轉,也防止其後台軟體運行時的流量白白流失。
4、使用網頁版代替客戶端
大部分網站都希望用戶們下載他們的客戶端,對於一些網站來說,根本沒必要使用App,用手機瀏覽器使用網頁版就可以解決,且不會影響流暢和正常的運行,因此,這樣可以節省一部分本地的存儲空間且可以避免相應網站客戶端惡劣的綁定下載以及有毒軟體。
5、使用工具嚴控App的許可權
有一些App經常自啟就是因為自啟許可權及與之相關許可權不被嚴格控制。現在的手機一般都有無需root就可以使用內置的許可權管理工具進行管理。注意禁止一些應用的開機啟動等許可權。如果沒有內置此類工具,也可以手動root,但要注意選擇可靠的root工具、root後可能不保修等問題。
G. iOS審核被拒4.3,怎麼解決
最近,蘋果對於中國區的iOS開發者們要求很是嚴格,想必各位也吃到了蘋果的2.1大禮包,滿世界的尋找馬甲包的混淆方案。
作者:棋牌視角
來源:棋牌視角
本文為作者授權鳥哥筆記發布,轉載請聯系作者並註明出處
來源:棋牌視角(ID:qipai49)
本文為作者授權鳥哥筆記發布,轉載請聯系作者並註明出處。
馬甲包對於一家公司的產品引流起到至關重要的作用。但是最近這段時間,蘋果對於中國區的iOS開發者們要求很是嚴格,想必各位也吃到了蘋果的2.1大禮包,滿世界的尋找馬甲包的混淆方案。
第一次被打回
第一次被打回時,我們並沒有意識到馬甲包的問題有多嚴重,而且蘋果給出的拒絕原因是我們的APP中包含敏感詞彙,我們當時並沒有往馬甲包的方面去想,第一次被打回時,我們採用的方案是對敏感詞彙進行base64+MD5的混合加密方案,然後就重新提包了。
第二次被打回
這次蘋果說的很明顯了,而且他們機掃了我們的二進制文件,告訴我們API名稱與我們之前的一個產品非常相像,而且那個產品並不是使用這個馬甲包的開發者賬號。我們猜測蘋果可能針對APP做了資料庫,會去比對方法名。
這一次我們代價比較大,由於之前沒有考慮到這層,我們的API名稱就是和系統方法命名方式保持一致,導致無法引入腳本來自動替換。我們花了三個開發,和6個小時,人工對我們自定義的API名稱加上了特定前綴,如ab_xxx.這個思路主要是根據念茜大佬之前在微博上發布的API混淆加密方案。念茜的腳本是將需要混淆的API添加進文件,然後全局對所有需要加密的API欄位進行混淆加密。我們在此基礎上更新了腳本,可以自動抓取擁有我們前綴的API進行加密。但是這個方案在後面我們完全摒棄,所以在這里不詳細往下說了。
第三次打回
第三次被打回已經驚動了老闆,再想不出好的固化混淆方案我覺得差不多可以收拾東西了。這次蘋果的拒絕原因更令人窒息,他說我們的API加密性質太明顯,認為我們的APP一定藏有什麼隱藏功能,還給我們吃了一張延遲審核的黃牌。經過我們一波分析之後,認為這幾次被打回的經驗中,蘋果沒有涉及到說我們的UI有什麼相似的地方,所以,只要我們能把這個馬甲包做到變成我們開發人員都認為是另一個APP即可。
分析
首先感謝將混淆腳本開源的大佬!已經找不到源碼是誰寫的了,我們只是站在了巨人的肩膀上!
改頭換面
首先,由於是從主APP上拉的分之進行開發,所以這個馬甲包的scheme和工程名都沒有變化,於是我們首先從這里進行開刀。我們把project名稱完全換成了另一個。
API
首先base64加密API肯定不能再使用了,蘋果都說了,加密特徵太過明顯。
幸好之前已經把所有自定義的API名稱都加上了ab_前綴,使得我們寫腳本很好識別。我們將所有掃描出的API放到一個plist文件中保存在本地,然後我們建立了6個數組,每個數組中有6個單詞,每次從每個數組中隨機抽取一個單詞。將6個單詞拼接成一段方法名保存在另一個plist文件中,當然,在保存前,先去重,如果這個方法名已經用過了,那我們隨機再換,這樣一共可以生成46656種方法名,對於我們的工程已經夠用了。
圖片
我們利用腳本遍歷本地所有png文件,當然你可以自行添加.jpg格式遍歷。根據自己的命名規則將所有圖片重新命名了一波。另外我們也發現網上有個輪子可以利用shell命令對所有圖片資源進行超輕量級的壓縮,在不影響圖片質量的情況下,改變圖片的hash值。當然我們的馬甲包中圖片沒有和主界面相似的,所以的這一步我們沒有實踐。
類前綴替換
這一步主要是更改文件名。程序掃描絕對地址下的所有文件,只要是帶」XX」開頭的文件都替換成」AB」這種,另外每次替換一個文件都要遍歷所有文件,將所有用到這個頭文件的文件內容進行更換。
注意
類前綴替換有時會有個別沒有替換到,我沒能定位到問題,但很少,可以手動查找替換
生成垃圾代碼
我用plist專門搞了一個垃圾方法名,每四個方法生成一個帶參數名的方法。暫時每個文件里只生成一個垃圾方法。當然可以多運行幾次,就會生成幾個垃圾方法
實現
混淆工程我們使用C+OC的混合編程方式。
目前已經實現的功能有:
1、圖片資源修改名字
2、修改工程名
3、類前綴修改,如「GD」修改為「IE」,即修改了文件名
4、混淆隨機添加垃圾代碼、參數
5、修改方法名前綴
6、人工修改部分方法名,人工對重要類中的方法進行打亂排序
7、(可選)本地圖片超輕量級壓縮,打亂hash值,新上的馬甲包建議修改
使用方法
啟動參數配置
先配置啟動參數再運行,如圖
除第一項必選外其他都非必選。另外第一項啟動參數必須放在第一行
參數解釋
1.工程代碼的絕對路徑
2.-modifyProjectName [原工程名]>[新工程名]
3.-modifyClassNamePrefix [xcodeproj文件的絕對路徑,不是pod安裝後的那個打開文件] [舊類前綴]>[新類前綴]
4.-spamCodeOut
5.-ignoreDirNames [需要忽略的文件夾],[需要忽略的文件夾] 注意,Pods文件夾不在混淆范圍內,不需要寫
6.-handleXcassets (混淆圖片文件)
7.-deleteComments (刪除多餘的空格和注釋)
8.-chageAPIPrefix [舊方法名前綴]>[新方法名前綴] 注意,前綴要有「」才能被識別,如果之前工程中沒有xx下劃線開頭來命名方法的,此項不要勾選
此工程可以選擇混淆概率,修改工程中kPercent數值。
實際測試如下
小結
目前第三次打回後的工程已經提審,未可知能否過審,會持續更新。腳本也寫的很匆忙,後期會進行優化。腳本傳送門
www.it9188.com