中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

聊聊從iOS固件提取系統庫符號

發布時間:2020-06-15 07:03:40 來源:網絡 閱讀:743 作者:網易云捕 欄目:移動開發

“民之失德,乾糇以愆;他山之石,可以攻玉。”- 《詩經》 

聊聊從iOS固件提取系統庫符號
 

        當程序發生崩潰并有機會獲取到崩潰堆棧時,還原崩潰堆棧從而定位錯誤顯得非常重要。用戶符號的還原非常簡單,因為在打包 APP 時,會生成對應的符號文件(以 .dSYM 結尾)。而對于系統符號,Apple 并沒有提供對應的符號文件下載,所以需要自己解析。本文就簡單聊聊從 iOS 固件獲取系統庫符號的方法。
 

一、固件下載和解密

       有很多提供固件下載服務的站點,比較出名的是: theiphonewiki.com 。這個站點同時也維護了用于固件解密的 key,
如圖1所示:
聊聊從iOS固件提取系統庫符號

圖1:theiphonewiki.com 維護的 iOS 9.x 版本的固件解密 key

       在圖1中,藍色字體部分表示對應的固件 key 存在,紅色字體表示對應的固件 key 暫時不可得,所以 theiphonewiki 上只有極少數的 arm64 版本的固件是可以解密的。
       固件(以 .ipsw 結尾)文件其實是一個壓縮包,解壓后得到的 3 個 dmg 文件中,占用空間最大的那個就包含需要的系統庫。而這個文件是 AES 加密的,解密這個需要 Root Filesystem Key。例如,iPhone5,4(即 iPhone 5c )固件的解密 key

如圖2所示:
聊聊從iOS固件提取系統庫符號

圖2:iPhone5,4 固件的 Root Filesystem 解密 Key

       獲取到 key 后,就可以使用 VFDecrypt 工具完成最終的解密,當然也有很多更方便的 UI 集成工具或者 python 腳本,比如:iDecrpyptIt。
 

二、系統庫符號提取

       從 iPhone OS 3.1 開始,所有的系統庫都打包成一個文件:dyld_shared_cache_xxx ,其中 xxx 表示具體的架構,此文件位于:/System/Library/Caches/com.apple.dyld 目錄。
       dyld_shared_cache_xxx 文件的解壓可以使用 dyld 中的代碼,

    步驟如圖3所示:
聊聊從iOS固件提取系統庫符號

    圖 3:dyld_shared_cache_xxx 文件解密方法

       最后得到的目錄中就包含了此固件的系統庫文件,如 UIKit.framework 等。
 

三、需要說明的地方

       theiphonewiki 上提供的解密 key 并沒有 arm64 架構的,如果要解密 iPhone 5s 及以后產品對應的固件,需要通過其它渠道或者自己手動獲取解密 key 。關于如何手動獲取解密 key,本文并沒有涉及,這一話題筆者也還在研究,歡迎大家指正。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青田县| 靖远县| 霞浦县| 绥宁县| 黄陵县| 巫溪县| 利辛县| 凉城县| 岚皋县| 隆安县| 昌图县| 广汉市| 克山县| 河源市| 板桥市| 东乌珠穆沁旗| 晋州市| 罗江县| 玉龙| 射阳县| 新化县| 金昌市| 灌南县| 宁乡县| 南阳市| 政和县| 寿光市| 石渠县| 远安县| 新沂市| 霸州市| 师宗县| 信阳市| 辽源市| 盐池县| 安化县| 阿荣旗| 巫溪县| 灵石县| 贞丰县| 垣曲县|