draxinar、1998 年版 Ultima Online サーバーをリバースエンジニアリング──C99 移植の OSS ライブラリ `ouo` を公開
10 年越しの個人プロジェクトが LLM の支援で完結。約 5,000 個の関数を x86 バイナリから C99 へ命令レベルで忠実に復元し、黎明期 MMORPG の内部構造を再現した。
リリース: 2026-05-01 · 読了 4 分何が起きた
1998年9月2日版の `UoDemo.exe` から、約 5,000 個の関数を C99 へ手動および LLM 支援で翻訳し公開した。
MSVC 5.0 (Visual Studio 97) でコンパイルされた x86 バイナリを `radare2` で解析し、命令レベルの同一性を検証済み。
10 年間断続的に進められていたプロジェクトだが、近年の LLM の進化により未完了だった複雑な関数の翻訳が完遂された。
CEntity から CPlayer に至る 6 階層のクラス継承や、vtable による仮想関数ディスパッチの構造を完全に特定している。
なぜ重要
LLM を活用したレガシーバイナリの近代化プロセスの実例として、大規模な C++ プロジェクトの復元における LLM の実用性が証明された。
👁️ 開発者
バイナリ解析やエミュレータ開発に従事するエンジニアは、LLM を「命令レベルの整合性チェック」に組み込むことで、手動では数十年かかるリバースエンジニアリングの完遂率を劇的に高められる。
🇯🇵 日本
国内のレガシーゲーム資産を抱える大手ゲーム開発会社やデジタルアーカイブ組織は、ソースコード紛失時の復元手段として LLM 併用のリバースエンジニアリングを検討する段階にある。