Old 3DS向け ARM9 プライマリexploit MSET9 by zoogie

WiiDatabaseで、zoogie氏がOld3DSの11.8~11.17向けプライマリARM9カーネルエクスプロイトMSET9 v2betaをリリースしたことを伝えていました。

Old3DS

SDカードリーダーとPython3をインストールしたWindowsまたはLinux PCが必要(現時点ではmacOSでは動作しません)

MSET9 は、FS_EnumerateExtData関数の脆弱性を利用しています。この関数は、本体設定の「データ管理」→「ニンテンドー3DSの「データ管理」」「追加データ管理」で呼び出されます。

データ管理を行うためにextdata IDを呼び出すとFS_EnumerateExtDataをコールします。その際8桁の16進数で始まるファイルをextdataディレクトリに配置するとARM9がクラッシュしてしまいます。
ARM9ではその際32文字のID1の文字列に直接ジャンプしますが、3DSではSDカード上のID1ディレクトリ名にどの文字が使用されているかをチェックしていないため、ID1ディレクトリ名にARM命令を挿入することでARM9を制御、つまり3DSを完全に制御できるようになります。

追加データ管理で呼び出すデータを作成するのがMSET9です。

動作の様子は
https://zoogie.github.io/web/m9/(%20%CD%A1%C2%B0%20%CD%9C%CA%96%20%CD%A1%C2%B0).webm
で公開されています。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする