• 解密iPhone的固件

    2020-08-05 19:12:59      2171 瀏覽    作者:菲一般

    .ipsw 文件中各類文件的解密方法。

    準備工具

    • Cygwin(運行vfdecrypt及其它Linux工具所需環境,如果您只需使用vfdecrypt也可點此下載所需文件置于vfdecrypt所在目錄。)
    • VFDecrypt(用于解密主文件系統的工具。)
    • img3decrypt(用于解密 img3 文件。)
    • WinRAR(或其它任何可以解壓ZIP壓縮包的工具。)
    • HFSExplorer(需要Java運行環境,也可使用收費的PowerISO和其它任何可以解壓dmg鏡像的工具替代。)

    注意事項

    從3.1版本開始,蘋果改為在Snow Leopard平臺下進行封裝固件,由于Snow Leopard新的文件管理機制導致在所有非Snow Leopard平臺中(比如Leopard或Windows)打開dmg文件后某些類型的文件(比如所有*.lproj目錄中的*.strings文件)會顯示0字節大小并且文件內容為空。這是由于Snow Leopard把這些文件的內容存放在了資源分支(Resource fork)中,在Leopard及更早版本的Mac OS X平臺下雖然無法讀取但文件內容仍然存在,但是在Windows中這些文件的內容會連同整個資源分支被丟棄。目前尚未有有效的方法能夠解決此問題。

    了解 IPSW 文件

    文件說明

    IPSW文件,也就是升級iPhone/iPod touch時所使用的固件安裝包,使用的是ZIP壓縮算法,可以直接使用WinRAR等工具打開。

    以iPod touch第一代2.2.1固件為例,打開以后可以看見內有如下文件:

    • .fseventsd(目錄)
    • Firmware(目錄)
    • 018-4437-16.dmg
    • 018-4443-16.dmg
    • 018-4490-10.dmg
    • kernelcache.release.s5l8900x
    • Restore.plist

    (3.x多了一個BuildManifesto.plist文件,不過我們不需要用到。)

    其中,Firmware目錄存放著刷新固件時用于引導設備的核心文件,這里暫時不需要用到;另外三個*.dmg文件則是iPhone/iPod touch的系統鏡像。

    Restore.plist文件描述了各個文件的用途。使用記事本等文本編輯器即可打開。其中包含了如下內容:

    RestoreRamDisks

    Update
    018-4437-16.dmg
    User
    018-4443-16.dmg

    從中可以知道,018-4437-16.dmg是“升級內存盤”(Update Ramdisk),018-4443-16.dmg是“恢復內存盤”(Restore Ramdisk),使用iTunes“升級”固件時實際上是讓設備啟動并加載018-4437-16.dmg,而“恢復”固件時啟動的則是018-4443-16.dmg。如果要自行提取 VFDecrypt 密匙的話,就要從恢復內存盤里提取。

    繼續往下,會看到這一段:

    SystemRestoreImages

    User
    018-4490-10.dmg

    這段內容表示,刷新固件時往機器上寫入的“系統內存盤”(System Ramdisk)為018-4490-10.dmg,一般也是占整個固件體積最多的文件,因為里面包含iPhone/iPod Touch的文件系統。也就是說,提取文件系統就是提取這個文件的內容。

    可能有人會問,為什么要特別說明Restore.plist里的內容呢?回答是,因為這三個dmg鏡像的文件名不是固定的,不同版本的文件名不一樣,所以要自己看Restore.plist來了解每一個文件是干什么的。

    加密算法

    系統內存盤 (System Ramdisk) 是 IPSW 文件中最大的文件(大約200MB),每個設備型號對應一個 VFDecrypt 密匙。解密這個文件需要用到VFDecrypt工具,這就是本文主要討論的。

    升級內存盤 (Update Ramdisk) 和恢復內存盤 (Restore Ramdisk) 以及其他文件使用被稱作 img3 的算法加密。加密密匙對應設備處理器,每種類型的處理器對應一對IV和KEY密匙。請使用img3decrypt來解密這類文件。

    要獲取解密這兩類文件的密匙,請參閱 VFDecrypt 密匙 頁面,或從 PwnageTool 的 *.plist 文件中獲取。

    解密 img3 文件

    需要用到 img3decrypt

    解密需要用到的KEY和IV密匙請在這里獲取:VFDecrypt 密匙

    解密命令:

    img3decrypt.exe <輸入文件> <輸出文件> [-k] [-iv]

    如果不給出 KEY 和 IV 參數,則工具會輸出 KBAG 數據。如果您愿意,可以使用 iPhone/iPod Touch 上的硬件 AES 引擎從這些有限的 KBAG 數據中計算出 KEY 和 IV。如果您成功這么做,歡迎把您計算并驗證過的 KEY 和 IV 添加到VFDecrypt 密匙頁面供大家使用。

    關于 img3decrypt 工具的更多功能及使用方法,請移步 http://code.google.com/p/img3decrypt/

    解密系統內存盤

    需要用到 vfdecrypt

    解密需要用到的密匙請在這里獲取:VFDecrypt 密匙。在3.x固件中,您也可以使用 GenPass 從已解密的恢復內存盤提取出密匙。

    在本例中我們使用的密匙是 ee4eeeb62240c1378c739696dff9fef2c88834e98877f55a29c147e7d5b137967197392a

    如果您在 Cygwin 環境中操作

    1. 把下載下來的文件解壓得到vfdecrypt.exe,放到C:/Cygwin/bin目錄中(假設Cygwin安裝在C:/Cygwin,下同)。
    2. 使用 WinRAR 打開 .ipsw 文件,從中解壓出系統內存盤(以2.2.1為例,文件名為018-4490-10.dmg),放到C:/Cygwin/home/【您的用戶名】
    3. 啟動 Cygwin,敲入以下命令:
    vfdecrypt -i 018-4490-10.dmg -o 018-4490-10-decrypted.dmg -k ee4eeeb62240c1378c739696dff9fef2c88834e98877f55a29c147e7d5b137967197392a

    稍等片刻,便能在C:/Cygwin/home中看到解密后的文件 018-4490-10-decrypted.dmg。使用 HFSExplorer 打開即可。

    如果您沒有或不想安裝 Cygwin

    1. 在您喜歡的地方新建一個文件夾。
    2. 把vfdecrypt.exe解壓到這個文件夾中,同樣地把本文開頭所說的運行庫(點此下載)也一并解壓到這個文件夾中。
    3. 使用 WinRAR 打開 .ipsw 文件,從中解壓出系統內存盤,同樣放到這個文件夾中。
    4. 在“開始”菜單中點擊“運行”,輸入“cmd”并回車,打開命令提示符窗口,并定位到剛才建立的文件夾
    5. 敲入以下命令:
    vfdecrypt -i 018-4490-10.dmg -o 018-4490-10-decrypted.dmg -k ee4eeeb62240c1378c739696dff9fef2c88834e98877f55a29c147e7d5b137967197392a

    稍等片刻,便能在該文件夾中看到已經解密的 018-4490-10-decrypted.dmg。使用 HFSExplorer 打開即可。

    使用 GenPass 從已解密的恢復內存盤提取 VFDecrypt 密匙

    除了到VFDecrypt 密匙頁面查閱已知的 VFDecrypt 密匙外,您也可以自己使用 GenPass 從已解密的恢復內存盤中計算出 VFDecrypt 密匙。如果您成功這么做,歡迎把您計算并驗證過的密匙添加到VFDecrypt 密匙頁面供大家使用。

    下載源代碼并編譯 GenPass

    gcc GenPass.c -lcrypto -o GenPass
    cp ./GenPass.exe /bin

    使用 GenPass 計算密匙

    解密命令:

    GenPass.exe <平臺類型> <恢復內存盤> <系統內存盤>

    其中“平臺類型”與設備所使用處理器類型有關,比如 iPod touch 1G 為 s5l8900x,要知道自己的設備的平臺類型,請使用 WinRAR 打開您所使用的設備的 .ipsw 固件文件,從中找到一個約4M的文件名類似于“kernelcache.release.s5l8900x”的文件,其中最后一個“.”號后面的即為“平臺類型”

    0
    Copyright ? 2006-2023 手機維修技術分享.手機維修權威網 版權所有
    2019久久久高清456