Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Log in or create an account to edit The Apple Wiki.

「Jailbreak」とは、iOS、iPadOS、watchOS、tvOS、audioOS、またはbridgeOSのカーネル(およびAMFI、PAC、PPL、KPP、KTRRなどのその他の保護)を利用して、任意のコード実行(通常はSSHシェルを起動することで)を得るプロセスである。以前は、システムパーティションを「読み書き可能」としてマウントするために、/private/etc/fstab をパッチして行われていた。これはUnlockとは全く異なり、脱獄は、非公式なActivation(Hacktivation)や非公式なUnlockを適用する前に行わなければならない最初のアクションである。

古いJailbreakでは、AFCサービス(iTunesがファイルシステムにアクセスするために使用)を変更して、rootからファイルシステムへの完全なアクセスを提供していた。これには後にAFC2という新しいサービスが作られ、完全なファイルシステムアクセスが可能となった。

現代のJailbreakは、KPPやKTRRによって制約が課せられているため、カーネルを直接パッチするのではなく、カーネルの変数メモリを変更する。checkm8をベースにしたJailbreakはこの限りではない。

注意: 脱獄の合法性は国や地域によって異なり、Wikipediaには、いくつかの国における合法性の概要が記載されている。

Jailbreakの種類

  • Tethered(紐付き脱獄): デバイスは毎回コンピューターで起動する必要があり、そうでないと起動しない。このタイプのJailbreakは珍しい。iPod touch 2(新BR)およびiPhone 3GSから、Appleはブートチェーン(LLBiBootKernel)に署名チェックを施し、これらのチェックをパッチしない限りカスタムブートチェーンを読み込むことができなくなった。例としては4039blackra1norangesn0wなどがある。
  • Semi-tethered(半紐付き脱獄): デバイスは毎回コンピューターでJailbreakしなければならず、再起動すると非脱獄状態で起動する。opensn0wgeeksn0wcheckra1npalera1nなどが半紐付き脱獄Jailbreakの例として挙げられる。これらは、iOSをJailbreakする方法は紐付き脱獄Jailbreakに似ているが、iOSのデフォルトのブートチェーンを変更することなく、独自のカスタムブートチェーンを実行する。
  • Untethered(完全脱獄): Untethered Jailbreakは、ほぼすべてのJailbreakが最初はこの方法だった。Jailbreakを一度実行すれば、以後はずっと脱獄状態が維持される。これらはSafariでJailbreakMeを使用したり、コンピュータを使ってredsn0wAbsinthePanguなどでインストールできる。しかし、これらのタイプのJailbreakはiOS 9以降、徐々に減少していった。
  • Semi-untethered(半紐なし脱獄): iOS 9以降、完全な完全脱獄を作成することが難しくなったため、開発者は代わりに半紐なし脱獄を作成した。これらはアプリを使用してデバイスを脱獄するが、再起動後にはアプリを再度実行しない限り、デバイスは非脱獄状態になる。Home DepotMeridianunc0verChimeraTaurineDopamineなどがこれに該当する。Appleの制限により、このアプリは毎週(またはApple Developerアカウントを使用して毎年)再署名する必要がある。ReProvision Rebornなどのツールは再署名を自動化するために作成された。また、TrollStoreと互換性のあるiOSバージョンでは、Jailbreakアプリを永続的に署名することができ、期限切れにならないようにすることができる。

脱獄ツール

最新のファームウェアと脱獄

