下載歷史ipa

背景:公司的競品分析業(yè)務(wù),需要下載appstore競品app來分析
目前方案: wda下載app除呵,非完美越獄后破殼再菊、dump頭文件。
弊端:流程繁瑣颜曾,穩(wěn)定性差(目前成功率在80%以上)纠拔,且無法覆蓋歷史版本。

越獄市場有叫 appstore++的插件泛豪,可以實(shí)現(xiàn)下載appstore 任意應(yīng)用任意歷史包稠诲。這是我們想要的效果,但是appstore++都是基于頁面操作來完成诡曙,無法實(shí)現(xiàn)自動化臀叙。

趁著下午時(shí)間空閑,看看apsptore++實(shí)現(xiàn)价卤,防止自己忘掉劝萤,留下此文章,以便自己找回或者方便后人繼續(xù)研究荠雕。

歷史版本

分析了appstore++中的 appstoreplusSB.dylib 動態(tài)庫稳其,發(fā)現(xiàn)他的歷史版本其實(shí)是通過接口傳入bundleId拉取到的。

例如: https://mixrank.com/appstore/apps/529479190/versions

下載歷史版本

appstore++ 執(zhí)行下載的方法

-[ASPPSpringBoardUtils completeDowngradeWithAdamId:externalId:](void * self, void * _cmd, void * arg2, void * arg3)

調(diào)用 ios下載的代碼

 [[SKUIItemStateCenter  defaultCenter] _performPurchases:NSArray<SKUIItem *>) *item hasBundlePurchase:(BOOL) purchased withClientContext:(SKUIClientContext *)context completeBlock:nil]

解讀:
參數(shù)1:SKUIItem

下載項(xiàng)炸卑,可同時(shí)下載多個(gè)既鞠。

r10 = [objc_getClass("SKUIItem") alloc];
[r10 setItemIdentifier:r2]; // r2 = SKUIItemOffer
[r10 setValue:r8 forKey:@"_itemOffer"]; // r8 = AdamId
[r10 setValue:@"iosSoftware" forKey:@"_itemKindString"];
[r10 setValue:stack[2028] forKey:@"_versionIdentifier"];  // stack[2028] =  externalId

參數(shù)2:SKUIClientContext
單利,直接 調(diào)用 [SKUIClientContext defaultContext] 為空盖文,應(yīng)該是打開appstore且有下載應(yīng)用時(shí)才會有值嘱蛋。

后續(xù)自動化思路

由于必須獲取到 上下文,所以可以寫一個(gè) demaeon 服務(wù),實(shí)現(xiàn) 喚起appstore洒敏,接收下載指定版本指令龄恋,砸殼,回傳Agent凶伙。

ps:由于時(shí)間問題郭毕, 自己到目前還未實(shí)現(xiàn),也許此路不通函荣。如果有人基于此思路實(shí)現(xiàn)显押,希望可以在下面評論方案可行,方便后人傻挂。謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乘碑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子金拒,更是在濱河造成了極大的恐慌兽肤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绪抛,死亡現(xiàn)場離奇詭異资铡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)睦疫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門害驹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蛤育,你說我怎么就攤上這事宛官。” “怎么了瓦糕?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵底洗,是天一觀的道長。 經(jīng)常有香客問我咕娄,道長亥揖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任圣勒,我火速辦了婚禮费变,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘圣贸。我一直安慰自己挚歧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布吁峻。 她就那樣靜靜地躺著滑负,像睡著了一般在张。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矮慕,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天帮匾,我揣著相機(jī)與錄音,去河邊找鬼痴鳄。 笑死瘟斜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的夏跷。 我是一名探鬼主播哼转,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼槽华!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起趟妥,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤猫态,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后披摄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體亲雪,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年疚膊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了义辕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寓盗,死狀恐怖灌砖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情傀蚌,我是刑警寧澤基显,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站善炫,受9級特大地震影響撩幽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜箩艺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一窜醉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧艺谆,春花似錦榨惰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聊记。三九已至,卻和暖如春恢暖,著一層夾襖步出監(jiān)牢的瞬間排监,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工杰捂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舆床,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓嫁佳,卻偏偏與公主長得像挨队,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蒿往,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容