WiiDatabaseで、Wii UのコールドブートexploitであるISFShaxを使ってWii Uのシステムを復旧させる方法などを紹介していました。
ISFShaxは数年前にWii Uのコールドブートexploitとしてrw-r-r-0644氏が発見したもので、コールドブートハックと呼ばれるものです。
コールドブートハックはデバイスが本来最初に起動させるブートローダーの代わりに別のプログラムを起動させてしまう方法です。システム自体が起動する前(コールド状態時)にハックすることからコールドブートハックと呼ばれています。
コールドブートハックであるISFShaxはスタックオーバーフローの脆弱性を利用したものです。Wii U起動時にNANDに格納されているboot1がロードされてSLC(NANDフラッシュメモリ)のISFSスーパーブロックディレクトリで処理されますが、そのboot1のデータを格納する部分を上書きしてしまうことで任意のコードを実行するという仕組みです。
ISFShaxはその脆弱性が見つかったという段階以降、続報がありませんでした。
brickと危険性が隣り合わせだったことが活用できなかった理由だと思います。システムアップデートをブロックする必要があるなど、万能なハックではありませんでした。任天堂が狙い撃ちしてboot1を更新すると即brickしてしまいます。
今年の3月になってboot1アップデートを回避するwafel_isfshax_patch.ipxプラグインがようやく公開されました。
また、今年の4月にリカバリーモードの代わりに利用することもできるFastbootモードにも対応しました。これによってリカバリーライクなことが可能になりました。今になってISFShaxが脚光を浴びたのはそれらへの対応によるものです。ただし正確にはリカバリーモードではないのでbrickしたWii Uを復旧することはできません。
今回はGBATempでSDIO氏がISFShaxを使ってredANDをセットアップして復旧させる方法やISFShaxチュートリアルを公開したことから、ISFShaxを使ったWii Uでの活用方法が提案されました。
具体的にはSDカードからシステムを起動させるredNANDへの転用で、eMMCが破損してシステムが起動できなくなったWii U(エラー160-0103が表示される)をSDカードから起動させることにより再び活用できるようにする、というものです。eMMCを修復するわけではありませんが、分解やハンダ付けなしでWii Uを起動できるところまで持って行けます。もちろんredNANDを使えるようになるので壊れたWii Uでなくても使えますが、リスクも難易度も高いので個人的には興味本位で試すのはお勧めできません。
jan-hofmeier氏がリリースしたisfshax v3.0とパッチをしたり起動ペイロードを先約することができる代替boot1のminute_minute disable-crypto-v2.1を使います。
WiiDatabaseの記事では使い方を詳しく説明せず、紹介をするに留めています。GBATempのチュートリアルを見ると手順がかなり面倒で、一歩間違えるとWii UをBrickさせてしまうことからとりあえずここでは紹介に留めておきます(まじめに記事にするとかなり面倒くさいので…申し訳ありません)。