原文連結:Reverse Engineering iOS Apps - iOS 11 Edition (Part 1) [詳細的資訊請閱讀原文,超詳細的步驟和豐富的外鍊]
這篇部落格中較長的描述了如何對iOS11版本進行逆向,共分為兩部分,此為其一,主要内容為如何使用工具對iOS進行越獄以及app解密和檔案提取。
首先需要了解的一點是,每次iOS更新,那麼越獄的工具就需要更新,是以越獄工具的選取要看準iOS的版本。針對iOS11的越獄工具包括LiberiOS和Electra,本篇部落格中作者使用的是LiberiOS。LiberiOS越獄是一種KPP-less的工具,即不會對KPP(Kernel Patch Protection,核心更新檔保護)警戒的核心區域進行修改,而其他的大部分越獄工具都不支援這種方法。
Step 1:越獄
使用LiberiOS越獄,需要下載下傳對應的IPA和Cydia Impactor工具。Cydia Impactor工具是一個自簽名工具,可以将IPA直接安裝在iOS上。
Step 2:準備必要的工具
安裝工具iTunnel,該工具用于使用USB轉發ssh。作者認為通過USB轉發的ssh速度更快,如果不用USB的話,通過wifi也是完全可以的。
安裝工具bfinject,該用具用于對iOS的apps進行解密。由App Store下載下傳的app都使用Apple的FairPlay DRM進行了加密來保護版權和防止篡改,如果不進行解密的話無法提取檔案。
Step 3:對app進行解密
根據安裝時間找到目标app的UUID,進而找到.app的包名,然後指令行下使用bfinject進行解密。
Step4:提取檔案
利用scp指令将解密後的ipa檔案拷貝到電腦上,并解壓,然後就可以得到該app的解密後的二進制檔案。
PS. 由于手上沒有用于實驗的機器,是以無法練習上述步驟,隻能留到之後有緣再見了~
After:
① 了解越獄工具的原理和基于的漏洞。
② 了解DRM數字版權管理。
③ MIG是啥?連結1,連結2。
補充:iOS逆向學習文檔