著者らは、逆コンパイル、アンカーベースの検索、大規模言語モデルの推論を組み合わせることで、ストリップされたバイナリ関数からソースコードを回復するパイプラインを発表しました。
- この手法は、デコンパイルされた擬似コードを生成するのではなく、データベースからソース関数を特定します。
- 文字列、定数、外部呼び出し、関数名などのアンカーがGhidraを使用して抽出されます。
- 候補者は逆インデックス検索によって取得され、逆アセンブリとメタデータに基づいてLLMによって再ランク付けされます。
高忠実度のデータベースを持つストリップされたtcpdumpバイナリにおいて、この手法は95.2%のアセンブリ命令カバレッジを達成しました。
GitHubベースのデータベースでの実験では、検索ミスにより平均命令カバレッジが35.5%と低いパフォーマンスを示しました。
結果は、高品質なデータベースによってサポートされる場合、ソースレベルのバイナリ回復が効果的であることを示しています。