iOS獲取.ipa程序包


iOS獲取.ipa程序包

 

  原文在此

  首先肯定不是獲取自己的ipa包。

  為什么要獲取ipa包呢?比如,在仿寫一些程序時,避免不了獲取它的圖片素材等等,那么最快也是最有效的方式就是獲取原程序的ipa包。更或者,你想要逆向分析某一款APP時,那么只有獲取了ipa后才能進行class-dump,ida等等后續工作。

一、通過越獄設備

  如果有越獄手機,那么就變得很簡單,只需要從AppStore下載到越獄手機,然后用iTools/PP助手等工具將ipa包備份到電腦即可,下圖是使用PP助手:

  如果只是為了獲取圖片素材,那么獲取到ipa包解壓后,顯示包內容即可。但是如果想進一步進行逆向分析,還需要使用Clutch等工具進行砸殼,因為從AppStore下載的程序都是加過密的,至於砸殼不再詳述。

二、使用未越獄的手機

  在iOS8之前使用iTools等可以直接導出ipa包,但是iOS9之后就不能。(我用的是MAC系統,如果大家可以的,還煩請告訴我一聲,在次謝謝)。

三、使用電腦

  此方法只是用來獲取企業賬號發布的APP。在一些情況下,公司可能發布一款違背蘋果審核規則的APP,不能上架AppStore,那么可以使用企業賬號發布在自己的網站上,然后通過微信、微博或者掃二維碼的方式分發推廣應用。

  1 我們就可以直接將他們推廣的網址輸進電腦瀏覽器,這是會獲得plist文件,或者瀏覽器提示無法打開並給出itms-services:///?action=download-manifest&url=...一大串提醒。

    如果是plist文件,那么用Xcode打開plist文件,將下圖中紅色框住的部分即是ipa的下載路徑,復制后直接用瀏覽器打開即可。

    如果是一串itms-services:///?action=download-manifest&url=...這樣的提醒(用Safari打開會這樣),那么“url=“后面的鏈接直接就是ipa包的下載地址,同樣是復制用瀏覽器打開即可。

  2 現在程序的保護意識都加強了,可能服務器會判斷你的設備如果不是手機則拒絕下載,直接返回失敗,那么這種情況,可以將MAC下的瀏覽器通過修改userAgent偽裝成手機的Safari瀏覽器。下面以火狐瀏覽器為例:

  A)首先打開Firefox在地址欄輸入:about:config,這時會有提醒,直接點擊I promise!即可

  B)在搜索里面搜索:general.useragent.override,第一次是搜索不到的,然后再空白區域右擊->New->String

  C)在彈出的框里面輸入general.useragent.override->OK

  D)再在彈出的框中輸入具體的值,比如:iPhone6,iPhone5s,iPhone4s(目前我只有這三款手機,歡迎添加,獲取方法見下面代碼)。

    iPhone6,iOS9.0.2:Mozilla/5.0 (iPhone; CPU iPhone OS 9_0_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13A452

    iPhone5s,iOS9.0.2:Mozilla/5.0 (iPhone; CPU iPhone OS 9_0_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13A452

    iPhone4s,iOS7.1.1:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D201

  如果上面三款不符合你的要求,下面貼上獲取手機userAgent的代碼,可以根據需要來獲取自己需要的,注意:要真機調試:

- (void)viewDidLoad {
    [super viewDidLoad];
    UIWebView *webView  = [[UIWebView alloc] initWithFrame:CGRectZero];
    NSString *userAgent = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
    NSLog(@"--%@--",userAgent);
}

 

  最后,關閉瀏覽器再次打開進行1的操作。企業賬號發布的應用都是沒有加密的,直接使用class-dump,ida/Hopper Disassembler分析即可,當然圖片素材也是可以獲得的。

  綜上,通過越獄手機不僅可以獲得AppStore上的APP,更可以獲得企業賬號發布的APP,如果是AppStore上的APP且想進行逆向分析,還需要使用clutch工具進行砸殼。如果沒有越獄手機,可以通過瀏覽器獲取企業賬號發布的APP,有可能需要偽裝成手機瀏覽器,其實如果對方服務器添加了簽名驗證,那么即便是偽裝成手機瀏覽器也不能獲取了,所以,如果自己在發布企業app時,如果不想被破解,最后使用簽名驗證的方式。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM