【iPhone】nonceEnablerを使ってiOS 9.3.3から10.1.1へアップグレードする方法

今回はiPhone 6を使ってiOS 9.3.3から10.1.1(14B150)にアップグレードする方法を紹介します。
前回の記事「futurerestore – Prometheusを使ったiOSのダウングレード・アップデートについて」を把握している必要があるので、事前に確認して下さい。
ダウングレード・アップグレードに必要なもの及び環境
- macOS Sierra 10.12.2
- iPhone 6 (iPhone7,2) iOS 9.3.3 脱獄済み
- iPhone7,2_10.1.1-14B150.shsh2 (no-apnonce)
- nonceEnabler
- futurerestore
- iPhone_4.7_10.1.1_14B150_Restore.ipsw
- iPhone_4.7_10.2_14C92_Restore.ipsw
iOS 10から一つのIPSWに複数のデバイスが含まれたのも原因です。
例えば、「iPhone_4.7_10.2_14C92_Restore.ipsw」の中にはiPhone 6 (N61AP)、iPhone 6s (N71AP:Samsung)、iPhone 6s (N71mAP:TSMC)の3つのモデルが含まれています。
現在のtsscheckerは、「–boardconfig」を使ってそれぞれ別に保存するようになっています。
デバイスモデル(CPU)の確認は以下のアプリで行なえます。

カテゴリ: ユーティリティ, 仕事効率化






1.CydiaからOpenSSHをインストールする

2.task_for_pid_0を有効にする
Luca Todesco氏が作成した「jbme」で有効にできます(通常のPanguアプリではできません)
3.nonceEnablerをデバイスに転送する
scp nonceEnabler [email protected]:IPはWi-FiのIPでパスワードはデフォルトの場合「alpine」最後の「:(コロン)」を忘れないように。
4.デバイスでnonceEnablerを実行する
ssh [email protected]5.nvramコマンドでshsh2 (no-apnonce)で生成された値を書き込む
./nonceEnabler
1)拡張子.shsh2を.shsh2.plistにリネームし、Xcodeで開く
2)generatorの値をコピー
3)以下のコマンドでnvramに書き込む
nvram com.apple.System.boot-nonce=generatorの値4)確認
nvram -p
exit
futurerestoreを使用した復元
基本的には前回の記事と同様の方法です。復元するには署名されているiOSのIPSWを利用するので、iPhone_4.7_10.2_14C92_Restore.ipswをiPhone_4.7_10.2_14C92_Restore.zipにリネームし、展開します。
BuildManifest.plistからデバイスモデルを確認し、それに合ったベースバンドファイル(Mav10-5.32.00.Release.bbfw)、Sepファイル(sep-firmware.n61.RELEASE.im4p)を抜き出します。
※括弧のファイルはiPhone 6 iOS 10.2のもの
それぞれ同じディレクトリに置いたら、以下のコマンドを実行します。
./futurerestore_macos -t iPhone7,2_10.1.1-14B150.shsh2.plist -b Mav10-5.32.00.Release.bbfw -p BuildManifest.plist -s sep-firmware.n61.RELEASE.im4p -m BuildManifest.plist -w iPhone_4.7_10.1.1_14B150_Restore.ipswポイントはnonceEnablerでshsh2にあったnonceに設定したこと、ダウングレード・アップグレードしたいIPSWファイルを指定することです。
ビデオでの操作方法
まとめ

無事に現在署名されていないiOS 10.1.1へ復元できましたが、iOS 10.2と10.1.1ではSEPに互換性がないためTouch IDが働きませんでした。
また、iOS 10.1/10.1.1が署名されていた頃のtsscheckerのバグにより、iPhone 6では復元できましたが、iPhone 6sでは不可能でした。
Touch IDに関しては、iOS 10.2など正規の方法で復元すれば治りますが、もしiOS 10.2以降でJailbreak出来るようになった時に、そのバージョンでダウングレードした場合、正常に働くかは不明なところです。
今回はあくまでもテストで行ってみたので、実際には試さないで下さい。
ディスカッション
コメント一覧
iPhone 6もベータでのJailbreakができない状態です。
質問ですが、ipad airなので、SEPのバージョンが異なってもあまり影響はないですか?
また、一応聞きますが、今も出来ますか?
現在も出来るかと思いますが、今後対策される場合も無きにしもあらずです。
それどころかwindows版も出てます
ただ、sepの互換性がないと、bootloopを起こすようです。
やる時に成功したら報告します