checkra1n dump and poc for iphoneos
このツールは、macOS/Linux上で実行することができるcheckra1nをiOS/iPadOS(Jailbroken)上で実行するための非公式プロジェクトです。
このツールを使用することで、iPhone/iPadからiPhone/iPadをjailbreakすることが可能になります。
対象デバイスはすでにcheckra1nを用いてjailbreakされている必要があります。
A14/M1を搭載するiOS/iPadOSでは動作未確認です。
このツールは、MITライセンスに基づいて公開されています。
checkra1nを用いたjailbreakを使用しているユーザーが外出先で再起動を行う際などに、別のJailbreakされたiPhone/iPadを使用してiPhone/iPadをJailbreakすることができます。
2台持ちしている場合や、iPhone 5sといった古いデバイスを使用して、iPhoneをcheckra1nを用いたjailbreakを使用しているデバイスのための再起動用端末にすることができます。
給電を十分に行うことで、iOS 9+上でもra1npocを実行することが可能になります。例えば、Pangu 9(for iOS 9.0-9.1)のUntethered Jailbreakを適用したデバイスを、checkra1nを用いたjailbreakを使用しているデバイスのための、永続的に機能する再起動用端末にすることができます。
・このツールを実行する(ホスト側)iOS/iPadOSデバイス(Jailbroken)
Cydia/Sileoからra1npocをインストールしてください。
Repository: Add to Cydia | Add to Sileo
上記デバイスがtype-cデバイスではない場合、必須です。
・Lightningケーブル
checkm8デバイスは全てlightning経由でexploitを実行するため、必須です。
・セルフパワーUSBハブ or バスパワーUSBハブ+給電ケーブル
必須ではありませんが、iOS側の電源供給制限が厳しいため、外部給電があると安定します。
バスパワーUSBハブとダブルパワーUSB2.0ケーブル[ELECOM]の組み合わせで動作することを確認しています。
給電にはモバイルバッテリー等を使用することができます。
まずはjailbreakするデバイスをDFU modeに入れる必要があります。
ただし、ホスト側にiOS/iPadOSデバイスを用意した場合、給電制限に引っかかって正常にDFU modeに入れない可能性があります。
そこで、代わりにモバイルバッテリーを使用することで安定してDFU modeに入ることが可能になります。
この接続方法を利用する場合、iOS 12+で動作するようになります。
(iOS 9などでra1npocを使用したい場合、[extra]の項目を参照してください。)
・以下の手順を踏むことで、モバイルバッテリーを使用してDFU modeに入ることができます。
iPhone 6s以下、iPad、iPad mini、iPod touch 第6世代
1, デバイスの電源を落とす
2, デバイスをモバイルバッテリーに接続する
3, サイドボタン(or トップボタン)とホームボタンを同時に、10秒間押し続ける。
4, ホームボタンは押したまま、サイドボタン(or トップボタン)を放し、さらに5秒間待つ。
iPhone 7、iPod touch 第7世代
1, デバイスの電源を落とす
2, デバイスをモバイルバッテリーに接続する
3, サイドボタンと音量を下げるボタン(以下、Volume(-)ボタン)を同時に、10秒間押し続ける。
4, Volume(-)ボタンは押したまま、サイドボタンを放し、さらに5秒間待つ。
iPhone 8/X
1, デバイスの電源を落とす
2, デバイスをモバイルバッテリーに接続する
3, Volume(+)ボタンは押してすぐに放す。次にVolume(-)ボタンは押してすぐに放す。
4, サイドボタンを10秒間押し続ける。
5, サイドボタンは押したまま、Volume(-)ボタンを押して、さらに5秒間待つ。
6, Volume(-)ボタンは押したまま、サイドボタンを放し、さらに5秒間待つ。
jailbreakするデバイスをDFU modeに入れたら、以下のように接続することでホスト側のiOS/iPadOSデバイスからjailbreakを実行することが可能になります。
MTerminal等からra1npocを実行してください。
ra1npoc [option]
-h, --help show usage
-l, --list show list of supported devices
-v, --verbose enable verbose boot
-c, --cleandfu use cleandfu [BETA]
-d, --debug enable debug log
-e, --extra-bootargs <args> set extra bootargs
-s, --special use special pongo_2.5.0-0cb6126f
ra1npocが正常に実行されると、checkra1nでjailbreakした時と同様の効果を得ることができます。
以下のように、電源供給を行いながらデバイスを接続することで、給電制限の問題を解決して安定した動作を得ることができます。
この接続方法を利用する場合、iOS 9+で動作するようになります。
最初にデバイスを接続する際に、DFU modeではなくRecovery modeを使用することで、安定して成功させることができるようです。
ra1npocに"-c"を渡すと、Recovery modeを使用してDFU modeに入る方法に変更することができます (v2.1.1以降)。
『[extra] 安定してiOS/iPadOSデバイスからiOS/iPadOSデバイスに接続する』を使用しないと、iOS/iPadOSの給電制限のため、接続がうまく行かない可能性が高いです。
iPhone:~ mobile$ ra1npoc -c
* checkRAIN clone v2.1.1 for iOS by interception
[BUILTIN] v0.12.4
[enter_dfu_via_recovery] Waiting for device in Recovery mode...
・以下の手順を踏むことで、モバイルバッテリーを使用してRecovery modeに入ることができます。
iPhone 6s以下、iPad、iPad mini、iPod touch 第6世代
1, デバイスの電源を落とす
2, ホームボタンを押しながら、デバイスをUSB接続する
iPhone 7、iPod touch 第7世代
1, デバイスの電源を落とす
2, Volume(-)ボタンを押しながら、デバイスをUSB接続する
iPhone 8/X
1, デバイスの電源を落とす
2, サイドボタンを押しながら、デバイスをUSB接続する
デバイスをRecovery modeにしたら、以下のように接続して、ra1npocを実行します。
T8015 (iPhone 8/X)では、以下のような画面になります。
iPhone:~ mobile$ ra1npoc -c
* checkRAIN clone v2.1.1 for iOS by interception
[BUILTIN] v0.12.4
[enter_dfu_via_recovery] Waiting for device in Recovery mode...
[enter_dfu_via_recovery] CONNECTED
================
::
:: enter_dfu_via_recovery
:: CPID: 0x8015 BDID: 0x02 TYPE: 0x08
::
:: Time to put the device into DFU mode
:: Please follow the instructions below to operate the device.
::
:: STEP1: Press <enter> key.
:: STEP2: Press and hold the Side and Volume down buttons together (4sec)
:: STEP3: Release the Side button But keep holding the Volume down button (10sec)
================
ready?
[STEP1] Press <enter> key >>
続いて、画面の指示に沿ってデバイスをDFU modeに入れます。
・上記画面が出たあと、以下の手順を踏むことで、DFU modeに入ることができます。
iPhone 6s以下、iPad、iPad mini、iPod touch 第6世代
1, terminal上で、enterキーを押す
2, サイドボタン(or トップボタン)とホームボタンを同時に、4秒間押し続ける。
3, ホームボタンは押したまま、サイドボタン(or トップボタン)を放し、さらに10秒間待つ。
iPhone 7、iPod touch 第7世代、iPhone 8/X
1, terminal上で、enterキーを押す
2, サイドボタン(or トップボタン)とVolume(-)ボタンを同時に、4秒間押し続ける。
3, Volume(-)ボタンは押したまま、サイドボタンを放し、さらに10秒間待つ。
デバイスがDFU modeに入ると、続けてjailbreak作業が開始されます。
ra1npocが正常に実行されると、checkra1nでjailbreakした時と同様の効果を得ることができます。
ra1npoc's source code