iPhone 5sでiOS 10.2.1から10.2へダウングレードする方法

2017/02/22 22:33


iPhone 5sに限り、iOS 10.2.1にアップデートしてしまった場合でも、iOS 10.2のshshファイル(tsscheckerで取得したもの)を利用して脱獄可能なiOS 10.2へダウングレードする方法が発見されたので紹介いたします。

iOS 10.2へダウングレードするために必要なもの

iOS 10.2.1以降はJailbreakできないため、nonce collisionを利用したnon-jailbreak methodを使用します。

nonce collisionとは、デバイスが復元する時にランダムな英数字を要求し、それと同じ数値が返ってきた時に復元が可能となる仕組みです。

以前にも書きましたので参考にして下さい。

futurerestore – Prometheusを使ったiOSのダウングレード・アップデートについて

「noncestatisticsを使用してapnonceを収集する」という部分でデバイスが要求するapnonceを解析し、より多くの同じ値のものをtsscheckerのオプションで指定して保存していました。

noncestatistics-latest.zip

「./noncestatistics nonces.txt」とコマンドを打つとデバイスがリカバリーモードを繰り返し複数のランダムな文字列が生成され CTRL+Cで抜け出すことでnonces.txtに保存されます。

「./noncestatistics -s nonces.txt」とコマンドを打つと、どのapnonceがより多く要求しているか確認できます。

この方法は、iPhone 5sとiPad Air 1でしか取得できませんでしたが、iOS 10.2.1でAppleにより修正されました。

しかし、iOS 10.3 beta1の場合、それは修正されていなかったため、一度iOS 10.3 beta1にDFUモードから復元してapnonceを確認してみました。



500回ほどnoncestatisticsで検証したところ、このような結果になりました。



1) 9e4c518009d00df190a450b3b47691768812360c
2) 9f4aeec726e7c682339ddb3c6c2dec52662dc517
3) a3eb70ccb7f4005d2789604f7724c6f37b4df096

この3つがより多くnonce collisionを発生させていたため、保存していたiOS 10.2のshshファイル(apnonce)を使用してfuturerestoreにより復元します。



このファイルがない限り、iOS 10.2へのダウングレードはできません。

Futurerestore Prometheusを使ってiOS 10.2へダウングレードする方法

1.iPhone 5sを一度iOS 10.3 beta1にする

iOS 10.3 beta 1: iPhone_4.0_64bit_10.3_14E5230e_Restore.ipsw

DFUモードに入れてiTunesで復元します。

2.shshファイルをリネーム

1) 9e4c518009d00df190a450b3b47691768812360c
2) 9f4aeec726e7c682339ddb3c6c2dec52662dc517
3) a3eb70ccb7f4005d2789604f7724c6f37b4df096

3つのshshファイルを1.shsh 2.shsh 3.shshとリネームします。

3.iOS 10.2.1のIPSWから必要なファイルを取り出す

iOS 10.2.1: iPhone_4.0_64bit_10.2.1_14D27_Restore.ipsw

BuildManifest.plist, Mav7Mav8-7.21.00.Release.bbfw, sep-firmware.n51.RELEASE.im4p

3つのファイルを取り出します。

3.futurerestoreをダウンロードして展開

futurerestore-latest.zip

futurerestoreは、MacかLinuxのみなので、実行させる方法は過去記事を参照してください。

Windows上のUbuntu 16.04を使ってfuturerestoreを使用する方法


futurerestore-latestフォルダにiPhone_4.0_64bit_10.2_14C92_Restore.ipsw, 1.shsh, 2.shsh, 3.shsh, BuildManifest.plist, Mav7Mav8-7.21.00.Release.bbfw, sep-firmware.n51.RELEASE.im4pファイルをコピーします。

注意:iPhone 5s (iPhone6,1 n51ap)の場合

iOS 10.2: iPhone_4.0_64bit_10.2_14C92_Restore.ipsw

4.ターミナルを開いてfuturerestoreを実行

以下のコマンドでiOS 10.2へダウングレードすることができます。

sudo ./futurerestore_linux -t 1.shsh -t 2.shsh -t 3.shsh -b Mav7Mav8-7.21.00.Release.bbfw -p BuildManifest.plist -s sep-firmware.n51.RELEASE.im4p -m BuildManifest.plist -w iPhone_4.0_64bit_10.2_14C92_Restore.ipsw
※Macの場合は「sudo」は要りません。

ビデオでのデモ


iPhone 5s以外では復元できません。もしかしたらiPad Air 1で実行できるかもしれませんが、持っていないため検証できません。

以上、参考になれば幸いです。