まとめ: ストリップされたバイナリの正確で頑丈な分解は堅牢です。 問題の根源は、命令と操作の境界に似た高レベルの構造が、削除されたバイナリには存在せず、不完全なファイルごとに復元できることです。 現代の逆アセンブル アプローチは、ヒューリスティックまたは簡単なパターン マッチングに依存して回復を概算しますが、これらの方法は段階的に不適切で脆弱であり、特にさまざまなコンパイラの最適化全体に適用されます。
XDA を繰り返します。XDA は、さまざまなコンテキストの依存関係がマシン コードで繰り返されることを学習し、この記録を事実に基づいて確実に転送する基本ベースの逆アセンブリ フレームワークです。分解。 バイナリ内のバイトシーケンス間の相互作用を学習するために、マスクされた言語モデリングによって動機付けられた自己監視型の発見ジョブを構築します。 このジョブからの出力は、入力バイナリのバイト トークン間の洗練されたコンテキスト依存関係をエンコードするバイト埋め込みであり、その後、ダウンストリームの逆アセンブリ タスク用に微調整されます。
SPEC CPU2017、SPEC CPU2006、および BAP コーパス。 バイナリは、4 つの最適化範囲にわたって、x86/x64 住居ウィンドウおよび Linux プラットフォームで GCC、ICC、および MSVC によってコンパイルされます。 XDA は、操作境界と命令の改善でそれぞれ 99.0% と 99.7% の F1 ランキングを達成し、両方のタスクで以前の芸術ブームを上回りました。 また、最速の ML-basically ベースの潜在能力と同等のテンポを維持し、手書きの逆アセンブラーが派手な IDA Pro よりも 38 倍も高速です。
こちらのhttps URLにてXDAのコードを公開しております。