【コラム】
OS X ハッキング!
247 小さなOS X「iPod touch」をあれこれイジる(2) 〜脱獄編〜
2007/10/12
ようやく新しい「Apple Wireless Keyboard」が届きました。小さいです。薄いです。見た目もイイです! ということで、近々ご紹介させていただく予定です。
さて、今回はiPod touchシリーズの第2回、題して「脱獄編」。察しのいい方はお気づきと思うが、iPhone用のハックツール集「Jailbreak」を利用し、iPod touchに"勝手アプリ"を入れてしまおうという算段だ。10月10日にiPod touch対応版が公開されたので、リスクを顧みず試した結果を報告してみよう。
ワレ"脱獄"ニ成功セリ
ついにiPod touchで"脱獄"に成功した猛者が現れた。通常はアクセスできないルートボリュームをある方法でMac側に吸い上げ、設定ファイルを変更したうえで書き戻す、というiPhoneと同じ手法でだ。手順は、おおむね以下に示すとおり。どうしても試したい場合には、iPod touchのコミュニティサイト「Touchdev」などにアクセスし、最新の情報を確認したうえ、At your own riskの方針で臨んでほしい。
なお、記事の内容はすべて実際に試しているが、あくまで10月11日時点の状況(iPod touchのファームウェアはv1.1.1、母艦にはIntel Macを使用)であり、それ以外の環境では動作しない可能性が高い。TIFFの表示に関連する脆弱性を突いたハックという事情からすると、Appleも早々にセキュリティパッチを用意するものと予想されるので、この記事の賞味期限が短いことをあらかじめ承知願いたい。
- iPod touchでSafariを起動し、Safariは異常終了させるためのURLにアクセスする(あえてリンクは張りません。興味のある方は、「toc2rta」のキーワードで検索してください)
- iPHUCなど必要なツール一式が収録された書庫「Jailbreak」をダウンロード、デスクトップに展開する
- バージョン5.0以降のGNU readlineライブラリが、
/opt/local/libディレクトリにインストールされていることを確認する。Mac OS X付属のもの(/usr/lib/libedit.2.dylib)は代用不可 - iPod touchをUSBケーブルでMacに接続する
- カレントディレクトリを手順2でダウンロード & 展開したディレクトリへ移し、「
./iphuc」を実行。最初に実行したときは、なぜかリカバリモードで起動したため、iPod touchを再起動後にiphucを実行したところ、ノーマルモードで起動した - 内部コマンド「
getfile」を利用し、iPod touch上のデータをバックアップ。作業には5分ほど必要 -
iphonefsディレクトリに「rdisk0s1」という約300MBのイメージファイルが作成されているので、Finderを使い拡張子「.dmg」を追加する - rdisk0s1.dmgをダブルクリックすると、「
Snowbird3A110a.N45Bundle」というボリュームがマウントされる - 8のボリュームの
/etc/fstabを、2でダウンロードした書庫に含まれる「fstab」で置換、その後アンマウントする - 内部コマンド「
putfile」を利用し、rdisk0s1.dmgをiPod touchに書き戻す。作業には2〜3分必要 -
iphucにプロンプトが戻れば転送完了。iPod touchを再起動する
Safariがクラッシュしたときにアクセス不能となるユーザ領域は、FTP / SFTPクライアント「Cyberduck」を使い復活させた。/var/rootにあるシンボリックリンク「Media」を適当な名前にリネームし、さらに「Mediaold」フォルダを「Media」にリネームしたあとiPod touchを再起動すると、音楽も写真も元通りアクセスできるようになった。
|
|
ユーザ領域へのアクセスを復活させるには、Cyberduckを利用する |
ディスクイメージの内容を覗き見る
取り急ぎ"勝手アプリ"のインストールに進みたいところだが、まずは抽出したディスクイメージをもとに、iPod touchのシステム構成を調べてみよう。
使えそうなコマンドだが、/binには「launchctl」があるのみ。シェルもなければcpやlsといった基本コマンドもない。/sbinも似たようなもので、fsckやmount、kextloadといった必要不可欠なコマンドが8種類あるだけだ。/usr/binと/usr/sbinも確認したが、シェル環境で便利に使えそうなコマンドは見あたらない。なお、「help」を実行するとわかるが、組み込みのシェルはbash 3.2.0だ。
ディレクトリ構成は、Mac OS Xに準じていると判断できる。/Usersはないが、/Applicationsと/Libraryはある。/System/Library以下のサブディレクトリも、ExtensionsやFonts、Frameworksなどなど、見覚えのあるものばかりだ。なお、CoreServicesディレクトリ内にFinder.appとDock.appを見つけることはできなかった。細かい話だが、CoreServicesにあるSystemVersion.plistには、製品名として「OS X」と記載されていた。
次回は、いよいよ"勝手アプリ"を導入する。iPhone用のアプリケーションは動作するのか? など、動作の検証を中心に進める予定だ。
ヘッドライン
- 【レポート】Apple Store、「Appetizer.jp presents:iPhone就活術」開催 - 就活こそiPhone活用を[23:50 3/12]アップル
- Apple、iPhone OS 4.0でマルチタスク導入を準備か - 米報道[22:44 3/12]アップル
- 日本HP、15.6型ノート「dv6i」の1,000台限定59,430円販売キャンペーン[21:43 3/12]日本HP
- iPad先行予約開始は日本時間3月12日午後10時30分 - Apple Online Storeにて[19:34 3/12]アップル
- コニカミノルタ、HDD用ガラス基板の生産能力を増強 - 需要拡大に対応[19:05 3/12]自作
- ドスパラ、独ROCCAT社製ゲーミングマウス「KOVA」の販売を開始[18:49 3/12]ドスパラ
- 【レポート】マイクロソフト、アクティブな高齢者の社会参画を促す新たなプロジェクト[18:40 3/12]Windows 7
- UQ、WiMAX内蔵の最新PCが当たる「GET WiMAX キャンペーン」開始[18:39 3/12]周辺機器
- ENERMAX、80PLUS取得&超静音の省エネ設計電源「"エコ80+ II" EES400AWT II」[18:10 3/12]自作
- 日本エイサー、Athlon 64搭載11.6型フェラーリモデルの新型ノート[17:36 3/12]本体








