diosra2’s blog

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

iOS 11.3.1にfuturerestoreする。

もうそろそろ、iOS 11.3.1で脱獄できそうなので、他のバージョンからiOS 11.3.1にする方法をおさらいしておきましょう。

Windowsでも行えます。ただし、この記事の説明はMacをベースとしているので注意してください。

 

ただ、iOS 9.1以下の環境の場合は完全脱獄を失うことになるので非常にもったいないです。

完全脱獄は絶望的なので、この場合はもう一台デバイスを買ったほうがいいです。

*当サイトでは、いかなる場合でもユーザ側に復元失敗などの不利益が生じた場合の補償は一切しません。自己責任の元、手順通りに行ってください。

 

条件

脱獄してApNonceをセットできること。

shsh2を保有していること。

(もしくは特殊条件を満たしていること) 

 

futurerestoreする準備

futurerestoreを利用するためにはiOS上でNonceをnvramにセットする必要があります。

バージョンごとに異なりますので注意してください。

 

iOS 7.0 ~ 8.4.1、9.1

まず、rootでnonceEnablerをターミナルで実行、nvpatchを適用させます。

そのあと以下のコマンドを入力し、ApNonceをセットします。

generatorの値[NONCE]はshsh2をxcodeなどで開いて確認してください。この場合は「0x0123456789abcdef」です。

f:id:diosra2:20180614233216p:plain

root# nvram com.apple.System.boot-nonce=[NONCE]

nvram -pで確認できるので、入力した値が正確に出ているかを確認してください。

 

iOS 9.0 ~ 9.0.2

このバージョンの脱獄はtfp0 patchが適用されていません。

そのため、cl0verを利用して最初にtfp0 patchを当ててください。

tfp0 patchを当てたら、rootでnonceEnablerをターミナルで実行、nvpatchを適用させます。

そのあと以下のコマンドを入力し、ApNonceをセットします。

generatorの値[NONCE]はshsh2をxcodeなどで開いて確認してください。この場合は「0x0123456789abcdef」です。

f:id:diosra2:20180614233216p:plain

root# nvram com.apple.System.boot-nonce=[NONCE]

nvram -pで確認できるので、入力した値が正確に出ているかを確認してください。

 

iOS 9.2 ~ 9.3.3

このバージョンではtfp0 patchが含まれていませんが、@qwertyoruiopz氏のJailbreakMeで再脱獄することでhgsp4からnvpatchを当てることができます。

JailbreakMeで再脱獄したら、rootでnonceEnablerをターミナルで実行、nvpatchを適用させます。

そのあと以下のコマンドを入力し、ApNonceをセットします。

generatorの値[NONCE]はshsh2をxcodeなどで開いて確認してください。この場合は「0x0123456789abcdef」です。

f:id:diosra2:20180614233216p:plain

root# nvram com.apple.System.boot-nonce=[NONCE]

nvram -pで確認できるので、入力した値が正確に出ているかを確認してください。

 

iOS 9.3.4 ~ 9.3.5

このバージョンでは脱獄できません。

しかし、PhoenixNonceを利用することでNonceのセットであれば行うことができます。

PhoenixNonceからipaをダウンロード、Cydia Impactorでインストールします。

アプリがインストールされたら開きます。

このような画面になるので、shsh2のgeneratorの値を入力してSetをタップします。以下の場合は「0x0123456789abcdef」と入力します。

f:id:diosra2:20180614233216p:plain

 

iOS 10

iOS 10ではyalu102 (iOS 10.0 ~ 10.2)、doubleh3lix (iOS 10.x)で脱獄するのが基本ですね。

この場合、すでにnvpatchは適用済みなのでNonceをセットするだけで良いです。

generatorの値[NONCE]はshsh2をxcodeなどで開いて確認してください。この場合は「0x0123456789abcdef」です。

f:id:diosra2:20180614233216p:plain

root# nvram com.apple.System.boot-nonce=[NONCE]

nvram -pで確認できるので、入力した値が正確に出ているかを確認してください。

 

iOS 11

iOS 11ではnoncereboot1131が使用できます。

