A7デバイス(iPhone 5s)でiOS 10.3.3へアップ・ダウングレードする方法

iPhone 5sなどのA7デバイスに限り、iOS 10.3.3のOTAアップデートの署名がされていることで、iOS 10.2などから10.3.3にアップデート、または10.3.3から10.2へダウングレードすることができます。
今回はWindowsだけを使って、実際にその方法を行ってみましたので紹介します。
Contents
対応デバイス
- iPhone 5s
- iPad Air
- iPad mini 2
実際に試したのはiPhone 5s Global(iPhone6,1)モデルで試しました。もしかしたら、他のデバイスでエラーが出る可能性はあります。
※実際に使用しているデバイスは、実行前にiTunesでバックアップを取って下さい。
iPhone 5s iOS 10.2をiOS 10.3.3にアップグレードする
はじめに、yalu102で脱獄している必要があります。yalu102で脱獄している場合、nvramへのboot-nonceの書き込みがデフォルトでできるので、やり方は簡単です。
iOS 9.3.3やiOS 8.xなどで脱獄している場合、nonceEnablerを使った方法をする必要があります。
ただし、iOS 9.0.x/9.1などのUntethered Jailbreakの場合は、勿体無いのでやめておくことをお勧めします。
1.デバイスへ簡単にSSH接続できるよう「Apple File Conduit “2"」をインストール
これで、iFunBoxのSSH 端末からssh接続できるようになります。
2.iOS 10.3.3のIPSWをダウンロード
iPhone_4.0_64bit_10.3.3_14G60_Restore.ipsw
iPhone 5s以外のIPSWはこちらを参考にしてください。
Link:iOS 10 or later IPSW Download Links
3.デバイスのiOS 10.3.3 shsh2 blobsを用意する
こちらを利用している方が多いかと思います。
noapnonceのものを利用します。
4.FuturerestoreのWindows用をダウンロードする
Link:https://github.com/encounter/futurerestore/releases
こちらの「futurerestore_win64_v173.zip」をダウンロードし解凍します。
5.ベースバンドファイルとsepファイルを取り出す
iOS 10.3.3のIPSWから7zipなどで以下のものを取り出して下さい。
・Firmware/Mav7Mav8-7.60.00.Release.bbfw
・Firmware/all_flash/sep-firmware.n51.RELEASE.im4p
「Mav7Mav8-7.60.00.Release.bbfw」がベースバンドファイル
「sep-firmware.n51.RELEASE.im4p」がTouch IDなどに関係するsepファイル
6.A7デバイス用のBuildManifest.plistを保存する
Dropbox – A7 10.3.3 OTA Manifests
iPhone 5sの場合、「BuildManifest_iPhone6,1_1033_OTA.plist」を使用します。
7.SSHでboot-nonceを書き込む
ECID_iPhone6,1_n51ap_10.3.3-14G60.shsh2の末尾に.plistを付けてリネーム「plist Editor Pro」で「generator」というキーを検索し、0xから始まる文字列をコピーします。
iFunBoxからSSH 端末を立ち上げて以下のコマンドを実行
nvram com.apple.System.boot-nonce=generatorの値
確認
nvram -p
nvramにboot-nonceの値が書き込まれたら成功です。
8.futurerestore_win64で復元
解凍された「futurerestore_win64_v173」フォルダに必要なものを入れます。
- ECID_iPhone6,1_n51ap_10.3.3-14G60.shsh2.plist
- Mav7Mav8-7.60.00.Release.bbfw
- BuildManifest_iPhone6,1_1033_OTA.plist
- sep-firmware.n51.RELEASE.im4p
- iPhone_4.0_64bit_10.3.3_14G60_Restore.ipsw
以下のコマンドを実行
futurerestore.exe -t "ECID_iPhone6,1_n51ap_10.3.3-14G60.shsh2.plist" -b Mav7Mav8-7.60.00.Release.bbfw -p "BuildManifest_iPhone6,1_1033_OTA.plist" -s sep-firmware.n51.RELEASE.im4p -m "BuildManifest_iPhone6,1_1033_OTA.plist" -w iPhone_4.0_64bit_10.3.3_14G60_Restore.ipsw

(iPad WiFiモデルの場合は「-b xxx.bbfw -p BuildManifest.plist」の部分が必要ないので「–no-baseband」に置き換えてください)
実行前にiTunesやiFunBoxなどすべて終了させてください。また、実行中にiTunesが何度か立ち上がりますが、全て閉じて下さい。
しばらくすると、以下のような画面になり復元が完了します。

