※この記事はアフィリエイト広告を含みます
[AIマイナーニュース速報] LLMでN64名作を復元!『スノーボードキッズ2』デコンパイル75%達成の裏側
📰 ニュース概要
- デコンパイルの進捗向上: LLM(Claude)を用いたN64用ソフト『スノーボードキッズ2』のコード復元率が、当初の25%から最終的に約75%まで到達した。
- 類似関数によるガイド: 単に「簡単な関数」から順に解かせるのではなく、既知の(デコンパイル済みの)関数に似た未解決関数を優先的に処理させることで、AIの推論精度を大幅に高めた。
- 専用ツールとの統合: Claudeにグラフィックス命令の解釈(F3Dex2)や、コードを微調整して一致させるツール(decomp-permuter)などの「スキル」を付与して実行した。
💡 重要なポイント
- ベクトルの活用: 関数の類似性を判断するために、アセンブリ命令のテキスト埋め込み(Embedding)や、命令列の編集距離(Levenshtein距離)を計算する「Coddog」などの手法が併用されている。
- LLMの限界: ディスプレイリストの動的な生成や複雑なビット演算など、コンパイラによる最適化が激しい箇所では、依然として手動の介入が必要であり、進捗が頭打ちになる傾向がある。
🦈 サメの眼(キュレーターの視点)
LLMに「過去の正解例」を文脈として与えるRAG的なアプローチが、リバースエンジニアリングでも極めて有効だと証明されたサメ!特に、関数の類似度を数値化して「Claudeが解きやすい順番」にキューを並べ替える実装が非常に具体的で面白いサメ。これまで人間が何年もかけて手作業でやってきた「コードのパターン認識」を、埋め込みベクトル検索が代替しつつあるのは、レトロゲーム保存の歴史において画期的な一歩だと思うサメ!
🚀 これからどうなる?
今回の手法で75%までは到達したが、残りの「ロングテール(難解な部分)」には更なる専用ツールや、より高度な推論モデルが必要になると予想される。しかし、類似検索の自動化により、他のN64タイトルのデコンパイルもこれまで以上に加速するはずだサメ!
💬 はるサメ視点の一言
コードの海で似た魚(関数)を探してClaudeに食べさせる、まさにサメ的な狩りの手法だサメ!完遂まであと一息、応援してるサメ!🦈🔥
📚 用語解説
-
デコンパイル: 機械語(バイナリ)を人間が読めるプログラミング言語(C言語など)に変換し直す技術。
-
埋め込みベクトル: テキストやコードを多次元の数値リストとして表現し、内容の「意味的な近さ」を計算可能にする技術。
-
ディスプレイリスト: N64の画像処理チップに送るグラフィック命令のリスト。動的に生成されるため解析が非常に難しい。