A Day In The Life

とあるプログラマの備忘録

失敗しない脱獄方法(ファームウェア2.1版)

先週金曜日に第1世代iPod Touchを手に入れたので早速脱獄してみました。
せっかくなのでiPod Touchを脱獄してMacからiPod TouchSSH接続するまでの流れを紹介します。

安全性に関して

脱獄には個人情報が盗まれる危険性やウイルスに感染する危険性があります。特に個人情報がたくさん入っているiPhoneでの脱獄はやめてください。また脱獄したiPod Touchに個人情報を入れないよう細心の注意を払ってください。
その他脱獄の危険性については以下の記事が参考になると思います。必ず1読してから自己責任で行ってください。

脱獄してもiPhone SDKで開発したアプリがインストールできるわけではない

iPhone SDKで開発したアプリはARM(iPhone/iPhod TouchのCPU)用にコンパイルされていないので脱獄しても動きません。注意してください。
世に言う勝手アプリはiPhone SDKで開発されていません。Toolchainという開発環境を使って開発されています。Toolchainに関してはこちらのページが参考になります。

脱獄成功の鍵は?

脱獄成功の鍵はDFUモードに入れるかどうかだと思います。脱獄ツールの説明ではDFUモードの入り方についてサラッとしか説明していないことが多いです。Powerボタンを長押ししすぎてリカバリモードに入らないように気をつけましょう。
DFUモードとリカバリモードの違いについては以下のページが参考になります。

環境

今回脱獄した環境は以下のとおりです。

今回試したツール

今回3つの脱獄ツールを試しました。

まずはじめにPwnageTool2.1を試しましたがファームウェアの復元でエラーが発生していまい脱獄できませんでした(リカバリモードで復元したのが原因でしたDFUモードで復元すれば大丈夫なはずです)。
次にZiPhoneを試しましたがiPodがDFUモードのまま停止してしまいうまく脱獄できませんでした。ZiPhoneはiPhone専用みたいでiPod Touchではうまく脱獄できないようです。
最後に試したQuickPwnはDFUモードにする時に少しコツがいりましたが何とか成功しました。
というわけで以後QuickPwnを使った脱獄方法を説明していきます。

復元方法

脱獄には失敗がつき物です。失敗したときのためにファームウェアの復元方法をしっかりと覚えておいてください。

  • Powerボタンを10秒以上押してリカバリモードに入る
  • iTunesiPod Touchを接続する
  • iTunesから接続されているiPod Touchを選択する
  • 復元ボタンを押す

まず確認すること

/ユーザ名/ライブラリ/iTunes/iPhone Software Updatesフォルダ以下にiPod1,1_2.1_5F137_Restore.ipswというファイルがあるかどうか確認してください。このファイルがないと脱獄開始時にエラーが出ます。
このファイルがない場合は、iTunesで復元ボタンを押してダウンロードしましょう(ダウンロード完了後、復元が始まってしまうのでダウンロードが始まったら復元をキャンセルしてください)。

脱獄開始

  • iPod TouchMacを接続します。
  • こちらのサイトからQuickPwnをダウンロードします。
  • ダウンロードした.dmpファイルをダブルクリックして、展開したフォルダのパイナップルのロゴのファイルをダブルクリックするとQuickPwnが起動します。
  • 脱獄する機種を聞いてきますのでiPod Touchを選択します。

QuickPwn

  • ipswファイルの種類を確認して次に進んでください。
  • ファームウェアのビルドが始まります。

インストーラの指示に従いiPod TouchをDFUモードにします。

ファームウェアのビルドが終わるとインストーラiPod Touchとの接続を確認してきます。
接続確認が終わるとカウントが始まりDFUモードで起動するように指示してきます。
DFU(Device Firmware Upgrade)モードとはiPhoneiPod Touchファームウェアのバージョンに関わらず復元を行うことができるモードのことです(リカバリモードとは違います)。DFUモードに入る手順は以下の通りです。

  • iPod Touchの電源を落とす
  • ホームボタン+Powerボタンを10秒間押す(10秒以上押すとリカバリモードに入ってしまうので注意)
  • ホームボタンを押したままPowerボタンを離すそのまま10秒間ホームボタンを押す

iTunesアイコンとUSBを接続するような画面になった時はリカバリモードになっているのでもう一度電源を落としてやり直しましょう(DFUモード時には何も表示されません)。失敗しても何回でもやり直せるので根気よくタイミングが合うまで続けましょう。QuickPwnのカウントにあわせてボタンを押していれば成功すると思います。あと念のためiTunesは終了しておきましょう。
成功すればiPod Touchでインストールが始まります。

Mobile TerminalとOpen SSHのインストール

iPod Touchでのインストール作業が終わるとCydiaというアプリがインストールされています。Cydiaを起動してMobile TerminalとOpen SSHをインストールしてください。

rootのパスワード変更

iPhone/iPod Touchのrootユーザのデフォルトパスワードは「高山植物」という意味の英単語です。このままだとrootのパスワードが不特定多数の人にばれている状態なので以下の手順でパスワードを変更してください。

  • iPod TouchでMobile Terminalを立ち上げる
  • rootでログインする
$ login root
password ******* ←高山植物という意味の英単語
  • passwdコマンドでrootのパスワードを変更する
# passwd
Changing password for root
(current) UNX password: ******** ←既存のパスワード
New UNIX password: ******** ←新しいパスワード
Retype new UNIX password: ******** ←新しいパスワード(確認)
passwd: all authentication tokens updated succcessfully
  • 作業が終わったらログアウトする
# exit

FTPクライアントのインストール

MacからiPod Touchに接続できるようにFTPクライアントをインストールします。FTPクライアントを入れなくてもターミナルからsshコマンドで接続できるのですがFTPクライアントを入れておけばGUIで操作できていろいろ便利です。
今回はMacFTPクライアントCyberduckを入れます。

  • こちらのサイトからCyberduckをダウンロードしインストールします。
  • iPod Touchの設定画面でWi-Fiを選択、接続先の詳細からIPアドレスを確認します。
  • Cyberduckを立ち上げて先ほど確認したIPアドレスに接続します。接続方法にはSFTPを選択してください。ログインIDはroot、パスワードは先ほどMobile Terminalで設定したパスワードです。
  • ファイルの一覧が表示されれば成功です。

FTP接続の詳細は以下のページが参考になります。

脱獄完了

お疲れ様でした。これで脱獄完了です。勝手アプリをインストールして遊んだりRubyを入れて遊んだりいろいろ楽しんでください。
ちなみに脱獄後のおすすめアプリは以下のページが参考になるかと思います。