Decompile-Bench:面向真实世界二进制反编译的百万级二进制-源代码函数对
摘要
Decompile-Bench 是一个大规模开源数据集,提供两百万个二进制-源代码函数对,用于改进基于 LLM 的二进制反编译,并附带一个用于评估的基准(Decompile-Bench-Eval)。使用它进行微调,在可重新执行性方面比之前的基准提升了 20%。
查看缓存全文
缓存时间: 2026/08/04 07:32
论文页面 - Decompile-Bench:用于真实世界二进制反编译的百万级二进制-源码函数对
来源:https://huggingface.co/papers/2505.12668 发布于 2025 年 5 月 19 日
摘要
Decompile-Bench 是一个大规模开源数据集,通过提供两百万个二进制-源码函数对和一个评估基准,提高了 LLM 反编译的准确性。近期,基于 LLM 的反编译器(https://huggingface.co/papers?q=LLM-based%20decompilers)已被证明能有效地将底层二进制文件转换为人类可读的源代码。然而,目前仍缺乏一个提供大规模二进制-源码函数对的综合基准,而这对于推进 LLM 反编译技术至关重要。创建准确的二进制-源码映射会引发严重问题,原因在于复杂的编译设置(https://huggingface.co/papers?q=compilation%20settings)和普遍存在的函数内联(https://huggingface.co/papers?q=function%20inlining)会模糊二进制文件与其原始源代码之间的对应关系。以往的工作要么依赖于所使用的竞赛式基准,要么依赖于与现实世界映射差异显著的合成二进制-源码映射,要么仅通过代码行或变量名部分匹配二进制文件,这些都削弱了分析二进制功能的有效性。为缓解这些问题,我们引入了 Decompile-Bench(https://huggingface.co/papers?q=Decompile-Bench),这是首个开源数据集,包含从 1 亿个收集的函数对中提炼出的两百万个二进制-源码函数对(https://huggingface.co/papers?q=binary-source%20function%20pairs),即 450GB 的二进制文件,这些文件编译自已采用宽松许可证的 GitHub 项目。出于评估目的,我们还开发了一个基准 Decompile-Bench-Eval(https://huggingface.co/papers?q=Decompile-Bench-Eval),其中包含来自成熟基准 HumanEval(https://huggingface.co/papers?q=HumanEval)和 MBPP(https://huggingface.co/papers?q=MBPP)的手工构造二进制文件,以及 2025 年之后发布的编译 GitHub 仓库,以缓解数据泄漏问题。我们进一步探索了常用的评估指标,以对所研究的 LLM 反编译器进行全面评估,并发现使用 Decompile-Bench(https://huggingface.co/papers?q=Decompile-Bench)进行微调,在可重新执行率(https://huggingface.co/papers?q=re-executability%20rate)方面比之前的基准提高了 20%。我们的代码和数据已发布在 HuggingFace 和 Github 上。https://github.com/albertan017/LLM4Decompile
查看 arXiv 页面 (https://arxiv.org/abs/2505.12668) 查看 PDF (https://arxiv.org/pdf/2505.12668) GitHub 6.89k (https://github.com/albertan017/LLM4Decompile) 添加到收藏 (https://huggingface.co/login?next=%2Fpapers%2F2505.12668)
在你的 Agent 中获取此论文:
hf papers read 2505\.12668
还没有最新的 CLI?curl \-LsSf https://hf\.co/cli/install\.sh \| bash
引用本论文的模型 0
尚无模型链接本论文。
在模型 README.md 中引用 arxiv.org/abs/2505.12668,即可从此页面链接该模型。
引用本论文的数据集 0
尚无数据集链接本论文。
在数据集 README.md 中引用 arxiv.org/abs/2505.12668,即可从此页面链接该数据集。
引用本论文的 Spaces 0
尚无 Space 链接本论文。
在 Space README.md 中引用 arxiv.org/abs/2505.12668,即可从此页面链接该 Space。
包含本论文的收藏集 0
尚无收藏集包含本论文。
将此论文添加到收藏集(https://huggingface.co/new-collection)即可从此页面链接它。
相似文章
ProgramBench Vetted:从可运行二进制文件进行逆向工程
ProgramBench Vetted 是一个包含50个任务的基准,用于评估AI代理从可运行二进制文件重构程序的能力,旨在研究长上下文协调并为强化学习提供密集奖励。
REFORGE:一种评估LLM在反编译二进制函数命名中逆向工程能力的基准测试方法
REFORGE是一种新颖的基准测试管线,用于评估LLM的逆向工程能力,特别是针对反编译二进制函数命名,它解决了编译器优化下二进制到源代码对齐的可靠性问题。
ProgramBench(5分钟阅读)
ProgramBench 是一项全新的基准测试,用于评估 AI 智能体在无法获取源代码或反编译工具的情况下,仅凭编译后的二进制文件和文档重建完整软件项目的能力。
当 LLM 反编译器重编译得更多、保留得更少
论文指出 LLM 反编译器以可重编译性和重执行性作为主要指标时会产生误导:代码虽然能通过所有自带测试,却可能在其他合法输入上行为发散,甚至使已披露的漏洞悄然消失。作者提出 Decompile-Diverge 行为比较预言机,通过合成驱动程序和模糊测试语料检测行为差异,发现部分系统发散率高达 13%。
RepBench:将基准测试编译为大语言模型的能力表示
RepBench是一个基于基准测试的表示探测数据层,由13,427篇基准测试论文和353个公共数据集构建,生成涵盖94种能力的46,149条探测文本。它评估了能力向量在模型和读出方法之间的迁移。