Prometheus 降級工具
12/29 早上預告了許久的 tihmstar 終於釋出降級工具 Prometheus 。
原本以為月底跨年時才會釋出的,有點小驚訝。加上下午手賤不小心把手邊的 6s 搞爆炸了。。便可以毫不猶豫的測試啦 (?
[fve]https://www.youtube.com/watch?v=BIMx2Y13Ukc[/fve]
Prometheus 將 “nonceenabler”、”futurerestore” 和 “img4tool” 等工具的功能整合在一起。而 Prometheus 主要有兩種升/降級方法:
1. 搭配 nonceenabler 和 futurerestore 在越獄環境下生成需要的 ApNonce,並透過這組 ApNonce 來升/降級 (快速很多)
2. 直接使用 futurerestore 來操作你的手機進入 Recovery Mode ,生成隨機 ApNonce,如果這組 ApNonce 是你所需要的,就成功 (簡單來說就是暴力破解,需要花費很長時間)
因為我手殘,不小心把 9.3.3 越獄弄炸升級到 10.2 了,所以目前我只能嘗試方法2了…
這次降級工具有蠻多要注意的事項:
- Prometheus 目前版本為沒有 GUI 的工具,只能透過終端機來操作
- 降級或升級是有條件的,這等等會說明
- 最重要的,想要進行這些步驟前,務必確認你很熟悉這些開發工具,當然後果自行負責啦~
那我們需要準備什麼呢?
誠摯(不怕死)的心- 想要降級至的版本的shsh2,如何備份可以參見 [越獄] iOS 10.1.1 JB現況&SHSH2備份,當然有追蹤皮樂大大的粉屍們,相信前陣子都備份好 iOS 10.1.1 的 SHSH2 啦
至於備份下來的 SHSH2 會有很多個,那要選擇哪一個呢?我是拿 NONCE_random 以外資料夾內其中一個對應版本號的 SHSH2 (14B150 -> iOS 10.1.1)啦,目前也還沒成功,所以不確定是否會影響 - futurerestore_osx (作者連結):主要的降級工具
- 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後在裡面拿取:
- BuildManifest.plist
路徑為iPhone_4.7_10.2_14C92_Restore.zip/BuildManifest.plist
- Baseband:bbfw檔
路徑為iPhone_4.7_10.2_14C92_Restore.zip/dfu/Mav13-2.41.00.Release.bbfw
這裡要注意的是,你需要到手機的 設定 -> 一般 -> 關於本機 -> 數據機韌體 去確認自己的版號,拿取對應版本的韌體,我的就是2.41.00 - 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
好,所以到這邊,你的資料夾內應該要有這些東西,可以確認一下
準備好之後,便先移動至你準備的資料夾,打入以下指令:
$ ./futurerestore
如果你沒安裝過任何開發工具,這時候應該會提示你缺少一些 Library
解決方法:
請先安裝 Homebrew ,按照網頁內指令操作便可完成,Homebrew是一套套件管理工具,我們將用他來安裝其他需要的 Library
缺少的Library的安裝指令為以下
$ brew install libplist
$ brew install libzip
$ 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檔名
然後就會炸掉了。
[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 然後比對了,目前我試了兩個小時都還沒成功呢 >_^
[fve]https://youtu.be/uCbCRKVNqC0[/fve]
當然有人會想,這樣不就我整天電腦和手機要掛在那邊?
沒錯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) 目前都還是無法成功。。
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
請問這是什麼問題?
看中間有一段缺少Library那邊
你可以换个NONCE试试,不是还有其他4个吗?
有,我有換另一個,這幾天再換換看好了XD
照步驟
$ 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
內文有更新解決方法~
我每次生成的 ApNonce 都一樣…..
昨天看作者 Twitter 似乎目前最新版的工具有問題,等一下他釋出新版吧
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 的用上面指令。
提醒要使用這個指令的人,要先取得root 權限喔!!
我一直卡在
[Error] failed to load SEP
[Error] Fail code=-15
Failed with errorcode=-15
版主成功了嗎?
沒,放棄,反正10.2 JB出了
OK,读完以下tihmstar的这个说明后,我终于全搞明白了。楼主不要再浪费时间去试啦,忘掉10.1.1吧,这个方法永远不会成功的。
http://blog.tihmstar.net/2017/01/how-to-downgrade-without-jailbreak.html
是啊,不可能成功,他後來在工具中也註名了(覺得無言
請問如何 手動 link 到作者指定的 path
請問,如果我現在是 9.3.3 想升到 10.2 ,可以用這個教學的方式嗎?
要有shsh2
請問您後來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
我猜你沒有準備到第六點的baseband?所以他自動從Apple Server抓取,但10.2關了所以就不能過
請問我平刷ios10.2 但都卡在最後APTicket 那邊,這是哪裏出了問題?
Device has requested ApNonce now
Found device in Recovery mode
Identified device as n71ap, iPhone8,1
Extracting BuildManifest from IPSW
Product Version: 10.2
Product Build: 14C92 Major: 14
Device supports Image4: true
Got APNonce from device: 6c c6 85 4c ae 50 a7 a7 8c 87 5c 72 65 74 d6 30 fe d4 d7 11
checking APTicket to be valid for this restore…
Verified ECID in APTicket matches device ECID
checking APTicket to be valid for this restore…
Verified ECID in APTicket matches device ECID
[Error] BuildIdentity selected for restore does not match APTicket
BuildIdentity selected for restore:
BuildNumber : 14C92
BuildTrain : Corry
DeviceClass : n71ap
FDRSupport : YES
RestoreBehavior : Erase
Variant : Customer Erase Install (IPSW)
BuildIdentiy valid for the APTicket:
BuildNumber : 14C92
BuildTrain : Corry
DeviceClass : n61ap
FDRSupport : YES
RestoreBehavior : Erase
Variant : Customer Erase Install (IPSW)
[Error] APTicket can’t be used for this restore
Done: restoring failed.
Failed with errorcode=-44