http://pwn20wnd.science/noncereboot1131UI/noncereboot1131UI.ipa

また、iOS 11.2-11.3.1ではElectra1131を利用してNonceをSetすることができます。

(iOS 11.0-11.1.2では脱獄ツールにElectraがありますが、利用してないのでわかりません...。)

noncereboot1131

Enter your generatorにshsh2のgeneratorの値を入力します。

f:id:diosra2:20180614233216p:plain

この場合は「0x0123456789abcdef」です。

 

*empty_list自体が不安定なので、かなり失敗しがちです。起動から1~2分経過し、デバイスがある程度落ち着いてから行うと少し成功率が上がります。

Electra1131

Electra1131を開き、Set Nonceをタップします。

デフォルトでは0xbd34a880be0b53f3がセットされています。

ApNonceはA7-A9デバイスでは

「603be133ff0bdfa0f83f21e74191cf6770ea43bb」

A10-A11デバイスでは

「15400076bc4c35a7c8caefdcae5bda69c140a11bce870548f0862aac28c194cc」

となっています。

もし、そのApNonceを含むshsh2を所有していない場合、自分のshsh2のgeneratorの値と入力しておきましょう。

以下の場合は0x0123456789abcdefです。

まだ脱獄していない場合は脱獄することでこのNonceがセットされます。

また、脱獄済みの場合はこの時点でNonceがセットされています。

入力したNonceは再脱獄時に自動で毎回セットされるので、ブートループ時の復元対策にもなります。

 

futurerestoreする

*futurerestoreはiOS 11.xに復元する場合、tihmstar氏のものではなく、encounter氏のものを使用してください。

 

必要な物

futurerestore

iOS 11.3.1のFirmware

iOS 11.3.1のshsh2

iOS 11.4のFirmware (署名中のFirmware)

Mac or Linux or Windows 

準備

ここからの作業は全てパソコンで行います。

まずはiOS 11.3.1のFirmwareをダウンロードしてください。

iPhone 5s

iPhone_4.0_64bit_11.3.1_15E302_Restore.ipsw

iPhone SE

iPhone 6

iPhone_4.7_11.3.1_15E302_Restore.ipsw

iPhone 6s

iPhone 6 Plus

iPhone_5.5_11.3.1_15E302_Restore.ipsw

iPhone 6s Plus

iPhone 7

iPhone_4.7_P3_11.0_11.3.1_15E302_Restore.ipsw

iPhone 8

iPhone 7 Plus

iPhone_5.5_P3_11.0_11.3.1_15E302_Restore.ipsw

iPhone 8 Plus

iPhone X

iPhone10,3,iPhone10,6_11.3.1_15E302_Restore.ipsw

iPad Air

iPad_64bit_11.3.1_15E302_Restore.ipsw

iPad mini 2

iPad Air 2

iPad_64bit_TouchID_11.3.1_15E302_Restore.ipsw

iPad mini 3

iPad mini 4

iPad Pro (12.9-inch)

iPadPro_12.9_11.3.1_15E302_Restore.ipsw

iPad Pro (9.7-inch)

iPadPro_9.7_11.3.1_15E302_Restore.ipsw

iPad Pro (12.9-inch, 2nd Generation)

iPad_Pro_HFR_11.3.1_15E302_Restore.ipsw

iPad Pro (10.5-inch)

iPad 5th Generation

iPad_64bit_TouchID_ASTC_11.3.1_15E302_Restore.ipsw

iPad 6th Generation

iPod Touch 6th Generation

iPodtouch_11.3.1_15E302_Restore.ipsw

 

また、署名中かつiOS 11.3.1と互換性のあるSEPをもつFWもダウンロードしておきます。現在ならiOS 11.4で良いです。

ただし、A11デバイスではFace/Touch IDと互換性がありません。やらないほうがいいです。

iPhone 5s

iPhone_4.0_64bit_11.4_15F79_Restore.ipsw

iPhone SE

iPhone 6

iPhone_4.7_11.4_15F79_Restore.ipsw

iPhone 6s

iPhone 6 Plus

iPhone_5.5_11.4_15F79_Restore.ipsw

iPhone 6s Plus

