Hacked! (3)

ご注意:以下は試行錯誤をした個人的な記録ですので、途中間違いがたくさん書いてあります。最終的には追記2,3に書いた通りです。

Exploit コードを含んだ TIFF ファイルが公開されたようですね。特定のURLにtouchの Safari でアクセスすると、その後は iphuc でファイルの読み書きができるようになるとのこと。

実際にやってみました。環境は MacBookPro 15inch (OS X 10.4.10) + iTunes 7.4.2(4) です。テキトーにやっているので真似をしないようにお願いします (_o_)

  1. iPHUC (iPhone Utility Client) を用意します。下記のサイトから iphuc-universal-no-macports-0.6.1.zip *1を頂いて来て、zip を展開。iphuc-universal という実行ファイルができます。
  2. iphuc を起動してみます。iPod touch を接続し、iTunes が起動するまで待ちます。ターミナルを開いて iphuc-universal を実行してみます。この状態では、iPod touch の一部分(?)が見えている状態のようです。
  3. (この段階を踏むと、元に戻すのに手間がかかります) toc2rta で紹介されているページに、iPod touchSafari でアクセスします。Safariがクラッシュします。転送していた音楽や写真が消えています。
  4. iTunesiPod touch を見てみると、容量が 300MB 程度になっています(もともとは 8GB)。この状態で iphuc-universal を起動すると、見慣れた感じのディレクトリツリーが見えました!
$ ./iphuc-universal 
iphuc 0.6.1 with tab completion.
>> By The iPhoneDev Team: nightwatch geohot ixtli warren nall mjc operator
CFRunLoop: Waiting for iPhone.
notification: iPhone attached.
AMDeviceStartService 'com.apple.afc': 0
(iPHUC) /: ls
.
..
Applications
Library
System
bin
com.apple.itunes.lock_sync
cores
dev
etc
iTunes_Control
mach
private
sbin
tmp
usr
var
(iPHUC) /: cd etc
(iPHUC) /etc: ls
.
..
bluetool
fstab
group
hosts
hosts.equiv
master.passwd
networks
notify.conf
passwd
ppp
protocols
racoon
resolv.conf
services
ttys
(iPHUC) /etc: 


いろいろ見てると面白いのですが、時間もあまりないので、この辺でやめておきます。このままではiPodとして機能しないので、iTunesの「復元」で元に戻そうとすると…「iPod が復元できませんでした。不明なエラーが発生しました(-18)」というメッセージが (;_;)

結局、iPHUC で "enterrecovery" としたあと、iTunes で「復元」することにより、もとに戻す事ができました。iTunesは「工場出荷時」に戻ったと言ってましたが、ソフトウェアバージョンは 1.1.1 になっていました。

TIFF exploit を使った後もとに戻すために iPHUC での操作が必要でした。ということは、あまりひどいダメージを与えて iPHUC のコマンドがうまく使えないような状態にもしなってしまったら(実際になるのかどうか知りません)、元の状態に戻らなくなってしまう可能性があります。こわいですねー。



追記:fukeiの日記さんは iPhone Alley に掲載されている手順を踏まれているようですね。手順をまだよく読んでませんが、ちゃんとやると 300MB 状態から脱してなおかつファイルシステムへのアクセスができる状態になるのでしょうか?

私はとりあえずファイルシステムが見られただけで満足ですので、これ以上はきちんとしたチュートリアルを待つ事にします。

追記2

結局、iPHUC で "enterrecovery" としたあと、iTunes で「復元」することにより、もとに戻す事ができました。


iPhone Alley に強制復元の仕方が書いてありました。iPHUCなしでできます。少し補足しつつ訳を載せます。

  1. iPod touchMacに接続、iTunes で同期
  2. スリープボタンとホームボタンを同時に10秒程度長押し。シャットダウンする。
  3. そのまましばらく待つと再起動する。アップルマークが現れたら、(ホームボタンは押したまま)スリープボタンを離す
  4. スリープボタンを押したまま待っていると、「iTunesにつなげ」のアイコンが現れ、同時に iTunes では「リストアします」のウィンドウが表示される。

追記3
↓の説明に従い、全てうまく行きました。

8GB見えるようになって音楽も聞く事ができ、ssh で外部から入れるようになり、BSD Subsystem で多くのコマンドが使えるようになりました。iPod ソフトウェアアップデートがあるまで、しばらくこの幸せをかみしめる事にします (^_^)v

*1:タブ補完無効と書いてありますが、実際は有効になっています