デバイス 最新バージョン 脱獄可能な最後のバージョン 脱獄ツール
iPad Air 11-inch (M2), iPad Air 13-inch (M2), iPad Pro 11-inch (M4), iPad Pro 13-inch (M4), iPad mini (A17 Pro), iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max, iPhone 16, iPhone 16 Plus, iPhone 16 Pro, iPhone 16 Pro Max 18.3 脱獄ツールなし
iPad mini (6th generation), iPad Pro (11-inch) (4th generation), iPad Pro (12.9-inch) (6th generation), iPhone 13 mini, iPhone 13, iPhone 13 Pro, iPhone 13 Pro Max, iPhone SE (3rd generation), iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max 16.5 Dopamine
iPad (8th generation), iPad (9th generation), iPad (10th generation), iPad Air (3rd generation), iPad Air (4th generation), iPad Air (5th generation), iPad mini (5th generation), iPad Pro (11-inch), iPad Pro (12.9-inch) (3rd generation), iPad Pro (11-inch) (2nd generation), iPad Pro (12.9-inch) (4th generation), iPad Pro (11-inch) (3rd generation), iPad Pro (12.9-inch) (5th generation), iPhone XR, iPhone XS, iPhone XS Max, iPhone 11, iPhone 11 Pro, iPhone 11 Pro Max, iPhone SE (2nd generation), iPhone 12 mini, iPhone 12, iPhone 12 Pro, iPhone 12 Pro Max 16.5.1 Dopamine
iPad (7th generation) 18.3 palera1n
iPad (6th generation), iPad Pro (12.9-inch) (2nd generation), iPad Pro (10.5-inch) 17.7.4 (サポートされている) palera1n
iPad (5th generation), iPad Pro (12.9-inch), iPad Pro (9.7-inch), iPhone 8, iPhone 8 Plus, iPhone X 16.7.10 (サポートされている) palera1n
iPad Air 2, iPad mini 4, iPhone SE (1st generation), iPhone 6s, iPhone 6s Plus, iPhone 7, iPhone 7 Plus, iPod touch (7th generation) 15.8.3 (サポート切れ) Dopamine or palera1n
iPad Air, iPad mini 2, iPad mini 3, iPhone 5s, iPhone 6, iPhone 6 Plus, iPod touch (6th generation) 12.5.7 (サポート切れ) checkra1n or Chimera
iPad (4th generation), iPhone 5, iPhone 5c 10.3.3 or 10.3.4 (サポート切れ) h3lix or socket
iPad 2, iPad (3rd generation), iPad mini, iPhone 4S, iPod touch (5th generation) 9.3.5 or 9.3.6 (サポート切れ) Phœnix or p0laris or kok3shi9 or openpwnage or Blizzard
iPhone 4 7.1.2 (サポート切れ) Lyncis or Pangu
iPhone 3GS, iPod touch (4th generation) 6.1.6 (サポート切れ) p0sixspwn
iPad (1st generation), iPod touch (3rd generation) 5.1.1 (サポート切れ) redsn0w or Absinthe
iPhone 3G, iPod touch (2nd generation) 4.2.1 (サポート切れ) redsn0w
iPhone (1st generation), iPod touch (1st generation) 3.1.3 (サポート切れ)

他のデバイス、ファームウェアのバージョン、およびジェイルブレイクツールについては、以下のバージョンリストを参照。

バージョン

完全脱獄または半紐なし脱獄の脱獄は、緑の「yes」で表示される。紐付き脱獄または半紐付き脱獄の脱獄は、黄色のボックスで表示される。Beta Firmwareはリストに含まれていない。

Bootstrap

この種類のユーティリティは、基本的なアプリの調整を実行するために使用できる方法であり、カーネルが読み取り/書き込み不可(パッチが当たっていない)ため、機能全体は非常に制限される。

このタイプのユーティリティに必要なのは、CoreTrustのバグと、そのバグを使って何かをインストールする方法(例えばTrollStore)だけです。

この種類のユーティリティではサポートされていない主なもの

1.完全なtweakのサポート(AppSync UnifiedやSpringboardの調整、デーモンを修正する調整など—これらは一般的にカーネルの読み書きやその他のバイパスを必要とするため動作しない。これが、ElleKitのようなtweak Injectionライブラリが機能しない原因となる。)

2.外部ターミナルの使用(多くのターミナルはカーネルの読み書き方法を使用してセッションを実行するため、基本的にはブートストラップツールで提供される限られたターミナルのみがサポートされる。)

3.カスタムLaunchDaemonsの実行(すべてのデーモン/サービスの実行は、Appleが提供し署名したlaunchdバイナリを通じて行われ、プラットフォームのバイナリのみがその特権で実行できるようになる。ターゲットのバイナリがAppleによって署名されたプラットフォームバイナリでない場合、実行は拒否されてしまう。CoreTrustのバグではこれを悪用できない。なぜなら、カーネルがlaunchdバイナリによって行われる実行をチェックして検証するからである。これは、カーネルを最初にパッチしない限り、このバイナリを直接パッチするとカーネルパニックを引き起こす。)

ブートストラップの利点

1.デバイスはほぼ標準の環境に近く、アプリとの互換性はTrollStoreのみを使用している場合と同様。

2.ほとんどカーネルパニックが発生しない。

半脱獄

KPP、KTRR、PPL、SPTM、TXM、PACによる制限のため、カーネルの読み書き(r/w)のみではarm64eデバイスでの脱獄は実現できない。しかし、CoreTrustのバイパスを使用することで、脱獄の基本機能のほとんどを実装することが可能になる。

標準のブートストラップでは不可能なことが、以下のように可能になる。

1. 大幅に改善されたTweak Injectionのサポート - カーネルのr/wを使用して/sbin/launchdを上書きすることで、launchd内のさまざまなチェックを解除し、ほとんどのカスタムバイナリを実行できるようになる。

2. LaunchDaemonsの使用(これもlaunchd内の制限を解除することによって実現される)。

3. アプリケーションのTweakを、システムアプリとして再登録することなく行うことができる(xpcproxyフックを使用して代替実行ファイルを起動)。

こちらもご覧ください