著者らは、逆コンパイル、アンカーベースの検索、大規模言語モデルの推論を組み合わせることで、ストリップされたバイナリ関数からソースコードを回復するパイプラインを発表しました。

  • この手法は、デコンパイルされた擬似コードを生成するのではなく、データベースからソース関数を特定します。
  • 文字列、定数、外部呼び出し、関数名などのアンカーがGhidraを使用して抽出されます。
  • 候補者は逆インデックス検索によって取得され、逆アセンブリとメタデータに基づいてLLMによって再ランク付けされます。

高忠実度のデータベースを持つストリップされたtcpdumpバイナリにおいて、この手法は95.2%のアセンブリ命令カバレッジを達成しました。

GitHubベースのデータベースでの実験では、検索ミスにより平均命令カバレッジが35.5%と低いパフォーマンスを示しました。

結果は、高品質なデータベースによってサポートされる場合、ソースレベルのバイナリ回復が効果的であることを示しています。