站在用戶的角度思考問題,與客戶深入溝通,找到昌都網(wǎng)站設(shè)計(jì)與昌都網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋昌都地區(qū)。
當(dāng)程序發(fā)生崩潰并有機(jī)會(huì)獲取到崩潰堆棧時(shí),還原崩潰堆棧從而定位錯(cuò)誤顯得非常重要。用戶符號(hào)的還原非常簡單,因?yàn)樵诖虬?APP 時(shí),會(huì)生成對(duì)應(yīng)的符號(hào)文件(以 .dSYM 結(jié)尾)。而對(duì)于系統(tǒng)符號(hào),Apple 并沒有提供對(duì)應(yīng)的符號(hào)文件下載,所以需要自己解析。本文就簡單聊聊從 iOS 固件獲取系統(tǒng)庫符號(hào)的方法。
有很多提供固件下載服務(wù)的站點(diǎn),比較出名的是: theiphonewiki.com 。這個(gè)站點(diǎn)同時(shí)也維護(hù)了用于固件解密的 key,
如圖1所示:
圖1:theiphonewiki.com 維護(hù)的 iOS 9.x 版本的固件解密 key
在圖1中,藍(lán)色字體部分表示對(duì)應(yīng)的固件 key 存在,紅色字體表示對(duì)應(yīng)的固件 key 暫時(shí)不可得,所以 theiphonewiki 上只有極少數(shù)的 arm64 版本的固件是可以解密的。
固件(以 .ipsw 結(jié)尾)文件其實(shí)是一個(gè)壓縮包,解壓后得到的 3 個(gè) dmg 文件中,占用空間最大的那個(gè)就包含需要的系統(tǒng)庫。而這個(gè)文件是 AES 加密的,解密這個(gè)需要 Root Filesystem Key。例如,iPhone5,4(即 iPhone 5c )固件的解密 key
如圖2所示:
圖2:iPhone5,4 固件的 Root Filesystem 解密 Key
獲取到 key 后,就可以使用 VFDecrypt 工具完成最終的解密,當(dāng)然也有很多更方便的 UI 集成工具或者 python 腳本,比如:iDecrpyptIt。
從 iPhone OS 3.1 開始,所有的系統(tǒng)庫都打包成一個(gè)文件:dyld_shared_cache_xxx ,其中 xxx 表示具體的架構(gòu),此文件位于:/System/Library/Caches/com.apple.dyld 目錄。
dyld_shared_cache_xxx 文件的解壓可以使用 dyld 中的代碼,
步驟如圖3所示:
圖 3:dyld_shared_cache_xxx 文件解密方法
最后得到的目錄中就包含了此固件的系統(tǒng)庫文件,如 UIKit.framework 等。
theiphonewiki 上提供的解密 key 并沒有 arm64 架構(gòu)的,如果要解密 iPhone 5s 及以后產(chǎn)品對(duì)應(yīng)的固件,需要通過其它渠道或者自己手動(dòng)獲取解密 key 。關(guān)于如何手動(dòng)獲取解密 key,本文并沒有涉及,這一話題筆者也還在研究,歡迎大家指正。
分享題目:聊聊從iOS固件提取系統(tǒng)庫符號(hào)
網(wǎng)頁URL:http://www.rwnh.cn/article18/peoggp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站收錄、品牌網(wǎng)站建設(shè)、云服務(wù)器、做網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)