NonceSet143 - iOS 14に対応したshsh2ファイルの取得やgeneratorをセットするための脱獄アプリ

2021/03/07 20:52


unc0ver v6.0.0からiOS 14.3までのiOSデバイスが脱獄できるようになりました。

前に作ったOTADisabler (App)と同じ「cicuta_virosa」エクスプロイトを利用しています。

今回は、脱獄環境でiPhone 12シリーズを含むshsh2ファイルの取得やfuturerestoreを実行するときに必要なgeneratorをセットすることができる脱獄用のアプリ「NonceSet143」を作成したので紹介します。

NonceSet143の機能


iOS 12からiOS 14までの脱獄したデバイスで利用することが出来ます。

現在の最新バージョンのiOS 14.4は「checkra1n」でA11デバイス(iPhone X)までが脱獄できますが、A12以降のデバイス(iPhone Xs以降)は、iOS 14.3までが脱獄可能となっています。

基本的な機能は「generator(nonce)」のセット、nonceの読み取り、A12以降のデバイスで利用するApNonceの読み取りです。

/ApplicationsディレクトリにあるCydia Substrate Addonsを利用しないアプリなので、セーフモードやLoad Tweaksをオフの状態でも利用することができるようになっています。

NonceSet143の使用方法

上から現在のnonce、ApNonceが確認できます。

「Set Nonce:」の項目でnonceの値を変更できます。(リターンキーでセット)
値が空の場合は「0x1111111111111111」(unc0verのデフォルト)でセットされます。

ElectraやChimera、Odysseyの場合、デフォルトのnonceが「0xbd34a880be0b53f3」になっています。

いずれも0xの後に16進数の文字列が16個で合計18の文字列になります。
(誤った値をセットしようとするとエラーのアラートが表示されるようにしてます)

必要に応じて変更してください。

nonceをセットするとApNonceの値が変わります。

セルの部分を長押しするとコピーできるようになっているので、shsh2ファイルを保存するときに利用してください。

ECIDは基本的にはHex(16進数)の方を利用します。Decimalはshsh2ファイルの先頭の文字列に使われているので、futurerestoreを利用するときなどの参考にしてください。
(スクショをシェアするときに隠せるようにShow/Hideボタンを付けています)

Device ModelはboardIDとも呼ばれているもので、sepやbbfwファイルの確認などに使用します。

Useful Siteをタップすると、SHSH Host、TSS Saverなどのshsh2ファイルを取得するウェブサイトにアクセスできます。iOS 13以降はアプリ内のSFSafariViewで表示するようにしました。
(iOS 12の場合うまく表示されないのでSafariで開きます)

ECID/Generator/Apnonceが分かれば簡単にshsh2ファイルを保存することが出来ます。

【参考】


NonceSet143のインストール

iOS 12から14までの脱獄したデバイスであれば私のrepoから無料でインストールできます。

https://cydia.ichitaso.com


unc0verでiOS 14の脱獄の場合はunc0ver v6.1.0以降でlibkrwを別途インストールする必要があります。

NonceSet143を起動したときにgenerator(nonce)の値が変わる件について


unc0verで脱獄した後にgeneratorの値を何も触らずにfuturerestoreを実行したところ、問題なく復元されました。

おそらくdimentioのバグだと思います。dimentioおよびdimentioを利用したもの(KernBypassやTSSSaver、Generator Auto Setterなど)を実行するとnonceの値が変わります。

しかし、きちんとnonceを再設定することでfuturerestoreを行うことが出来ます。

まとめ

実際にこのアプリを使用してiPhone 7PlusをfuturerestoreでiOS 14.3に復元できることを確認しています。

iOS 14.4のcheckra1n脱獄環境からiOS 14.3へ復元とiOS 14.3のunc0ver脱獄から14.3へ復元して確認しました。いずれも14.3の有効なshsh2ファイルがある必要があります。

sepとbbfwファイルは現在Appleで署名されているiOS 14.4のものを使用しました。

iOS 14.5は記事執筆時点ではリリースされていませんが、ベータのものであればsepとベースバンドの互換性はあるとのことです。14.4のものではTouch IDが正常に機能することを確認しました。

futurerestoreはmarijuanARMさんのものを利用しています。

https://github.com/marijuanARM/futurerestore/releases

特別futurerestoreを実行する必要はありませんが、今後Appleの署名が切れた場合でもshsh2ファイルが有ればそのバージョンに復元できる可能性が高いため、なるべく保存しておくことをおすすめします。