iPhone,iPod touch,iPadなどのデバイスをJailbreak 所謂、脱獄するための環境がiOS 5のリリースから変わってきており、ここで一つ現状のJailbreak関連の情報をまとめておきます。
目次
- 脱獄するメリット/デメリット
- 脱獄する前にデバイスの情報を保存する
- モデムファームウェアとベースバンド
- デバイスのECID SHSH を保存する
- TinyUmbrellaの使用方法
- IPSW ファイル一覧
- redsn0wの使用方法
- iFaithの使用方法
脱獄するメリット/デメリット
Jailbreak(脱獄)とは
iOS(デバイスの基盤となるオペレーティングシステム)のexploit(脆弱性)を利用し、システム内の通常では変更することができない部分を改変可能にすること。
メリット
- App Storeと同等の働きをするCydiaからApple非公認のアプリをインストールできる
- SIMロック解除により契約回線以外の使用ができる
- ホームやロック画面など見た目をよりカスタイマイズできる
- 簡単にアプリの終了、メモリ解放ができる
- 便利なショートカットやランチャー機能を実装できる
- Youtubeなど高画質で視聴、ダウンロードすることができる
- システムの使わないファイルやカメラのシャッター音等を消去できる
- iPhoneのテザリング機能によりモデムの代わりになる(ノートPC等でネット接続)
- etc
デメリット
- Jailbreakは基本的にApple、端末契約会社に認められていない
- サポート無しとなってしまうため故障時は実費負担となる
(仮に故障して保証を受けたい場合、復元して元の設定に戻せばOK) - 最新のVersionにすぐには対応できないため新機能など発表されても利用できない
- Jailbreakが原因で不安定な動作を起こす可能性がある
- SSH等による不正ハッキングやウイルス混入の恐れがある
- etc
簡単に言うと、Appleが色々と規制をしてロックしているデバイス本来の機能を100%引き出すことができる反面、デメリットにおけるリスクを負うことになります。
何らかの事態が起きても自己責任のもとに行うものだと認識しておく必要があります。
Tethered Jailbreak(紐付き脱獄、仮脱獄)
電源がOFFになる度にPCとケーブルを繋いで、専用のToolでリブート(再起動)する必要がある。
Semitethered Jailbreak(半紐付き脱獄、仮脱獄)
Cydiaより「SemiTether」というTweakをInstallすることによって、Tethered時の電源OFFからの再起動が可能となる。但し動作は不安定で、Cydia及び関連するJailbreakアプリ、メールアプリ、Safariが起動しない(起動できるようにする設定もあるがセキュリティに弱い状態での動作となる)
Untethered Jailbreak(紐無し脱獄、完全脱獄)
リブートしてもJailbreak状態のままシステムが立ち上がり、完全に正常動作する状態。
現状のJailbreak Toolは、CPUがA4チップ以前のデバイスのみに働く「Limera1n exploit」を利用しており、A5チップを搭載するデバイス(iPad 2/iPhone 4S)では機能しない。但し後述する「TinyUmbrella」は動作
iOS 4.3.3まではUserland exploitを利用したJailbreakMeでiPad 2のUntethered Jailbreakが可能
参考:iOS 4.3.3 iPad 2 対応 脱獄ツール JailbreakMe 3.0リリース
開発者@comexはAppleへインターン入社し、その後のToolはリリースされる予定がない。
初期型のiPhone 3GS Oldbootrom のみ、ブートROMに直接働きかける24kpwnというexploitが利用できるためUntethered Jailbreakが可能となっている。
3GS Oldbootrom 判別方法
iDetector(for Windows)を利用するか、DFUモード(電源とホームボタン10秒間押し続ける→電源ボタンを離しホームボタンのみ15秒間押し続ける)に入れ「USB view(Win)」か「システム情報(MacのApplications/Utilities/システム情報.app)」にて表示を確認する。
(USB viewの場合、「Options」→「Config Descriptors」にチェック「F5」で更新)
「iBoot-359.3:Old-bootrom」「iBoot-359.3.2:New-Bootrom」
脱獄する前にデバイスの情報を保存する
不具合が発生した時のために、Jailbreak前のデータを保存しバックアップしておく
基本情報の確認
「設定」→「一般」→「情報」を開く
スクリーンショット(ホームボタンとスリープボタンを同時押し)で保存
後述するSHSHなどと一緒に「iPhone Backup」というフォルダを作り保存しておく
iTunesでデバイスの設定を保存する
現状のiPhone設定を保存するため、iTunesを起動し「同期」してバックアップします。
データを復元する場合はiTunesのデバイス名を右クリックし「バックアップから復元」
戻したい日付を選択してデータを復元します。
モデムファームウェアとベースバンド
「設定」→「一般」→「情報」の最下部に表示されているモデムファームウェアのVersionがベースバンドと言われているものになります。機種とOS毎にVersionが変わっており、Custom Firmware(CFW)を利用することでベースバンドを変えずにiOSのVer.upを行うことができます。
ベースバンドはSIMアンロック(契約会社のSIM以外を使用できるようにする)に関わっており、通常ではなるべく上げないでiOSのみVer.upするのが理想となっております。
実際にSIMアンロックする場合は、Cydiaからultrasn0wをInstallして使用するか、GEVEYなどのSIMロック解除アダプターを使用して利用する必要があります。
但しiOSのVer.とベースバンドVer.があまりにもかけ離れている場合、実際の電波表示と差異が発生する問題や、使用するためのStepに一手間掛かるといったデメリットもあります。
尚、iOSのバージョンを下げてもベースバンドはダウングレードさせることはできません。
デバイスのECID SHSH を保存する
SHSHとは
iPhone,iPod touch,iPadなどのFW(ファームウェア:ipswファイル)での復元時、Appleサーバーで認証を行っています。この認証はAppleが公開している最新Ver.のFW復元時のみ通るように設定されているため、古いver.へのダウングレードが通常はできません。
そこで、認証時に発行されるSHSH(Signature Hash)というファイルを使用します。
ECID(unique chip id:デバイスごとに与えられている16の文字列)とSHSHは、デバイスそれぞれに対応したファイルが存在するため、古いVer.にダウングレードする場合など保存しておく必要があります。
※通常取得できるのはその時発行しているSHSHのみのため古いVer.のSHSHは取得できません。
但しiOS 5からSHSHとは別にAppleが「APTicket」というFWを復元するときに使う即時発行の使い回しが効かない認証システムを取り入れており、今までのように保存したSHSHを用いて純正のFWをダウングレードすることができなくなりました。
ポイント
APTicketが適用されるのはOFW(オリジナルファームウェア)のみで、CFW(カスタムファームウェア)で復元を行う場合は、今まで通りSHSHのみで認証されるということになります。つまり、Ver.にあったSHSHを保存しており、IPSWファイルがあればCFW作成ToolによりiOSのVer.を行き来することが可能になります。
現在はiPhone 4S/iPad 2のCFW作成Toolがないため、A5チップ搭載のデバイスは対応していませんが、@pod2gが取り組んでいるA5チップのexploit Codeが完成すればJailbreakが可能となります。
※TinyCFWというToolでiPad 2[3G]iOS 4.3.3のみCFWを作成することが出来ますが、SHSHが必要でベースバンドは上がってしまいます。JailbreakMeで脱獄するためのものと考えていいでしょう。
iPhone/iPod touch/iPad/Apple TV Firmware/IPSW ファイル一覧
フォームより必要なIPSWファイルがDownload可能です。
TinyUmbrellaの使用方法
The Firmware Umbrella - TinyUmbrella
TinyUmbrellaの主な機能
現在Appleが発行しているSHSHをローカルに保存、Cydia Serverに保存されているSHSHをローカルに保存、TSS ServerによるApple ServerへのSHSH認証を偽装することができる。
1.Download LinksよりOSに合ったソフトをDownload
※Javaで動作しているので必要な場合インストール 『java.com』
2. PCにデバイスを接続して起動 Connected Devicesに接続しているデバイスが表示される
まず、Advancedタブを開きます。
Save ALL Available SHSHとWhen connecting a device以外のチェックを外します。
Save SHSH Directory:で保存する場所を設定(予めBackupフォルダを作っておくと便利)
3.「Show All SHSHs」を選択し「Save SHSH」をクリック
SHSHを取得していきます。取得が開始されるとデバイス名の左にある画像がクルクルと回転した物に変わります。けっこう時間がかかるので、のんびり待ちましょう。
4. 取得が完了すると、クルクルした画像が消えます。
「Show All SHSHs」でGeneralタブ内のSaved SHSHs:欄に取得済みの全SHSHが表示されます。
以上でSHSHの保存が完了です。
各種機能の説明
画面左
Show All SHSHs:保存されている全てのデバイス情報を表示
Connected Devices:USBで接続されているデバイス情報
Recent Devices:過去にTinyUmbrellaを利用したデバイスの情報
Custom Devices:Manual ECIDで作成したデバイスの情報
画面右上
Enter Recovery:Connected Devicesで接続しているデバイスをリカバリーモードに入れる
Exit Recovery:Recovery Devicesでリカバリーモードになっているデバイスを解除する
Fix Recovery:DFUモードになっているデバイスを通常モードへ解除する
Save SHSH:選択しているiOSデバイスのSHSHを保存する
Start TSS Server:Appleへの通信を遮断し、保存してあるSHSHで擬似認証Serverを起動する
起動時は認証サーバーを停止する「Stop TSS Server」となる
Generalタブ
Saved SHSHs:保存しているSHSHを一覧で表示
Device Model:型番・機種名
Installed Firmware Version:現在デバイスにインストールされているiOS Version
Installed Baseband Version:現在デバイスにインストールされているベースバンド Version
ECID (Dec):10進数表記でのECID ECID (Hex):16進数表記でのECID
Manual ECID:ECIDを手入力しCustom Devicesへ登録することができる
Serial Number:デバイスのシリアルナンバー
IMEI:デバイスの識別ナンバー
Logタブ:TinyUmbrellaの動作状況、情報を表示
Advancedタブ
Save SHSH Directory:SHSHファイルを保存するディレクトリを指定する
UPDATE iPHONE 4 BASEBAND:iPhone 4復元時にベースバンドアップデートを可能にする
Save All Available SHSH:取得可能なSHSHを全て保存する
Set Hosts to Cydia on Exit
(If you need a clean restore form Apple uncheck this box):
チェックすることでHostsファイルが書き換わり、Cydia Serverへアクセスするようになる
通常はOFFにしてApple Serverで認証するようにしておく
Request SHSH From Cydia:Cydia Serverに保存されているSHSHを取得する
Overwrite existing SHSH files on "Save SHSH":チェックするとSHSHの上書きをしない
When connecting a device,
prefer my custom device name over the name set on the device:
デバイス接続時のカスタム名を使用するか否か
基本はSHSHを保存するためのToolで、OFWのiOS 4.xにダウングレードする際にTSS Serverを起動して行いますが、CFWの場合は不要のため、SHSH保存以外あまり利用する機会はありません。
redsn0wの使用方法
Dev-Team Blog - Untethered holidays
@pod2g has created a terrific gift for iOS fans — an untethered 5.0.1 jailbreak for non-A5 devices! Many of you have already been following @pod2g’s blog where he’s been keeping everyone up to date ...
redsn0wの主な機能
Windows/Mac対応のToolで、これまではパッチ型Jailbreak Toolのみでしたが、redsn0w 0.9.9bよりベースバンド無しのCFW作成やTethered時のJust bootによるリブート機能、Limera1n exploitを利用したPwned DFUモードへの移行、iTunesでの復元エラーが発生した時のRecovery fix機能など多機能になっております。
iOS 5.0.1までのCFW作成Jailbreak Tool「PwnageTool」と統合したものと考えられます。
iOS 4.3.3までとiOS 5.0.1の紐無し脱獄、現在のVersionではiPhone 4S/iPad 2には未対応
iOS 5.0.1まで自動でファームウェアを判断しJailbreakすることができます。
脱獄方法
1.起動すると「Jailbreak」と「Extras」となるのでJailbreakを選択
3GS old-bootromのみ「Extras」→「Select IPSW」からiOS 5.0.1のIPSWファイルを読みこませる
2.PCとデバイスをUSBで繋ぎPwned DFUモードに入れる
電源ボタンとホームボタンを10秒間押し続ける→電源ボタンを離し、ホームボタンのみ押し続ける
(他の機能でも同じ動作を行うので、コツを掴んでおくと捗ります)
3.画面が替りLimera1n exploitが起動>Install Cydiaにチェックが入っていることを確認し次へ
その他のOption(デバイスにより変わっており、特にチェックする必要は有りません)
Install custom bundle:CustomBundle(debファイル)を選択Installする
Install iPad baseband:3GSにiPad のベースバンド06.15.00をInstallする
一度上げてしまうとGPSが機能しなくなり元に戻せないので注意
Allow boot animation:ブートロゴアニメーションを使用可能にする
Enable multitask gestures:マルチタスク用ジェスチャを有効にする
Verbose boot:起動時に動作プロセスを表示する
Custom boot logo:起動時のブート画面を変更する
Custom recovery logo:リカバリーモードの画面を変更する
Enable battery percentage:iPod touchのステータスバーでバッテリーの%表示をする
Deactivate:アクティベーションを無効にする(3G回線が使えなくなるので注意)
4.「Done!」と表示されデバイス上で脱獄作業が始まり数分経つと完了します。
iOS 5.0以降でCydiaを日本語環境のまま使用すると落ちてしまうため、Englishに設定する。
「Extras」の機能
Just boot:Tethered状態で電源OFFした場合に使用することでJailbreakの機能を復元させる
Pwned DFU:CFWをiTunesでInstallする際に、Limera1n exploitを利用して復元を行う
Recovery fix:復元時のエラー1015等を回避する機能でiOS 4.x以下にDowngradeする際に使用
Select IPSW:redsn0wで未対応のファームウェアを利用する際に、手動でIPSWを読みこませる
Custom IPSW:ベースバンドを維持できるCFWを作成する機能(NO_BB_*_Restore.ipsw)
3GSの場合「New-bootrom?」と聞かれるため、Newの場合「はい」Oldの場合「いいえ」を選択
Preferences:デバイスの詳細表示
ECIDs:Redsn0wで使用したデバイスのECIDリストを表示
Boot args:接続されているデバイスのECID(iOSに渡される引数)
Boot logo:tethered boot時のロゴを変更できる
ECID display style:ECIDの表示方法 Decimal(10進数)/ Hex(16進数)
Move applications:脱獄時の時間短縮。
但し最初のCydia起動時に時間を要する(ONで機能しない)
SHSH blobs:iOS 5以降で活躍する今回の記事で重要となる機能です。
Fetch:デバイスにInstallされているiOSのSHSHを取得しCydiaへ送信する機能
実際に試したところsn0wbreezeを使用してJailbreakした3GS iOS 5.0ではエラーが発生し取得できず、後述するiFaithを用いてiOS 5.0 GMのSHSHを使用しCFWを作成、復元したところ取得できた。
条件として、できるだけ純正に近い状態で機能するものかと考えられる。
保存されるファイルの拡張子は.plistでiFaithでも使用することが可能
ポイント
TinyUmbrellaでは現在Appleが公開しているSHSHのみ保存することができますが、redsn0w/iFaithの場合はInstallしているiOSのSHSHを取得することができるので、公開が終わった後のVersionでもSHSHを保存することができます!
Verify:保存した.plistファイルや.SHSHファイルでAPTicketが含まれているか確認できる
Submit:保存しているSHSHをCydia Serverに送信する(反映されない場合が多い)
Query:Cydia Serverに保存されているSHSHを確認することができる
Stitch:SHSHをiOSファームウェアに組み込み認証不要のIPSWファイルを作成できる
IPSWファイルのVersionと同じSHSHを指定することによってCFWでも作成可能
※OFWに組み込んだもので復元作業をするとベースバンドが上がってしまうので注意!
iFaithの使用方法
iH8sn0w.com
iFaithの主な機能
Windows用のToolで、redsn0wと同様に現在InstallされているデバイスのiOS VersionからSHSHを取得することができます。また、TinyUmbrellaの「.shshファイル」とredsn0wの「.plistファイル」とも互換性があり、SHSHを組み合わせたCFW(こちらはベースバンドが維持される)を作成できる機能があります。
現在のVersionではiPhone 4S/iPad 2には未対応、その他のデバイスでiOS 5.0.1まで対応
Dump SHSH Blobs:SHSHをデバイスから抜き出すモード
1.「Proceed」→「Let’s Go!」をクリック→「Apple TV 2?」と聞かれるので選択
2.Pwned DFUモードに入れる→そのまま「Start」をクリック
5秒前からカウントダウン
10秒間ホームと電源ボタンを押し続ける→電源ボタンを離しホームボタンのみ押し続ける
成功するとこのような画面になり、SHSHの取得作業が始まる(作業は2、3分ほど)
3.完了すると.ifaithファイルが作成されるので保存先を指定して保存
「OK」をクリックして保存完了。
また、Show Available SHSH Cashes on Serverをクリックすると、iFaithのServerにも保存されていることが確認できる。
「Download selected blob」で選択したファイル、「Download all available」で保存されている全てのファイルをDownloadすることが可能で、「Return to ECID Entry」をクリックするとECIDを指定して過去に保存されたファイルを指定 Downloadを行うことができます。
Build *signed* IPSW w/Blobs:SHSHを組み込んだIPSWファイルを作成できる機能
1.「Browse for SHSH Blobs cashe」をクリックしifaithファイルを選択
2.「Browse for the iOS IPSW」から事前にダウンロードしたFWを選択
「Download it for me」をクリックするとIPSWを自動でDownloadしますが時間が掛かります。
3.右下の「Build IPSW」をクリックしてCFWを作成
4.完了後「Proceed」をクリックすると復元するためのPwned DFUモードの画面に切り替わる。
Pwned DFUモードに入れる手順は前述したものと同じです。
また、後で実行する場合に最初からPwned DFUモードにするUse DFU Pwner(iREB)という項目があるので、お好きなときに利用するといった感じでOKです。もちろんredsn0wなどで行なっても構いません。
「.ifaithファイル」はiFaithのみで使用可能で、他のToolとの互換性はありませんが、Build *signed* IPSW w/Blobsで「.shshファイル」と「.plistファイル」も指定することができるのでWindowsユーザーは、その分幅広い選択肢が得られます。
CFWのInstall
作成したCFWをInstallするには各種ToolでPwned DFUモードに入れ、iTunesを起動して復元作業を行います。
Pwned DFUモードでiTunesを起動するとダイアログが表示されるので「OK」
復元ボタンをWin:Shift Mac:Option + クリック
作成したCFWを選択して復元し、バックアップから復元して完了です。