IOS Firmware 解密/掛載

其他Linux/Unix/BSD/OSX等发行版讨论
回复
头像
torachiyo
帖子: 81
注册时间: 2015-11-29 8:32
系统: Kali Linux

IOS Firmware 解密/掛載

#1

帖子 torachiyo » 2016-04-14 19:59

Linux Mint 18 (Ubuntu xenial) / LMDE (Debian sid) / LMAE (Arch Linux)

==================
安裝必備工具:
==================
安裝 vfdecrypt
$ sudo apt-get install dmg2img

==================
編譯 xpwn
==================
下載原始碼
$ git clone https://github.com/planetbeing/xpwn.git

安裝基本編譯環境
## Debian/Ubuntu
$ sudo apt-get install build-essential
## Arch Linux
$ sudo pacman -S base-devel

安裝必要函式庫
## Debian/Ubuntu
$ sudo apt-get install libssl-dev zlib1g-dev libbz2-dev3 libusb-dev libpng12-dev
## Arch Linux
$ sudo pacman -S zlib openssl bzip2 libpng libusb curl libusb-compat

安裝cmake
## Debian/Ubuntu
$ sudo apt-get install cmake
## Arch Linux
$ sudo pacman -S cmake

建立 build 資料夾
$ cd ~
$ mkdir build
$ cd build

建立 Makefiles
$ cmake ~/xpwn

編譯
$ make

打包
$ make package

完成品 ~/build/XPwn-0.5.8-Linux.tar.bz2

==================
ipsw 檔案
==================
ios .ipsw 檔案是一般的zip壓縮檔, 可以使用unzip解壓縮.
範例: iPhone4,1_6.1.3_10B329_Restore.ipsw
$ mkdir tmp
$ unzip iPhone4,1_6.1.3_10B329_Restore.ipsw -d tmp/

解壓縮後,裡面有三個dmg檔案. 最大的是 iOS image, 另外兩個是 loader images (Update Ramdisk/Restore Ramdisk).

==================
查詢 Firmware Key
==================
IOS Firmware 各版本都有獨有的 Key, 對照機型與Firmware版本查詢
https://www.theiphonewiki.com/wiki/Firmware_Keys

範例: iPhone 4S IOS 6.1.3 Firmware Key
https://www.theiphonewiki.com/wiki/Brig ... hone4,1%29
裡面的Key是 ipsw 內各加密檔案的Key.

Root Filesystem: 048-2613-005.dmg
Key: d4685a3c01a0b6f762350191d98b8964d4c7af349aa84bacef828be9683514ccf44a8426

Update Ramdisk: 048-2679-005.dmg
IV: d26f911dbf7b3c6a49037179b96ecc8c
Key: 35a6872687dc9a1cb0904c88e4abf8a8bf453dae99fd442258e5cffd8443628c

Restore Ramdisk: 048-2516-005.dmg
IV: d30fa37b6ed56715121337a5fc039801
Key: 1d8da07783a6f53efbb47657c352b305f0856697c6c824a9132ea0effe1a92a9

==================
loader images 解密
==================
把編譯好的XPwn移動到Home目錄並解壓縮
$ tar jxvf XPwn-0.5.8-Linux.tar.bz2
$ cd XPwn-0.5.8-Linux

用法: xpwntool <輸入加密dmg> <輸出解密dmg> -iv -k
$ ./xpwntool 048-2679-005.dmg update-ramdisk.dmg -iv d26f911dbf7b3c6a49037179b96ecc8c -k 35a6872687dc9a1cb0904c88e4abf8a8bf453dae99fd442258e5cffd8443628c
$ ./xpwntool 048-2516-005.dmg restore-ramdisk.dmg -iv d30fa37b6ed56715121337a5fc039801 -k 1d8da07783a6f53efbb47657c352b305f0856697c6c824a9132ea0effe1a92a9

==================
iOS image 解密
==================
用法: vfdecrypt -k -i <輸入加密dmg> -o <輸出解密dmg>
$ vfdecrypt -k d4685a3c01a0b6f762350191d98b8964d4c7af349aa84bacef828be9683514ccf44a8426 -i 048-2613-005.dmg -o 048-2613-005_decrypted.dmg

加密的 iOS image dmg 解密後是一個壓縮的 dmg 檔案.
必須再解壓縮後才能掛載.

==================
iOS image 解壓縮
==================
用法: dmg extract <輸入壓縮dmg> <輸出解壓縮dmg>
$ ./dmg extract 048-2613-005_decrypted.dmg rootfs-raw.dmg

==================
掛載 iOS image
==================
$ mkdir -p /run/media
$ mkdir -p /run/media/$USER
$ sudo mkdir -p /run/media/$USER/iphone

Root Filesystem
$ sudo mount -o loop -t hfsplus rootfs-raw.dmg /run/media/$USER/iphone
重新掛載為讀寫模式
$ sudo mount -t hfsplus -o remount,force,rw /run/media/$USER/iphone

Update Ramdisk
$ sudo mount -o loop -t hfsplus update-ramdisk.dmg /run/media/$USER/iphone

Restore Ramdisk
$ sudo mount -o loop -t hfsplus restore-ramdisk.dmg /run/media/$USER/iphone

以root權限開啟檔案管理員就可以進行編輯修改.

刷機詳細方式要等 My Apple 能越獄,才能整理. 图片
回复