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

2018/01/07 19:40


iPhone 5sなどのA7デバイスに限り、iOS 10.3.3のOTAアップデートの署名がされていることで、iOS 10.2などから10.3.3にアップデート、または10.3.3から10.2へダウングレードすることができます。

今回はWindowsだけを使って、実際にその方法を行ってみましたので紹介します。

対応デバイス

  • iPhone 5s
  • iPad Air
  • iPad mini 2
この3種類はA7チップを使ったデバイスとなっています。

実際に試したのは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
フォルダ内でShiftキーを押しながら右クリック「コマンドウィンドウをここで開く」をクリック

以下のコマンドを実行

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」という脱獄用アプリがリリースされましたが、こちらは現在のところ利用できません。

iPhone 7 / 7+以降には対応していませんが、Sticktron氏が開発していた「g0blin」というアプリで脱獄ができます。もともとデベロッパ向けのため公開はされていませんが、xPreeks氏が別に開発を続けています。
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

アップデートしないで待機する方はご利用下さい。