2008年4月9日水曜日

Twilight Hack

Wii
も発売から1年半になろうとしている今日この頃ですが、
丸裸とまでは行かないまでも結構解析が進んでおります。
本当は自分でもハックでもしようかと思いつつ発売日に購入したのですが、
結局たいしたことはしていません。
いや、思ったよりゲームで遊んでますね。
任天堂が言うところの「帰ってきたゲーマー」ということでしょうか。
と言いつつ、難しいのはすぐに投げ出しています。

話を元に戻しますが、世の中にはつわものがいたもので、
Wii
本体と同時に発売された ゼルダの伝説 - トワイライトプリンセス

バッファオーバーフローの脆弱性を見つけ、
そこを手がかりに自作プログラムの実行ができるようになっています。
通称 Twilight
Hack と呼ばれてます。
脆弱性としてはよくある種類のものですが、
開発者はまさかと思っているでしょうね。

Twilight
Hack
自身は2ヶ月ぐらい前に発表(?)されていましたが、
最近になって日本語版への対応、Wii本体のSDカードスロット対応、
FAT16とFAT32なSDカードへの対応と敷居がどんどん低くなり、
しかもアプリケーションとして
GameBoy
Color エミュレータ RIN Wii
が登場するなど、
面白いことになってきました。
と言うわけで私も試してみることにしました。

まずはWiiでトワイライトプリンセスを一回遊び、
そのセーブファイルをSDカードにバックアップしましょう。
そのSDカードをPCで認識させ、
private/wii/title/RZDJ/data.bin
をどこかに保存しておきます。
クリア直前のセーブデータが完全消去されるのは忍びないので。
さて、twilight-hack-v0.1-alpha3b.zip
をダウンロード、展開し、rzdj.bin

先のSDカードの private/wii/title/RZDJ/data.bin
に上書きします。
あとはそのSDカードをWiiに挿し戻して
トワイライトプリンセスのセーブファイルをWiiに書き戻すだけです。

この状態で普通にトワイライトプリンセスを1番目のセーブデータで始め、
リンクを後ろにバックさせると
ELF loader
が起動します。

なお、このローダーはSDカードのルートディレクトリの
boot.elfを自動起動します。
TETRISRIN
Wii
などの起動したいelfファイルをリネームして置いておけばいいでしょうし、
devkitPro
で自作するものいいでしょう。
ちなみにelfは
ELF 32-bit MSB executable, PowerPC or cisco 4500,
version 1 (SYSV),
statically linked, not
stripped
なファイルになってます。

私はというと、自作ソフトを作るような根性は今のところないので、
テトリスと RIN Wii
をちょっと動作確認しただけですがしっかり動いてます。
ただ、起動するまでが長いのでつらいですね。
Homebrewチャンネルの話もありますが、
こちらのほうはすでに対策ファームウェアが出回っているようですし、
トワイライトプリンセスは手放せそうにありません。

0 件のコメント:

コメントを投稿