先日発表されたKARL3DSはニンテンドー3DSでの有用なカーネルアクセスを実現することによりNANDダンプやその復号化、ゲームカードリッジのダンプとその復号化、そしてリージョン制限を回避するカスタムファームウェアなど、Gateway 3DSなしでの3DSハックを実現しようという意欲的なプロジェクトでした。その後メンバーが揃いKARL3DSチームが結成され、現時点ではRokkubro氏、Dazzozo氏、shinyquagsire23氏、WulfyStylez氏、Relys氏がプロジェクトメンバーに名を連ねています。
その中のRelys氏がKARL3DSのデモを公開していました。
動画の前半はGateway 3.1.0 ULTRA Public BETAのチュートリアルですが、後半はKARL3DSのデモとなっています。
細かいことは分かりかねますが、デモを見る限りKARL3DSの動作は以下のようになっています。
ninjhaxからHomebrew Launcherを起動させ、Bootstrapというアプリケーション(ARM11のカーネルxploitのようです)を立ち上げるとfireloader v2.1というアプリケションが起動します。fireloaderはFIRM(ファームウェアの意味だと思われる)を起動するとあるので起動時に仮想NANDへリダイレクトしてモディファイされたNANDから3DSを起動するという仕組みになっているようです。
メニュー画面には以下のような表示が出ています。
fireloader 2.1: ARM11's revenge
Quick-launch FIRM
FIRM options...
NAND options...
Crypte options...
New 3DSのmicroSDカードにコピーしたNANDからGateway 3DSなしでemuNANDとして3DSを起動させることに成功しているようです。HOMEメニューにはDevMenuのアイコンが見えます。DevMenuは開発機向けのアプリケーションで、市販の3DSには存在しないものです。DevMenuがあればNANDやSDカードからのアプリケーションのロード、.CIAフォーマットのファイルをSDカードからインポート(本体へのインストール)が可能になります。これを見る限り、Gateway 3DSがなくても仮想NANDからモディファイしたファームウェアでNew 3DSを起動できるところまでKARL3DSの開発が進んでいることを示していると言えそうです。
KARL3DSのemuNANDはGateway 3DSとほぼ同じですが、Gateway 3DSのものよりも改良されており、リザーブ領域の確保の仕方が若干異なるそうです。現状ではGateway 3DSでできることはKARL3DSでも可能だということです。
また、メンバーの一人であるWulfyStylez氏のGBATempのフォーラムでの発言の中にninjhaxは3DS最新ファームウェアである9.5で既に動作させることができているというコメントがありますので、ninjhaxを活用したKARL3DSの今後はかなり期待できそうな雰囲気です。
ここで報告させていただくと、KARLはARM9のExploitの部分のソースコードを非公開にする方向で、それに対抗するために私はOSKAというプロジェクトでオープンソースのARM9のExploitを開発しています。
正直言って、Gatewayの実装にもKARLの(聞いたところによる)実装にも気に食わないところが山ほどあるので、すべてオープンソースにして誰でも書き換えられるようにするのが現在の私の目標です。
shinyquagsire23氏曰く「ARM9のExploitは割れに使えるから公開しない。でもおまいらが同じもの作ったら公開するしかないな。」
そこで私は「できるだけフリーなソフトウェアを作る。そのポリシーが割れとの違い。」と返答しました。
# 要するに「フリーソフトウェア最高だぜ!」という話
# フリーの意味は「自由」の意味。無料じゃないよ。