iPhone XsやiPhone XʀなどA12デバイスと複数のデバイスのSHSH2を保存する方法

2019/08/29 00:30


iOS 12.4でunc0verやChimeraを使って脱獄できるようになりましたが、iOS 12.4.1にて脆弱性がパッチされました。

A12(X)デバイス(iPhone Xs/Xs Max/Xʀ/2018年モデルのiPad Pro)は、まだ脱獄できないため待機中の方もいらっしゃるかと思います。

ただし、通常のSHSH2の保存方法では有効なファイルは保存できないため、A12(X)デバイスで有効なSHSH2ファイルを保存する方法を紹介いたします。

SHSH2ファイルとは


futurerestoreというツールを使って、Appleが署名されていないバージョンに復元するときに必要なファイル。


A11(iPhone Xなど)までのSHSH2を保存する方法



こちらのサイトが有名です。

デバイスのECIDとiPhoneモデル、CPUチップのモデルを選択してWebサイト上でSHSH2が保存することができます。

ECIDはiTunes、iPhoneのモデルやCPUチップのモデルは「CPU Identifier」で確認できます。

CPU Identifier
価格: 無料 サイズ: 1.3 MB





ただし複数のデバイスを持っている場合、一つずつ入力するのが面倒なので、自分の場合はMacでシェルスクリプトを使って保存しています。

Link: fetch_shsh2.zip

fetch_shsh2.zipを展開し、「fetch_shsh.sh」を編集してください。

「dump64 iPhone10,3 D22AP YOURECID」となっているところを自分のデバイスに置き換えて上書き保存。

ディレクトリ上で以下のコマンドを実行することで、現在署名中であるiOSファームウェアのshsh2ファイルを保存します。

./fetch_shsh.sh

A12デバイスでのSHSH2保存方法


A12デバイスからは上記の保存方法がAppleによって対策されました。

shsh2を保存する前の準備

iOS 12.0-12.4(iOS 12.3.xを除く)デバイスである必要があります。

1.OTAアップデートのデータを削除

設定 → 一般 → iPhoneストレージ → OTAアップデートを削除

2)ipaファイルをダウンロード

1)iOS 12.0から12.1.2までの場合、Chimeraを使います。



2)12.1.3/12.2/12.4の場合、Chimera 1.3.7以降を使います。

上記サイトからipaファイルをダウンロードしましょう。

ipaファイルをCydia Impactorでインストール

1.脱獄するデバイスをPCと接続し、Impactorを起動

ダウンロードした「ipa」をImpactorのウインドウにドラッグ&ドロップします。



2.Apple IDとパスワードを入力

Apple IDとパスワードを入力すると自動的にデバイスへアプリがインストールされます。

もしエラーが起きた場合は、[Xcode] → [Revoke Certificates]を行ってみてください。

※Apple IDが2段階認証の場合、別途新しいIDを作成しましょう。

Apple IDを作成 - Apple (日本)

3.アプリを認証する

そのままでは起動しないため、設定 → 一般 → デバイス管理(またはプロファイルとデバイス管理)を開き、追加したApple IDのメールアドレスをタップ → 信頼をタップしてください。

これでアプリが起動できるようになりました。

カスタムBoot Nonceをセットする

Windowsで「Chimera」を使った例で説明します。

はじめに「libimobiledevice」をダウンロードしてください。

Link:libimobiledevice

1.Chimeraを起動して下にある設定を開きます

「Set Nonce」をタップして「0x1111111111111111」と入力してを「Set」をタップします。
(1が16個)

デフォルトの場合、「0xbd34a880be0b53f3」

2.JailbreakをタップしてBoot Nonceをセット

Nonceの値が「0x1111111111111111」にセットされます。

要はカスタムBoot Nonceが設定できればOKです。

iOS 12.4のshsh2を保存する


1.libimobiledevice.zipを展開

展開したところで「Shift」キーを押しながら右クリック→「コマンド ウィンドウをここで開く」でコマンドプロンプトを起動します。

2.ideviceinfoと入力してUDIDなどの情報を取得

「UniqueDeviceID」がUDIDになります。

2.リカバリーモードに入れる

<UDID>の部分を自分のデバイスに置き換えて実行
ideviceenterrecovery <UDID>

例)ideviceenterrecovery 00000000-001A442E02E8002E

デバイスがリカバリーモードになり、iTunesが起動しますが何もせず閉じてください。

3.NONCの番号を控える

irecovery -q

how-to-save-shsh2-01

「583633077247a09b68b8fcfd3e2015809b1d50f8e9dd8f586596995e12ecd72f」がNONCの番号になります。これを控えておいて、shsh2を保存します。

ECIDも一緒に表示されるので控えておきましょう。

リカバリーモードを抜ける
irecovery -n

以上で必要な情報が集まりました。

4.TSS Saverでshsh2を保存

Link: https://tsssaver.1conan.com/

Windowsの場合、「tsschecker_win64_v352.zip」とtsscheckerのバージョンが低いので、こちらのサイトで保存します。

how-to-save-shsh2-02

「Manually specify an apnonce (ADVANCED USERS ONLY)」にチェックをして、控えておいたNONCをコピペして保存してください。




個人的にはMacで保存することをお勧めします。

Macで保存する方法


Homebrewでlibimobiledeviceをインストール
brew install libimobiledevice

あとはWindowsのときと同様の手順でNONCの番号を控えておき「tsschecker」で保存します。

Link: Releases · s0uthwest/tsschecker

iOS 12.4のshsh2を保存する場合
./tsschecker -d <DEVICE MODEL> -i 12.4 --buildid 16G77 -s -e <ECID> --generator 0x1111111111111111 --apnonce <NONC VALUE>

まとめ


AppleがiOS 12.4.1 (16G102) を2019/08/27リリースしました。

このアップデートには、iOS 12.4でJailbreakできる脆弱性の修正が含まれています。

AppleはiOS 12.3で脆弱性に対処しましたが、iOS 12.4のアップデートで誤ってパッチを適用しなかったため、それを修正したものとなっています。

記事執筆時点の現在、脱獄できるiOS 12.4が署名中のためSHSH2は必ず保存しておきましょう。

おすすめのiOSバージョン

A11までのデバイスの場合、iOS 12.4にすることをお勧めします。

A12(X)デバイスでiOS 12.0-12.1.2、12.1.3/12.2の場合、shsh2を保存してそのまま待機。

iOS 12.3/12.3.1の場合、12.4へアップデートしましょう。




※unc0verを使った方法からChimera 1.3.7以降に書き換えました。

A12(X)デバイスの場合、CustomBootNonceの設定がunc0verだとまだ対応していないため、Chimera 1.3.7以降で保存してください。

参考Link

iOS 13.0が2019/09/20にリリースされています。

shsh2の保存がTSS Saverだとうまく行かないようなので、SHSH Hostで保存してください。


blobsaver(GUIソフト)を使った方法



Mac/Windows/Linuxに対応したGUIのアプリで、一度設定を保存すると簡単に署名中のshsh2 blobsを保存することができます。

Java」をインストールしている必要があります。

blobsaver

最大で10個までのデバイスを登録でき、保存先をDropboxやGoogle Driveなどに指定しておけば、クラウド上にも保存できて便利です。