聊聊從iOS固件提取系統(tǒng)庫(kù)符號(hào)

“民之失德薇缅,乾糇以愆;他山之石攒磨,可以攻玉泳桦。”- 《詩(shī)經(jīng)》

當(dāng)程序發(fā)生崩潰并有機(jī)會(huì)獲取到崩潰堆棧時(shí)娩缰,還原崩潰堆棧從而定位錯(cuò)誤顯得非常重要灸撰。用戶符號(hào)的還原非常簡(jiǎn)單,因?yàn)樵诖虬?APP 時(shí)拼坎,會(huì)生成對(duì)應(yīng)的符號(hào)文件(以 .dSYM 結(jié)尾)浮毯。而對(duì)于系統(tǒng)符號(hào),Apple 并沒(méi)有提供對(duì)應(yīng)的符號(hào)文件下載泰鸡,所以需要自己解析债蓝。本文就簡(jiǎn)單聊聊從 iOS 固件獲取系統(tǒng)庫(kù)符號(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)庫(kù)钟些。而這個(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喷楣。

二趟大、系統(tǒng)庫(kù)符號(hào)提取

從 iPhone OS 3.1 開(kāi)始鹤树,所有的系統(tǒng)庫(kù)都打包成一個(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)庫(kù)文件叽讳,如 UIKit.framework 等追他。

三、需要說(shuō)明的地方

theiphonewiki 上提供的解密 key 并沒(méi)有 arm64 架構(gòu)的岛蚤,如果要解密 iPhone 5s 及以后產(chǎn)品對(duì)應(yīng)的固件邑狸,需要通過(guò)其它渠道或者自己手動(dòng)獲取解密 key 。關(guān)于如何手動(dòng)獲取解密 key涤妒,本文并沒(méi)有涉及单雾,這一話題筆者也還在研究,歡迎大家指正她紫。


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 更多資訊請(qǐng)關(guān)注網(wǎng)易云捕微信公眾號(hào)硅堆,網(wǎng)易云捕官方微博~~

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??網(wǎng)易云捕微博

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贿讹,隨后出現(xiàn)的幾起案子渐逃,更是在濱河造成了極大的恐慌,老刑警劉巖民褂,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茄菊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡助赞,警方通過(guò)查閱死者的電腦和手機(jī)买羞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)雹食,“玉大人畜普,你說(shuō)我怎么就攤上這事∪阂叮” “怎么了吃挑?”我有些...
    開(kāi)封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)街立。 經(jīng)常有香客問(wèn)我舶衬,道長(zhǎng),這世上最難降的妖魔是什么赎离? 我笑而不...
    開(kāi)封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任逛犹,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘虽画。我一直安慰自己舞蔽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布码撰。 她就那樣靜靜地躺著渗柿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脖岛。 梳的紋絲不亂的頭發(fā)上朵栖,一...
    開(kāi)封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音柴梆,去河邊找鬼陨溅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛轩性,可吹牛的內(nèi)容都是我干的声登。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼揣苏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼悯嗓!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起卸察,我...
    開(kāi)封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤脯厨,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后坑质,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體合武,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年涡扼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稼跳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吃沪,死狀恐怖汤善,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情票彪,我是刑警寧澤红淡,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站降铸,受9級(jí)特大地震影響在旱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜推掸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一桶蝎、第九天 我趴在偏房一處隱蔽的房頂上張望驻仅。 院中可真熱鬧,春花似錦俊嗽、人聲如沸雾家。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至牙捉,卻和暖如春竹揍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背邪铲。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工芬位, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人带到。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓昧碉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親揽惹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子被饿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

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