ニンテンドー3DS向け新カスタムファームウェア Cosmo3DS CFW by Yifan Lu





Yifan Lu氏が、ニンテンドー3DSをハック可能な9.2にしたままeショップへ接続したりリージョン制限回避やリージョン変更などが行えるカスタムファームウェアCosmo3DS CFW v0.1をリリースしていました。

現段階ではまだプレリリース版扱いですので本格的な開発はこれからのようです。

Cosmo3DS CFWは

・3DSを9.2にキープしたままemuNANDとして最新ファームウェアを使う
・HOMEメニューからリージョンフリーでゲームを起動
・3DSをbrickさせることなくシステムリージョンを変更
・リージョン変更したシステムでeショップを利用可能

というの特徴があります。

既存の3DS向けカスタムファームウェアは、基本的には公式ファームウェアをモディファイしたものです。それに対してYifan Lu氏はemuNANDを読み込むためのReiNANDをベースに、emuNANDロード部分以外をなくして軽量化、そしてシステムモジュールが読み込まれて起動する前にパッチをすることで、例えばリージョンを変更するといった仕組みをとっています。この辺りの仕組みについてYifan Lu氏は3DS Code Injection through “Loader”という記事で解説しています。

実は注目なのはCosmo3DS CFWではなくそのための仕組みの方だったりします。

モジュールにパッチをするというところが肝で、実は単純にメモリー上のアドレスを調査して書き換えればいいという簡単な話ではありません。そのパッチをモジュールに施すために、起動プロセスの初期段階のモジュールが実行される前でフックできるようにしているそうです。ちょっと分かりにくいので具体的に、システムリージョンを変更する場合で考えてみます。

3DSのシステムはCFGモジュール(設定モジュールという意味だと思います)をまず読み込みます。他のモジュールはリージョン情報をそのCFGから得るため、そのCFGにパッチをする、ないしはそれを使う全てもモジュールにパッチをすることでリージョンを変更することができるようになります。

文章で書くと簡単に思えますが、当然現実的には簡単な話ではありません。

Yifan Lu氏はそのためにローダーモジュールを既存のモジュールを書き換える形で仕込もうと考えているのですが、そのローダーモジュールにはパッチのコードを保存しようとしているSDカードへのパーミッション(アクセス権)がないなど問題は山積みです。

幸いにもその既存のモジュールは20KBほどの小容量のため1日あればリバース可能な程度で、かつ3DSのファームウェア2.x以降ほとんど変わっていないため、仮に最新ファームウウェアでハックが可能になっても大きな変更なしにそのローダーモジュールが利用出来る可能性が高いと考えられています。

Cosmo3DSはまだ開発段階ですが、Yifan Lu氏のローダー書き換えの試みが完成すればCosmo3DSに限らず色々応用が利きそうなのでシーンが大きく盛り上がるでしょう。一方で、違法コピーをインストールして実行できてしまうような署名回避パッチなども可能になってしまいます。それについてYifan Lu氏は
personal choice, I don’t care what you do
個人の責任でやってください。私は一切関知しません。
と話しています。

Tags: ,

  1. Lighger’s avatar

    すごい。これは楽しくなりそうです

  2. 173210’s avatar

    別にcfgプロセスにパッチをするのはさして難しくはないのですよ。現にこれまでのCFWはもっと汚いやり方でやっていました。
    でもこれは違います。何と言ってもすべてが制御できるのが嬉しい。正に「クリーンな」ハックが可能です。

    ところで、これは違法コピーには応用しにくいと考えます。署名チェックはloaderを使わないARM9でやっているので、そこで潰してしまったほうが楽だからです。今のCFWはそうしています。

    私は個人的に、これを使えばSDカードからPSPのようにまともなプラグインを読めるようにできるのではということを考えています。全てオープンソースですからそういった改造も自由自在(のはず)です。[要検証]

    しかしこれ普通の人じゃ1日じゃ作れないでしょう。XDSを使うという発想とそのリバースエンジニアリングの能力には驚き。きっとこれだけできる人はyellows8氏ぐらいしかいないのでは。

  3. KIRA’s avatar

    やはりハッカーは凄い、の一言に尽きますね…何処かに学習できるような文献でもあるのでしょうか?
    それはともかく、プラグインが3DSでも開発できるというのは目新しく感じます。もう5年経ったんですね3DS…

  4. るりるり’s avatar

    そういや、16ページ(128個)までしか記録できなかった記録帳(アルバム仕立ての方)が、いつのまにか32ページ(256個)まで可能になってたね。

Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です