ニンテンドー64のゲームを84日間で逆コンパイル

NINTENDO64用ゲーム『スノボキッズ』の逆コンパイルがわずか84日間という驚異的なスピードで100%完了したことが2026年8月26日にエンジニアのクリス・ルイス氏のブログにて発表されました。逆コンパイルによりゲームの全関数がC言語で記述され、コンパイルすれば元のゲームと全く同じマシンコードを生成できる状態となったとのことです。
Decompiling a Nintendo 64 Game in 84 Days | Chris' Blog
https://blog.chrislewis.au/decompiling-a-nintendo-64-game-in-84-days/
ルイス氏は以前に「超スノボキッズ」の逆コンパイルに596日間を要しており、今回は約7分の1の時間での達成したことになります。

短期間で逆コンパイルが完了した要因としてルイス氏は、一つには大規模言語モデル(LLM)の活用があるとしましたが、それだけではないとも語っています。特に標準ライブラリコードの照合においてAIは能力を発揮しました。しかしAIに既存のライブラリリソースを活用させるためにはより高度なプロンプトエンジニアリング、つまり人間の専門家による貢献が不可欠でした。特にinspectredc・queueRAM・Bl00D4NGELをはじめとする逆コンパイルコミュニティからの多大な協力なしには実現不可能だったとのこと。
特にSGIが開発したプロプライエタリなコンパイラ「IDO 5.3」の解析においてコミュニティの専門知識は極めて重要でした。IDOはソースコードが入手できないうえに古いSGIハードウェアに依存していたため、コミュニティによるリバースエンジニアリングと再コンパイルなしに挙動を理解し現代のハードウェアで動作させるのは不可能だったそうです。特にIDOの多段階にわたる最適化とコード生成プロセスはC言語コードのわずかな変更でもレジスタ割り当てに大きな影響を与えるため、挙動の予測困難さがAIによる逆コンパイルのワークフローを複雑にしていました。IDOの挙動を理解することは「科学というよりむしろ芸術に近い」とルイス氏は評しています。
AIエージェントは「標準ライブラリコードのマッチング」「特定コンパイラの癖の記録」といった、オンラインで公開されている情報を利用可能な分野で活躍しました。特に、IDOの「癖」を記録した「DECOMPILATION_LEARNINGS.md」ファイルはエージェント間の学習を促進するフィードバックループを形成しました。また「N64 Decomp Workbench」のようなデバッグツールはコードの不一致の原因を特定し、構造的な問題とレジスタ割り当ての問題を区別するのに役立ちました。しかし、AIはIDOによる独特な出力を再現するのが苦手であり、IDOの挙動を再現するには人間チームの専門知識や直感が不可欠でした。
逆コンパイル完了後の最優先課題としてルイス氏は「ゲームのドキュメント化」をより充実させることを挙げています。ゴールは全関数に対してCコードとの紐付けですが、現状はすべての関数が何をしているのか把握できているわけではないので、想定している作業には「生成された関数名をより内容に則したものに変更する」「何に役立っているのか不明な構造体フィールドの特定」「生成コードのクリーンアップ」などが含まれます。また並行してスノボキッズの再コンパイル作業も進行中であり、超スノボキッズの再コンパイル作業で修正したものと同じ不具合が数多くみられるとのことです。さらに、スノボキッズのレベルやコンテンツを超スノボキッズのエンジンに移植する試みや、PlayStation版の「スノボキッズプラス」の逆コンパイルにも興味が示されています。協力者募集の言葉でルイス氏の記事は締めくくられています。
・関連記事
「Factorio」の乱数生成器を解析して「レジェンド品質のアイテム」が出る未来を予測する試み - GIGAZINE
AMDの自動更新ツールに見つかったリモートコード実行の脆弱性、報告から公開までに何が起きたのか - GIGAZINE
スーパーマリオ64をPDFファイルに移植することに成功 - GIGAZINE
スーパーマリオ64を初代PlayStationで動かす「Super Mario 64(DualShock Version)」 - GIGAZINE
「マリオストーリー」をリバースエンジニアリングでゼロから再現することに成功 - GIGAZINE
スーパーマリオ64をApple TVでプレイすることに成功 - GIGAZINE
ブラウザ上から無料で「スーパーマリオ64」がプレイできるサイトが登場 - GIGAZINE
・関連コンテンツ
in AI, ソフトウェア, ゲーム, Posted by log1c_sh
You can read the machine translated English article Decompiling Nintendo 64 games in 84 days….