iOS 10.3.3で脱獄する
先日「Meridian」という脱獄用アプリがリリースされましたが、こちらは現在のところ利用できません。Link:g0blin.ipa
正式リリースされました。
こちらから「g0blin.ipa」をダウンロードして、Cydia Impactorでインストールします。
設定アプリから認証して利用できるようにします。
使い方は単純で、アプリを開いて「Jailbreak」をタップするだけです。

しばらくするとRespringされCydiaがインストールされます。

Siguza氏のv0rtex exploitとyalu102のkpp bypassを利用しているため、何のエラーもなくCydiaが開きますし、Cydia Substrateがそのまま利用できます。
また、再起動のたびに「Jailbreak」を必要とするSemi-Untetherです。
SSHとApple File Conduit “2"をインストールする
そのままでは、SSHもApple File Conduit “2"も利用できないので、使いやすくなるよういくつか改善させていきます。プライベートRepo:https://cydia.ichitaso.com
こちらを追加して下さい。
その後、「Dropbear」と「DropbearSSH」をインストール
これでSSHとSCP、SFTPが利用できるようになります。
次に、Apple File Condite “2"をインストールできるようにします。
WinSCPなどでiPhoneに接続します。
ホスト名:iPhoneのWi-Fi IPアドレス ポート:22
ユーザ名:root パスワード:alpine
その後、/private/etcディレクトリに移動して「hosts」をダブルクリックし以下の部分を削除、上書き保存します。

これで、Apple File Condite “2"がインストールできるようになりました。
iFunBoxからの操作もできるようになります。
その後、OTAのダウンロードを無効化するために「OTADisabler」をインストールして下さい。
iOS 10.3.3からiOS 10.2へダウングレードする
先ほど利用した「Futurerestore」を使います。iOS 10.3.3と10.2のSEPは互換性があるため、Touch IDが使えなくなることはありません。
1.iPhone 5s iOS 10.2のIPSWをダウンロード
iPhone_4.0_64bit_10.2_14C92_Restore.ipsw
2.iPhone 5s iOS 10.2のshsh2ファイルを用意する
3.shsh2ファイルをplistにリネームしてgeneratorの値を保存
メモ帳などに控えておきましょう。
4.nonceEnablerをデバイスに転送する
Link:nonceEnabler.zip
iFunBoxなどで「/private/var/root/」ディレクトリに「nonceEnabler」を入れます。
5.デバイスでnonceEnablerを実行する
sshで接続
chmod 755 nonceEnabler
./nonceEnabler
6.SSHでboot-nonceを書き込む
nvram com.apple.System.boot-nonce=generatorの値
確認
nvram -p
7.Futurerestoreでダウングレード
先程のiOS 10.3.3のファイル(ベースバンド/SEP/BuildManifest.plist)を使って復元します。
futurerestore.exe -t "ECID_iPhone6,1_10.2.shsh2.plist" -b Mav7Mav8-7.60.00.Release.bbfw -p "BuildManifest_iPhone6,1_1033_OTA.plist" -s sep-firmware.n51.RELEASE.im4p -m "BuildManifest_iPhone6,1_1033_OTA.plist" -w iPhone_4.0_64bit_10.2_14C92_Restore.ipsw
もし途中で止まってリカバリーモードになった場合は以下のコマンドを実行して下さい。
futurerestore.exe --exit-recovery
上手くいくとiOS 10.2で復元されます。

iOS 10.2から11.1.2へアップグレードする
基本的にやり方は同じです。iOS 11.1.2のshsh2ファイルとiOS 11.1.2のIPSWファイルを使用します。
ただし、iPhone 5s / iPhone SE / iPad 5G WiFi / iPhone 6 以外ではもとに戻せない事がありますので注意して下さい。特にiPhone 5s以外では一度iOS 11.1.2にしてしまうと二度とiOS 10には戻せません。
1.iOS 11.1.2のIPSWをダウンロード
iPhone_4.0_64bit_11.1.2_15B202_Restore.ipsw
2.shsh2ファイルからgeneratorの値を書き込む
nvram com.apple.System.boot-once=generatorの値
確認
nvram -p
3.Futurerestoreで復元
futurerestore.exe -t 11.1.2-15B202.shsh2.plist --latest-sep --latest-baseband -w iPhone_4.0_64bit_11.1.2_15B202_Restore.ipsw
注意点として「–latest-sep –latest-baseband」というパラメータを使用しています。
これは現在Appleで署名されているiOS 11.2.1(記事執筆時の最新バージョン)とiOS 11.1.2のSEPとベースバンドの互換性があるため利用できるものです。
今後、iOSのアップデートによって利用できなくなるかと思います。
ご注意ください。

