論文の概要: ReF Decompile: Relabeling and Function Call Enhanced Decompile
- arxiv url: http://arxiv.org/abs/2502.12221v1
- Date: Mon, 17 Feb 2025 12:38:57 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-19 14:07:52.768624
- Title: ReF Decompile: Relabeling and Function Call Enhanced Decompile
- Title(参考訳): ReF Decompile: Relabeling and Function Call Enhanced Decompile
- Authors: Yunlong Feng, Bohan Li, Xiaoming Shi, Qingfu Zhu, Wanxiang Che,
- Abstract要約: 逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
- 参考スコア(独自算出の注目度): 50.86228893636785
- License:
- Abstract: The goal of decompilation is to convert compiled low-level code (e.g., assembly code) back into high-level programming languages, enabling analysis in scenarios where source code is unavailable. This task supports various reverse engineering applications, such as vulnerability identification, malware analysis, and legacy software migration. The end-to-end decompile method based on large langauge models (LLMs) reduces reliance on additional tools and minimizes manual intervention due to its inherent properties. However, previous end-to-end methods often lose critical information necessary for reconstructing control flow structures and variables when processing binary files, making it challenging to accurately recover the program's logic. To address these issues, we propose the \textbf{ReF Decompile} method, which incorporates the following innovations: (1) The Relabelling strategy replaces jump target addresses with labels, preserving control flow clarity. (2) The Function Call strategy infers variable types and retrieves missing variable information from binary files. Experimental results on the Humaneval-Decompile Benchmark demonstrate that ReF Decompile surpasses comparable baselines and achieves state-of-the-art (SOTA) performance of $61.43\%$.
- Abstract(参考訳): 逆コンパイルの目標は、コンパイル済みの低レベルコード(アセンブリコードなど)を高レベルのプログラミング言語に変換することで、ソースコードが利用できないシナリオでの分析を可能にすることである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
大規模ランガウジュモデル(LLM)に基づくエンドツーエンドのデコンパイル手法は、追加ツールへの依存を低減し、固有の性質のため手動による介入を最小限にする。
しかし、従来のエンドツーエンドメソッドはバイナリファイルを処理する際に制御フロー構造や変数を再構築するために必要な重要な情報を失うことが多く、プログラムのロジックを正確に復元することは困難である。
これらの問題に対処するために,(1)リラベリング戦略は,ジャンプターゲットアドレスをラベルに置き換え,制御フローの明快さを保ちながら,以下のイノベーションを取り入れた「textbf{ReF Decompile}」手法を提案する。
2) 関数呼び出し戦略は変数の型を推測し、バイナリファイルから欠落した変数情報を検索する。
Humaneval-Decompile Benchmarkの実験結果は、ReF Decompileが同等のベースラインを超え、最先端(SOTA)のパフォーマンスを61.43\%で達成していることを示している。
関連論文リスト
- Enhancing Reverse Engineering: Investigating and Benchmarking Large Language Models for Vulnerability Analysis in Decompiled Binaries [2.696054049278301]
新しくコンパイルされたバイナリコード脆弱性データセットであるDeBinVulを紹介します。
DeBinVulを使って最先端のLLMを微調整し、バイナリコード脆弱性の検出においてパフォーマンスが19%、24%、21%向上したことを報告します。
論文 参考訳(メタデータ) (2024-11-07T18:54:31Z) - STRIDE: Simple Type Recognition In Decompiled Executables [16.767295743254458]
そこで本研究では,デコンパイラトークンのシーケンスをトレーニングデータと一致させることで,変数名や型を予測する手法STRIDEを提案する。
3つのベンチマークデータセットで評価した結果、STRIDEは可変リタイピングとリネームの両方において、最先端の機械学習モデルに匹敵するパフォーマンスを実現していることがわかった。
論文 参考訳(メタデータ) (2024-07-03T01:09:41Z) - Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement [43.2637367483626]
逆コンパイルは、ソースコードが利用できない場合、コンパイルされたコードをハイレベルなプログラミング言語に変換する。
これまでの研究は主に、モデルパラメータのスケールや事前トレーニングのためのトレーニングデータを増やすことで、デコンパイル性能の向上に重点を置いてきた。
これら2つの手法を統合することで、Decompile-Evalベンチマークで約3.90%の再実行可能性向上を実現し、新しい最先端性能52.41%を確立した。
論文 参考訳(メタデータ) (2024-06-25T02:37:53Z) - Investigating the Transferability of Code Repair for Low-Resource Programming Languages [57.62712191540067]
大規模言語モデル(LLM)は、コード生成タスクにおいて顕著なパフォーマンスを示している。
近年の作業は、連鎖推論や蒸留といった現代的な技術を統合することで、コード修復のプロセスを強化している。
高低資源言語と低低資源言語の両方でコード修復を蒸留する利点について検討する。
論文 参考訳(メタデータ) (2024-06-21T05:05:39Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Revisiting Deep Learning for Variable Type Recovery [3.075963833361584]
DIRTYはトランスフォーマーベースのデコーダアーキテクチャで、変数名と型でデコンパイルされたコードを拡張することができる。
我々は、オープンソースのGhidraデコンパイラによって生成されたデータセット上で、DIRTYモデルを再学習することで、元のDIRTY結果を拡張する。
論文 参考訳(メタデータ) (2023-04-07T22:28:28Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。