iPhone 7

iPhone_4.7_P3_11.0_11.4_15F79_Restore.ipsw

iPhone 8

iPhone 7 Plus

iPhone_5.5_P3_11.0_11.4_15F79_Restore.ipsw

iPhone 8 Plus

iPhone X

iPhone10,3,iPhone10,6_11.4_15F79_Restore.ipsw

iPad Air

iPad_64bit_11.4_15F79_Restore.ipsw

iPad mini 2

iPad Air 2

iPad_64bit_TouchID_11.4_15F79_Restore.ipsw

iPad mini 3

iPad mini 4

iPad Pro (12.9-inch)

iPadPro_12.9_11.4_15F79_Restore.ipsw

iPad Pro (9.7-inch)

iPadPro_9.7_11.4_15F79_Restore.ipsw

iPad Pro (12.9-inch, 2nd Generation)

iPad_Pro_HFR_11.4_15F79_Restore.ipsw

iPad Pro (10.5-inch)

iPad 5th Generation

iPad_64bit_TouchID_ASTC_11.4_15F79_Restore.ipsw

iPad 6th Generation

iPod Touch 6th Generation

iPodtouch_11.4_15F79_Restore.ipsw

 

ダウンロードが終わったら、iOS 11.4のファームウェアを解凍します。

そして、自分のデバイスにあったBasebandとSEPを取り出してください。

デバイス名表示一覧 - diosra2’s blog

例えば、iPhone 5s (iPhone6,1)ならn51ap, BBはMav7Mav8なので、必要なのは下記のものとなります。

Firmware/Mav7Mav8-8.55.00.Release.bbfw

Firmware/all_flash/sep-firmware.n51.RELEASE.im4p

また、BuildManifset.plistも必要なので、これも用意しておきます。

 

復元する

復元するにはデバイスをUSB接続して以下のコマンドを実行します。自動でリカバリーモードとなり、復元が開始されます。

復元コマンドは以下のようになります。(mac/linux用です。windowsの場合は少し異なりますが、だいたい同じです。)

*iPhone 8などのA11デバイスではTouch/Face IDが動作しなくなるので、復元するのはやめたほうがいいです。

User$ ./futurerestore -t [shsh2] -b [iOS 11.4のBaseband] -p [iOS 11.4のBuildManifset] -s [iOS 11.4のSEP] -m [iOS 11.4のBuildManifset] [iOS 11.3.1のIPSW]

 

iPad (Wi-Fiのみ)や、iPod TouchにはBasebandはないので、その場合は以下のコマンドになります。

User$ ./futurerestore -t [shsh2] --no-baseband -s [iOS 11.4のSEP] -m [iOS 11.4のBuildManifset] [iOS 11.3.1のIPSW]

 

例えば、iPhone 5sでiOS 11.3.1に復元したい場合は以下のようになります。

User$ ./futurerestore -t [shsh2] -b Mav7Mav8-8.55.00.Release.bbfw -p BuildManifest.plist -s sep-firmware.n51.RELEASE.im4p -m BuildManifest.plist iPhone_4.0_64bit_11.3.1_15E302_Restore.ipsw

 

*注意点

"-b, -p"の代わりに"--latest-baseband"、"-s, -m"の代わりに"--latest-sep"のコマンドを使用することで、自動で最新バージョンのBB/SEPをダウンロードし、復元することができます。また、"-i"で署名されているFWを指定することで、"-b, -p, -s, -m"の指定なしで自動でBB/SEPを取り出し復元することができます。

ただし、--latest-xxコマンドを使用した場合、ダウンロードミスやSEP互換性の不一致などによって復元失敗を起こすリスク、-iを指定した場合はzip解凍ミスなどによって復元失敗を起こすリスクがあります。futurerestoreする場合、ほとんどは失敗すると困る状況で行うことになると思うので、手動指定を行い、できる限り失敗するリスクを減らすことをお勧めします。

手順通りに正しく行えば、基本的には失敗しないので安心してください。

 

復元が完了したらおしまいです。お疲れ様でした。

Copyright (C) 2017-2018 Diosra2. All Rights Reserved.