上手くいくとこのようにiOS 11.1.2に復元することが出来ました。
iOS 11.1.2から10.3.3にダウングレード
nvramコマンドが利用できないため、以下のアプリを使用します。Link:NonceSet1112_v1.3.ipa
Cydia Impactorでインストールして使用します。
1.NonceSet1112を立ち上げる

Root StatusがYESになるまで10秒ほど待ちます。
2.boot-nonceをセットする

0xから始まるiOS 10.3.3 shsh2のgenerator値を入力しreturn

OKをタップして完了です。

あとは、Futurerestoreを使って今まで通りに復元します。
futurerestore.exe -t "ECID_iPhone6,1_n51ap_10.3.3-14G60.shsh2.plist" -b Mav7Mav8-7.60.00.Release.bbfw -p "BuildManifest_iPhone6,1_1033_OTA.plist" -s sep-firmware.n51.RELEASE.im4p -m "BuildManifest_iPhone6,1_1033_OTA.plist" -w iPhone_4.0_64bit_10.3.3_14G60_Restore.ipsw

無事iOS 11.1.2から10.3.3に復元できました。
WindowsのFuturerestoreで紹介してきましたが、Macを使用されている方はMacのものを利用して同様のことができます。
tvOS11.mobileconfigを使ってOTAを無効化
64bit版iOS 10.3.3の正式な脱獄ツールは今のところリリースされていないので、iPhone 5sは10.3.3で待機しておこうと思います。そのままですとiOS 11のOTAアップデートが有効になるため以下のプロファイルを入れました。Link:tvOS11.mobileconfig
アップデートしないで待機する方はご利用下さい。
ディスカッション
コメント一覧
ただしiOS 10.2の場合、初期のTSSCheckerがデフォルトでiPhone6,1のshsh2ファイルを保存していたので、10.2へのダウングレードはできない可能性が高いです。
ただ、shsh2がないと何も出来ないので今度から保存して下さい。
FuturerestoreMac版を利用してもらえば同じ手順でできます。
WinSCPの代わりにCyberDuckやMac用のSFTPクライアントを使用してみて下さい。
(成功報告アリ
https://www.reddit.com/r/jailbreak/comments/7p4418/tip_ios_1112_compatible_with_ios_1122_sep/
)
6sで、iOS 10.3.3からiOS 10.2へダウングレードすることはできますか?
A7デバイスのみ10.3.3のOTAが署名されているためです。
返信ありがとうございます
なお、本日iPad mini 2 iOS 10.3.3から11.1.2へアップデートして問題ありませんでした。
また、11.1.2から10.3.3へのダウングレードもOKでした!
https://www.reddit.com/r/jailbreak/comments/7t4dms/news_ios_1125_final_sep_are_compatible_for_ios/
あと、質問ですが、今A7デバイスでアップデートするなら10.3.3か11.1.2どっちがいいですか?
iphone6.1のios11.2.5のipswを解凍したところ、firmwareのフォルダにbbfwファイル、plistファイルがともに二つずつあるのですが、どちらを使用すればいいですか。
futurerestore.exe -t iOS11.1.2のshsh2 –latest-sep –latest-baseband -w iPhone_4.7_11.1.2_15B202_Restore.ipsw
これで自動的に選択されます。
ちなみにベースバンドは「4.30.02」になります。
同じくa7deviceです
YouTubeなどでバージョン偽装によるA7デバイスのiOS11からiOS10.3.3へのSHSHなしのOTAダウングレードが複数アップロードされています
ttps://m.youtube.com/watch?v=Yt-sxmQa9J0
ttps://m.youtube.com/watch?v=V4ZEstwM9lk
これらはiOS8.4.1でのOTAダウングレードに用いられた手法を使っているようですが
現実的にこのようなダウングレードが可能なんでしょうか…?
nonceEnablerのところでエラーが出ましたが、自己解決することができ、アップデートすることが出来ました
nonceEnablerの質問は、上に答えが書いていましたね。
無駄な質問申し訳ありませんでした
ios11.3がリリースされましたがsepの互換性はない可能性があるそうです
(SEP非互換性のため)
SEPが何とかだとはありますが64bitのダウングレードはやったことが無くよくわからないです…
ただしa11デバイスだけsepの互換性がないので8、Xはアップデート不可です
また、noncesetもiOS11.3.1に対応し、iOS11.3.1→iOS11.3.1も可能になりました
https://github.com/pwn20wndstuff/noncereboot1131UI/tree/empty_list