因為 checkm8 的關係,所有受影響的裝置就再也不需要 tfp0 漏洞,就可以直接靠 checkm8 設定 nonce 了,對於有存 SHSH 想要降級的人來說很有用。這篇文章不會寫降級教學,只會教大家如何使用 nonce setter 設定想要的 nonce。
可能會有人想說:「checkra1n 不就能無視版本越獄了,為何還要降級?」
因為對我(付費開發者)來說用 unc0ver 比用 checkra1n 方便多了,所以考慮到未來 unc0ver 支援 A11 以下的情況,還是從 13.3.1 降級到 13.3 比較好。
要降級之前,請先檢查好以下事項:
- 要降級的版本是否有相容的 SEP
- 是否有存特定 generator 的 SHSH,或者 SHSH 的 apnonce 可以反推 generator
首先,先去反推或查詢 generator,例如我這次使用的 42c88f5a7b75bc944c288a7215391dc9c73b6e9f
的 generator 是 0x4bb8834ba6444b50
。
方法一:適用所有 iOS 12.3 以上裝置,但需越獄
把裝置用 checkra1n 越獄,Cydia 新增 repo:https://halo-michael.github.io/repo
安裝 GeneratorAutoSetter
跟 OpenSSH,安裝完成後,SSH 連線到手機上,輸入:setgenerator 0x4bb8834ba6444b50
,當然這邊換成你用的 generator。
成功之後再用 checkra1n 重新越獄一次,越獄成功後,再進到恢復模式。如果你有 irecovery
,可以用 irecovery -q
指令看 nonce 是不是正確,例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
irecovery -q CPID: 8000 CPRV: 20 BDID: 06 ECID: xxxxxxxxxxxxxxx CPFM: 03 SCEP: 01 IBFL: 1d SRNM: xxxxxxxxxxxxxxx IMEI: N/A NONC: ab3c451997a5daab7970d88e42f4a7a5192c75d9 SNON: 15db0ec66d08b8b9d6b9735f05981c61a02463ee MODE: Recovery |
由於 GeneratorAutoSetter 只支援 iOS 12.3 以上跟 13,並且要越獄後才可以安裝,所以下面提供方法二
方法二:部分機種支援,不需越獄,無視版本
下載 https://github.com/MatthewPierson/checkm8-nonce-setter
執行 main.sh,選擇手動輸入 Generator,或者直接拖曳 SHSH 檔案進去,讓程式找 Generator,按照指示進入 DFU 模式,收工。
這個方法由於是用 checkm8 本身漏洞,並且繞過簽名檢查,所以沒有 iOS 版本限定問題,也不需要越獄。
然而由於漏洞對應到每種 CPU 都需要重新找注入位址,所以並不是所有的機器都支援。支援列表可以看他頁面。
個人測試這個方法似乎比方法一穩,方法一有時候不知道為何會沒設定到 generator,因此用本方法沒有 irceovery -q
再次檢查也不太會造成問題。
如果出現 Either unsupported device or no device found. 錯誤,有可能是 GateKeeper 或者 10.15 以後變嚴格的權限問題。
發佈留言