2026 · 会议论文

Idioms:以明确定义的类型显著增强局部神经反编译的简单有效框架

Idioms: A Simple and Effective Framework for Turbo-Charging Local Neural Decompilation with Well-Defined Types

Idioms 微调代码语言模型,把单个目标函数的 Hex-Rays 输出转换为预测的原始 C 代码,并同时给出其中使用的用户自定义结构体、联合体和类型别名定义。输入可按调用图广度优先顺序附带相邻的反编译函数,使分散在调用者与被调用者中的类型线索能够提供给模型。作者还构建了 Realtype 数据集,包含来自已编译开源 C 仓库的 157,163 个函数及完整类型定义。其基于 CodeGemma-7b 的模型在 ExeBench 上有 54.4% 的函数通过单元测试,LLM4Decompile 为 46.3%,Nova 为 37.5%;在 Realtype 上的得分至少高出 95%。

研究范围与局限

这是局部、函数级的神经反编译:每次预测只覆盖一个目标函数及其类型定义,而非可编译的完整程序。评测使用来自 GitHub 开源项目的 x86-64 Linux gcc 二进制及 ExeBench 的“real”子集;O1–O3 构建禁用内联,且只保留在所有优化级别均能反编译的函数,使 Hex-Rays 与 Ghidra 测试集分别减少 21% 和 76%。ExeBench 单元测试是偏乐观的代理指标;Realtype 没有测试,因此以依赖图等价性及名称、类型的完全匹配作为偏保守的代理指标,且 Realtype 的用户自定义类型须所有字段(递归计算平均 17.6 个)均匹配才算正确。主要模型使用专有 Hex-Rays 的输出,上下文窗口为 2,048 或 4,096 个词元。预测的名称与类型属于统计推断,并非恢复的原始信息。仍可能存在来自 GitHub 的预训练数据泄漏,且未评估混淆代码和恶意软件。

与本合集的关联

补充借助过程间上下文、同时预测代码与用户自定义类型定义的神经反编译方法,并提供类型丰富的基准,与从汇编生成源码的模型及类型、符号恢复研究互补。

发表与复核详情

发表载体
NDSS 2026
发表状态
会议论文
出版/提交日期
2026 年(具体日期未核实)
日期依据
NDSS 官方论文与 Internet Society 提交的 Crossref 元数据确认出版年份为 2026;不以 2 月 23—27 日的研讨会日期作为出版日。
arXiv 首次提交
2025 年 2 月 6 日
arXiv
2502.04536
已复核的 arXiv 版本
v2
DOI
10.14722/ndss.2026.240795

NDSS 页面、最终 PDF 与 Crossref 的正式标题、三位作者顺序和 DOI 一致;Crossref 未列出页码。arXiv:2502.04536 的 v1(2025-02-06)题为《Idioms: Neural Decompilation With Joint Code and Type Prediction》,v2(2025-06-17)题为《Idioms: Neural Decompilation With Joint Code and Type Definition Prediction》;仓库 README 仍使用 v1 标题。论文链接 Zenodo 版本 DOI 10.5281/zenodo.15683630,README 则链接其概念 DOI 10.5281/zenodo.14797016;两者指向同一个 2025-06-17 发布的开放记录,约 11.8 GB,其中模型压缩包约 10.1 GB,Zenodo 元数据未注明许可证。所审阅的 2025-12-03 仓库快照没有许可证文件,GitHub 也未检测到许可证,因此本条目不认定任何开源许可证。其 env.yml 固定 Python 3.11、CUDA 12.1、transformers 4.46.3 与 peft 0.17.0;训练还需要在计算能力 7.0 及以上的 GPU 上使用 unsloth,构建数据集需在 Docker 中运行可能耗时数周的 GHCC 编译,主要反编译步骤需要 IDA Pro 的 Hex-Rays。ExeBench 测试在提供的 Docker 镜像中运行。本次未运行或下载代码、模型及数据集。

来源复核于

本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。

一手来源

  1. https://www.ndss-symposium.org/ndss-paper/idioms-a-simple-and-effective-framework-for-turbo-charging-local-neural-decompilation-with-well-defined-types/
  2. https://www.ndss-symposium.org/wp-content/uploads/2026-f795-paper.pdf
  3. https://api.crossref.org/works/10.14722/ndss.2026.240795
  4. https://arxiv.org/abs/2502.04536v1
  5. https://arxiv.org/abs/2502.04536v2
  6. README.md GitHub · squaresLab/idioms · 修订 d087912
  7. env.yml GitHub · squaresLab/idioms · 修订 d087912
  8. https://zenodo.org/records/15683630
  9. https://zenodo.org/api/records/15683630