Gary's …Lasamia

Prometheus 降級工具

12/29 早上預告了許久的 tihmstar 終於釋出降級工具 Prometheus 。
原本以為月底跨年時才會釋出的,有點小驚訝。加上下午手賤不小心把手邊的 6s 搞爆炸了。。便可以毫不猶豫的測試啦 (?

Prometheus 將 “nonceenabler”、”futurerestore” 和 “img4tool” 等工具的功能整合在一起。而 Prometheus 主要有兩種升/降級方法:

1. 搭配 nonceenabler 和 futurerestore 在越獄環境下生成需要的 ApNonce,並透過這組 ApNonce 來升/降級 (快速很多)
2. 直接使用 futurerestore 來操作你的手機進入 Recovery Mode ,生成隨機 ApNonce,如果這組 ApNonce 是你所需要的,就成功 (簡單來說就是暴力破解,需要花費很長時間)

因為我手殘,不小心把 9.3.3 越獄弄炸升級到 10.2 了,所以目前我只能嘗試方法2了…

這次降級工具有蠻多要注意的事項:

  1. Prometheus 目前版本為沒有 GUI 的工具,只能透過終端機來操作
  2. 降級或升級是有條件的,這等等會說明
  3. 最重要的,想要進行這些步驟前,務必確認你很熟悉這些開發工具,當然後果自行負責啦~

 

那我們需要準備什麼呢?

  1. 誠摯(不怕死)的心
  2. 想要降級至的版本的shsh2,如何備份可以參見 [越獄] iOS 10.1.1 JB現況&SHSH2備份,當然有追蹤皮樂大大的粉屍們,相信前陣子都備份好 iOS 10.1.1 的 SHSH2 啦
    至於備份下來的 SHSH2 會有很多個,那要選擇哪一個呢?我是拿 NONCE_random 以外資料夾內其中一個對應版本號的 SHSH2 (14B150 -> iOS 10.1.1)啦,目前也還沒成功,所以不確定是否會影響
  3. 螢幕快照 2016-12-29 下午9.15.03

  4. futurerestore_osx (作者連結):主要的降級工具
  5. ipsw
    作者示範是由 9.3.5 降級至 9.3.3,因此需要 9.3.5 及 9.3.3 的ipsw
    而我自己是由 10.2 欲降級至 10.1.1,所以我要準備 10.2 和 10.1.1的ipsw
    至於為何是這樣選擇,主要是因為由於認證關閉的關係,你需要拿你要降/升版本距離最近且有開放的系統版本中的baseband和sep
    我是6s上的10.1.1,所以最近且有開放的是10.2,注意,iOS 10 -> iOS 9這種跨大版本的baseband和sep是會有差別的,所以不同

以下幾個到 10.2 (認證沒關的版本) 的ipsw,副檔名改為zip後在裡面拿取:

  1. BuildManifest.plist
    路徑為 iPhone_4.7_10.2_14C92_Restore.zip/BuildManifest.plist
  2.  

  3. Baseband:bbfw檔
    路徑為 iPhone_4.7_10.2_14C92_Restore.zip/dfu/Mav13-2.41.00.Release.bbfw
    這裡要注意的是,你需要到手機的 設定 -> 一般 -> 關於本機 -> 數據機韌體 去確認自己的版號,拿取對應版本的韌體,我的就是2.41.00
  4.  

  5. Sep-Firmware:im4p檔
    路徑為 iPhone_4.7_10.2_14C92_Restore.zip/Firmware/all_flash/all_flash.n71ap.production/sep-firmware.n71.RELEASE.im4p
    而在 ipsw 內,可能會看到好幾個版本的資料夾,這時候建議去查個你的機型代號,像 6s 就是 n71ap

 

好,所以到這邊,你的資料夾內應該要有這些東西,可以確認一下
螢幕快照 2016-12-29 下午10.12.27
準備好之後,便先移動至你準備的資料夾,打入以下指令:
$ ./futurerestore

如果你沒安裝過任何開發工具,這時候應該會提示你缺少一些 Library
解決方法:
請先安裝 Homebrew ,按照網頁內指令操作便可完成,Homebrew是一套套件管理工具,我們將用他來安裝其他需要的 Library
缺少的Library的安裝指令為以下

  1. $ brew install libplist
  2. $ brew install libzip
  3. $ brew install usbmuxd

註:在reddit有看到有人出現 XCode 相關的其他錯誤:
upgrade Xcode in the App Store and use “xcode-select –install” to install the Command Line Tools for Xcode if you encounter a bug relating to cryptography.

安裝完這些便可以正常操作了~

$ ./futurerestore -t shsh2檔名 -b bbfw檔名 -p BuildManifest.plist -s sep-firmware檔名 -m BuildManifest.plist -w 欲還原ipsw檔名

然後就會炸掉了。

螢幕快照_2016-12-29_下午6_54_23

[TSSC] opening BuildManifest.plist
[TSSR] requesting ticket for iPhone7,2
Segmentation fault: 11

會出現這樣的錯誤訊息,看作者 Twitter 應該是他有地方沒寫好
解決方法很簡單,將參數全部複製一遍貼上重複輸入就好,那你的指令會變成如此:
$ ./futurerestore -t shsh2檔名 -b bbfw檔名 -p BuildManifest.plist -s sep-firmware檔名 -m BuildManifest.plist -w 欲還原ipsw檔名 -t shsh2檔名 -b bbfw檔名 -p BuildManifest.plist -s sep-firmware檔名 -m BuildManifest.plist -w 欲還原ipsw檔名
好,這時候你的裝置就會進入 Recovery Mode 然後開始生成 ApNonce 然後比對了,目前我試了兩個小時都還沒成功呢 >_^

螢幕快照_2016-12-29_下午7_02_34

當然有人會想,這樣不就我整天電腦和手機要掛在那邊?
沒錯der….

但是不用擔心,剛剛我親身測試過進入這 Recovery Mode 是不會更動你的系統,簡單來說,就是你可以放著等他成功,或者隨時退出繼續用你現行版本的系統,也不會更動到你的資料,但是以防萬一,使用前還是備份為佳
至於退出 Recovery Mode 的方法,可以使用 RecBoot 來退出,重開機後變正常了~

01/02 更新,作者釋出 v60 版本
這版本會依賴 libcrypto 的套件
解決方法是先用 brew install openssl
安裝完成之後自己手動 link 到作者指定的 path /opt/local/lib/

mkdir /opt/local/
mkdir /opt/local/lib
ln -s /usr/local/Cellar/openssl/1.0.2j/lib/libcrypto.1.0.0.dylib /opt/local/lib/libcrypto.1.0.0.dylib

=============================================

12/31 更新
根據作者 Twitter表示,網路上流傳都是造謠的,Prometheus 是可以使用且未被 Apple 和協。

12/30 更新
根據 Reddit 網友回報,Apple 似乎把Prometheus 擋掉了,針對它發送假的伺服器掛點訊息。在 iTunes 正常升級還原都不會遇到。。。

然後我測了 19 小時 (12/29 7:00 PM ~ 12/30 14:00) 目前都還是無法成功。。

20 comments

  1. dyld: Library not loaded: /usr/local/lib/libplist.3.dylib
    Referenced from: /Users/chipzng/Desktop/downgrade/./futurerestore
    Reason: image not found
    Trace/BPT trap: 5

    請問這是什麼問題?

  2. 照步驟
    $ brew install libplist
    $ brew install libzip
    $ brew install usbmuxd

    還是出現以下訊息怎麼辦…
    dyld: Library not loaded: /usr/lib/libcrypto.35.dylib
    Referenced from: /Users/jb20161222/Desktop/downgrade/./futurerestore_osx
    Reason: image not found
    Trace/BPT trap: 5

  3. mkdir /opt/; mkdir /opt/local/; mkdir /opt/local/lib; ln -s /usr/local/Cellar/openssl/1.0.2j/lib/libcrypto.1.0.0.dylib /opt/local/lib/libcrypto.1.0.0.dylib

    如果找不到 libcrypto 的用上面指令。

  4. 請問您後來9.3.3升到10.2有功能嗎? 我有SHSH2,但是執行到最後一步要執行futurerestore的時候,發生以下訊息,請問您知道如何處理嗎?

    Version: 80c0eee322a8822ff36c207e6c2e68ab81fd51d0 – 124
    INFO: device serial number is C35QKNARGRX5
    [INFO] 64bit device detected
    futurerestore init done
    reading ticket 3801849120940_iPhone8,2_n66ap_10.2-14C92.shsh2 done
    [TSSC] opening BuildManifest.plist
    WARNING: Unable to find BbSkeyId node
    [TSSR] User specified not to request a Baseband ticket.
    Request URL set to https://gs.apple.com/TSS/controller?action=2
    TSS server returned: STATUS=94&MESSAGE=This device isn’t eligible for the requested build.
    ERROR: TSS request failed (status=94, message=This device isn’t eligible for the requested build.)
    Sending TSS request attempt 1… [Error] sep firmware isn’t signed
    Failed with errorcode=-3

    1. 我猜你沒有準備到第六點的baseband?所以他自動從Apple Server抓取,但10.2關了所以就不能過

發表迴響