# 释放生成式模型在剥离符号二进制变量名恢复中的能力

> GenNm 通过微调生成式代码模型（默认 CodeGemma-2B，另测试 CodeLlama-7B 及经 LoRA 微调的 CodeLlama-34B），为剥离符号二进制反编译代码中的占位变量建议名称。查询会加入沿调用图传播、已重命名的调用者代码与被调用者签名；类 DPO 的符号偏好优化（SymPO）抑制模型偏向训练集中高频名称，基于数据流的名称验证步骤则在多轮迭代中从候选名称里选择。作者报告，在重建的 DIRTY 与 VarCorpus 数据集上，其精确率比 VarBERT 和 ReSym 高 5.6–11.4 个百分点；对训练中未出现的名称，精确率为 22.8%，最强基线为 17.3%。

- 作者：Xiangzhe Xu; Zhuo Zhang; Zian Su; Ziyang Huang; Shiwei Feng; Yapeng Ye; Nan Jiang; Danning Xie; Siyuan Cheng; Lin Tan; Xiangyu Zhang
- 原标题：Unleashing the Power of Generative Model in Recovering Variable Names from Stripped Binary
- 发表载体：NDSS 2025
- 发表状态：会议论文
- 出版／提交日期：2025 年（具体日期未核实）
- 日期依据：NDSS 官方论文与出版方提交的 Crossref 元数据确认出版年份为 2025；会议日期与各 arXiv 版本日期不能据此推定具体出版日。
- arXiv 首次提交：2023 年 6 月 5 日
- arXiv：2306.02546
- 已复核的 arXiv 版本：v4
- DOI：10.14722/ndss.2025.240276
- 来源复核于：2026-10-18
- 收录于：2026-10-19
- 原始论文：<https://www.ndss-symposium.org/ndss-paper/unleashing-the-power-of-generative-model-in-recovering-variable-names-from-stripped-binary/>
- PDF：<https://www.ndss-symposium.org/wp-content/uploads/2025-276-paper.pdf>
- 代码：<https://github.com/XZ-X/gennm-ndss-ae/tree/9955139b4c8d43144852a674bf317cbfaf32ed17>
- BibTeX：<https://awesomerea.org/papers/citations/paper-gennm.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-gennm/>
- 记录 JSON：<https://awesomerea.org/papers/paper-gennm/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-gennm/index.md)

## 研究范围与局限

预测结果依据调试符号中的名称评分：一方面借助 SymLM 的词簇与规则进行词元匹配，另一方面由 GPT-4 评估器判断上下文相关性与语义准确性；两者都不能说明输出就是原始标识符，按二进制划分时整体精确率为 35.8%（DIRTY）和 41.2%（VarCorpus）。对训练中未出现的项目，精确率约为 30%，在 -O2 与 -O3 下的提升也较小。真实标签来自由 GitHub 项目或 Gentoo 软件包重建的 Linux 二进制文件中的调试信息，论文示例使用 IDA Pro 输出。GenNm 需要每个二进制的调用图，这也是重建 DIRTY 数据集的原因；VarCorpus 按函数划分的结果只使用 15% 的二进制样本，与黑盒 GPT-3.5／GPT-4 的比较使用 1,000 个抽样函数。它只恢复变量名，不恢复类型、函数名或完整的反编译代码。

## 与本合集的关联

补充结合调用图上下文、并专门处理名称频率偏差的生成式变量名恢复方法，延续了本节的学习式命名研究。

## 发表与复核说明

本条目采用 NDSS 标题，并按 NDSS 论文顺序列出 11 位作者，与 Crossref 一致；Crossref 仅给出 2025 年，未列页码。arXiv 记录先后使用过三个标题。2023-06-05 的 v1 题为“LmPa: Improving Decompilation by Synergy of Large Language Model and Program Analysis”，列出九位作者，不含 Ziyang Huang 与 Danning Xie；该标题将工作表述为泛化的反编译改进，但其摘要已聚焦变量名恢复。2024-05-01 的 v2 题为“Leveraging Generative Models to Recover Variable Names from Stripped Binary”。2024-07-20 的 v3 与 2024-12-09 的 v4 列出 NDSS 的 11 位作者，题为“Symbol Preference Aware Generative Models for Recovering Variable Names from Stripped Binary”；NDSS 论文将实现细节留给这一扩展版本。论文将产物引用为 Zenodo 10.5281/zenodo.14220042，即概念 DOI 10.5281/zenodo.14220041（与 README 徽章一致）下的 v1.0 代码快照。所审阅的 2026-01-29 仓库提交采用 MIT 许可，Zenodo 记录 14287032 提供 9.8 GB、采用 CC-BY-4.0 的数据包，内含中间结果与模型检查点。README 要求 Ubuntu 20.04+、带 vllm 0.5.3.post1 的 Python 3.10，推理至少需要 24 GB 显存，训练建议 96 GB。

## 一手来源

1. <https://www.ndss-symposium.org/ndss-paper/unleashing-the-power-of-generative-model-in-recovering-variable-names-from-stripped-binary/>
2. <https://www.ndss-symposium.org/wp-content/uploads/2025-276-paper.pdf>
3. <https://api.crossref.org/works/10.14722/ndss.2025.240276>
4. <https://arxiv.org/abs/2306.02546v1>
5. <https://arxiv.org/abs/2306.02546v2>
6. <https://arxiv.org/abs/2306.02546v4>
7. <https://github.com/XZ-X/gennm-ndss-ae/blob/9955139b4c8d43144852a674bf317cbfaf32ed17/README.md>
8. <https://github.com/XZ-X/gennm-ndss-ae/blob/9955139b4c8d43144852a674bf317cbfaf32ed17/LICENSE>
9. <https://github.com/XZ-X/gennm-ndss-ae/blob/9955139b4c8d43144852a674bf317cbfaf32ed17/requirements.txt>
10. <https://zenodo.org/api/records/14220042>
11. <https://zenodo.org/api/records/14287032>

## 关于此条目

已依据论文及一手来源复核。请通过原始论文或 BibTeX 引用原作者。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
