論文の概要: Practical Source Code Recovery from Binary Functions Using Anchor-Based Retrieval and LLM Reasoning
- arxiv url: http://arxiv.org/abs/2607.09452v1
- Date: Fri, 10 Jul 2026 14:22:30 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-07-13 14:47:12.861245
- Title: Practical Source Code Recovery from Binary Functions Using Anchor-Based Retrieval and LLM Reasoning
- Title(参考訳): Anchor-based Retrieval と LLM Reasoning を用いたバイナリ関数からの実用的なソースコード復元
- Abstract要約: 削除されたバイナリ関数からソースコードを復元する実用的なパイプラインを提案する。
本手法はソースコードデータベースからソース関数を抽出する手法である。
- 参考スコア(独自算出の注目度): 3.9488518969307305
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: We present a practical pipeline for recovering source code from stripped binary functions by combining reverse engineering, anchor-based source code retrieval, and large language model reasoning. Our binary-to-source-code retrieval method attempts to identify the source function from a source code database, rather than generating approximate decompiled pseudocode. It extracts anchors such as strings, constants, external calls, and available function names using Ghidra, retrieves candidate files via an inverted-index search database, narrows candidates to likely function snippets, and re-ranks them with a large language model (LLM) based on disassembly, decompiled code, and source metadata. Confident matches can also serve as anchors in later passes. In an evaluation backed by our high-fidelity source code database on a stripped, optimized tcpdump binary, our proposed binary-to-source matching method achieves 95.2% assembly instruction coverage. Experiments on a GitHub-based retrieval database showed lower performance with 35.5% instruction coverage on average, mainly due to retrieval misses. These results show that source-level binary recovery excels with high-quality databases and remains a useful tool in noisy environments.
- Abstract(参考訳): 本稿では,逆エンジニアリング,アンカーベースソースコード検索,大規模言語モデル推論を組み合わせることで,削除されたバイナリ関数からソースコードを復元する実用的なパイプラインを提案する。
我々のバイナリからソースへの検索手法は、ソースコードデータベースからソース関数を識別しようと試み、近似逆コンパイルされた擬似コードを生成する。
文字列、定数、外部呼び出し、利用可能な関数名などのアンカーをGhidraを使って抽出し、逆インデックス検索データベース経由で候補ファイルを検索し、候補ファイルをスニペットに絞り込み、分解、逆コンパイルされたコード、ソースメタデータに基づいて大きな言語モデル(LLM)で再ランクする。
試合は後続のパスでアンカーとしても機能する。
最適化されたtcpdumpバイナリ上での高忠実度ソースコードデータベースによる評価において,提案手法は95.2%の組立命令カバレッジを実現する。
GitHubベースの検索データベースの実験では、主に検索ミスのため、平均35.5%の命令カバレッジでパフォーマンスが低下した。
これらの結果から, ソースレベルのバイナリリカバリは高品質なデータベースに優れ, ノイズの多い環境でも有用なツールであることが示唆された。
関連論文リスト
- SBridge: Identifying Source-to-Binary Function Similarity via Cross-Domain Control Block Matching [3.905466484594527]
SBridgeは、与えられたソースコード関数に類似したバイナリ内の関数を正確に識別するためのアプローチである。
評価のために,BinKitから実世界のC/C++バイナリを3,904個収集した。
論文 参考訳(メタデータ) (2026-06-26T13:03:43Z) - Decaf: Improving Neural Decompilation with Automatic Feedback and Search [64.02615739798277]
高レベルな構文、識別子、カスタムデータ型は一般的に失われ、コンパイラは人間可読なコードを低レベルなマシンコードに変換する。
生成AIモデルは、ハイレベルな構文、識別子、型を再構築するのに自然なものだ。
コンパイラフィードバックは,サーチによるニューラルデコンパイラ出力のセマンティックな正当性の向上に有効である,と我々は主張する。
論文 参考訳(メタデータ) (2026-05-12T04:21:26Z) - AlignCoder: Aligning Retrieval with Target Intent for Repository-Level Code Completion [55.21541958868449]
リポジトリレベルのコード補完フレームワークであるAlignCoderを提案する。
我々のフレームワークは、初期クエリとターゲットコードのセマンティックギャップを橋渡しする拡張クエリを生成する。
我々は、拡張クエリにおける推論情報を活用してより正確な検索を行うAlignRetrieverのトレーニングに強化学習を採用する。
論文 参考訳(メタデータ) (2026-01-27T15:23:14Z) - Cross-modal Retrieval Models for Stripped Binary Analysis [62.89251403093734]
BinSeekは、取り除かれたバイナリコード分析のための最初の2段階のクロスモーダル検索フレームワークである。
BinSeekEmbeddingは、バイナリコードのセマンティックな関連性を学ぶために、大規模なデータセットでトレーニングされている。
BinSeek-Rerankerは、コンテキスト拡張による記述に対する候補コードの関連性を慎重に判断することを学ぶ。
論文 参考訳(メタデータ) (2025-12-11T07:58:10Z) - SALT4Decompile: Inferring Source-level Abstract Logic Tree for LLM-Based Binary Decompilation [17.58664677898224]
Saltmはバイナリとソースコードの間の安定した論理的特徴を抽象化する新しいバイナリ逆コンパイル法である。
Saltmはソースコードのロジックを回復するのに非常に効果的で、最先端のメソッドよりもはるかに優れている。
論文 参考訳(メタデータ) (2025-09-18T05:57:15Z) - Decompile-Bench: Million-Scale Binary-Source Function Pairs for Real-World Binary Decompilation [18.28488002922524]
Decompile-Benchは、収集された1億の関数ペアから凝縮された200万のバイナリソース関数ペアからなる、最初のオープンソースデータセットである。
評価のために、よく確立されたHumanEvalとMBPPから手作業で作成したバイナリを含むDecompile-Bench-Evalのベンチマークを開発した。
Decompile-Benchによる微調整は、再実行可能性率の観点から、以前のベンチマークよりも20%改善されていることが分かりました。
論文 参考訳(メタデータ) (2025-05-19T03:34:33Z) - An Empirical Study on the Effectiveness of Large Language Models for Binary Code Understanding [50.17907898478795]
本研究では,現実のリバースエンジニアリングシナリオにおけるLarge Language Models(LLM)の有効性を評価するためのベンチマークを提案する。
評価の結果、既存のLLMはバイナリコードをある程度理解でき、それによってバイナリコード解析の効率が向上することが明らかとなった。
論文 参考訳(メタデータ) (2025-04-30T17:02:06Z) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Extending Source Code Pre-Trained Language Models to Summarise
Decompiled Binaries [4.0484792045035505]
ソースコードの事前訓練済み言語モデルを拡張して、逆コンパイルされたバイナリ関数を要約する。
このようなモデルの性能に及ぼす入力特性とデータ特性の影響について検討する。
BinT5は最先端のBLEU-4スコアを60.83、58.82、44.21で達成し、ソースを要約し、逆コンパイルし、合成的に削除した。
論文 参考訳(メタデータ) (2023-01-04T16:56:33Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。