diosra2’s blog

iOS 脱獄、ダウングレード等

iPhone 4SやiPhone 5などのA5、A6デバイスをiOS 9にダウングレード・復元する

A5/A6デバイスiOS 9.xに限って自由に復元することができます。

この方法はAPTicketのバグによるものなので、Jailbreak(脱獄)等は不要です。

 

 

 

*条件

復元したいバージョンのSHSH blobsを所持していること。

APTicketがNonce(APNonce)を含まないこと。(後述)

 

*対応デバイス

対応デバイスはA5(X), A6(X)デバイスのみとなります。

iPhone 4SiPhone 5iPhone 5c

iPad 2, iPad (3rd generation), iPad (4th generation), iPad mini

iPod Touch (5th generation)

 

0, 復元を始める前に

0-1, SHSHがAPNonceを含まないかどうかを確認する

axi0mX 氏の"apticket-nonce-checker"で確認可能です。

github.com

 

使用方法

ターミナルから以下のコマンドを実行

(myblob.shshは確かめたいSHSHの名前です。) 

User$ ./apticket-nonce-checker.py myblob.shsh

 

APNonceが含まれていなければ

Parsing APTicket from SHSH file.
APTicket does not have a nonce.

と表示されます。

 

APNonceが含まれていれば

APTicket has a nonce. Valid nonces are 20 bytes long.
Nonce (hex dump): 81bbab6cc32831938ec112e369e22485b0569861
Nonce length: 20 bytes

のように表示されます。

もしAPNonceを含んでいるのならばおそらく復元は失敗するでしょう。

 

0-2, SHSHの種類を確認する

おそらくこれが問題になることはないですが、稀にTinyUmbrella等でUpdateのSHSHのみしか取得できていない場合があります。一応目を通しておくと良いと思います。

diosra2.hatenadiary.jp

 

 

0-3, デバイスからSHSHをdumpする

もし現在Jailbreak(脱獄)済みで、SHSHを保存し忘れている/していなかったならば抜き出しておきましょう。SHSHを抜き出しておけば、また将来そのバージョンに戻ることが可能です。取れるものは取りましょう。 

diosra2.hatenadiary.jp

 

1, iOS 9.xに復元する下準備

1-1, 復元時の注意事項

現在のiOSバージョンによって少しやり方が変わるので注意が必要です。

1-1-1, 現在のバージョンがすでにiOS 9.xの場合

 iOS 9.xのiBootにはこのバグが存在しているので、リカバリーモードに入れることでそのまま任意のiOS 9.xへ復元できます。

 

1-1-2, 現在のバージョンがiOS 9.x以外の場合

 iOS 9.x以外にはこのバグは存在しません。しかし、iOS 9.xのiBSSには同じバグが存在するため、DFU Modeに入れることで任意のiOS 9.xへ復元できます。ただし、SHSHにiBSS blobが含まれている必要があります。(普通は含まれているので特に問題ではない。)

もし、SHSHにiBSS blobが含まれていないならば、復元は失敗します。

 

1-2, ipswとツールのダウンロード

ダウングレード/復元したいiOSのFWをダウンロードしておきます。

また、復元ツールである"iDeviceReRestore"もダウンロードしておいてください。

*リンク 

https://downgrade.party

 

1-3, ベースバンドについて

(これはiPod TouchiPad Wi-Fi onlyモデルには関係ありません。)

iPhone 4以降ではベースバンドは現在Appleから署名されているものにしか復元することができません。もし署名されていないベースバンドに復元しようとすれば、復元は失敗してリカバリーモードとなります。

iDeviceReRestoreでは自動的に最新のベースバンドに復元するため、これは問題ではありません。

*基本的にどのベースバンドでも通信は問題なくできます。

ただし、iOSとBBのバージョンが一致しないことになるので、デバイスを売る際にはきちんと正規のFWで復元しましょう。

 

2, 復元する

iDeviceReRestoreを使って復元します。

iDeviceReRestoreではSHSHはlocalのものを確認し、なければ Cydia Serverに確認します。

なので手元にSHSHを用意するか、Cydia ServerにSubmitしておきます。

ここでは手元にSHSHを用意するということで進めます。

 

SHSHをshshフォルダの中にセットした後、デバイスをUSB接続して、現在のiOSバージョンに応じて適切なモードへいれます(1-1参照)。

 

出来たら、コマンドから

User$ ./idevicererestore -r downloaded.ipsw

(downloaded.ipswは任意のipswの名前)

と実行することで復元が実行されます。

 

特に問題が起きなければ復元は完了し、デバイスが起動します。

お疲れ様でした!