# 探索大语言模型在代码去混淆中的潜力

> 研究将大语言模型用作源码到源码的去混淆器，处理经 Tigress 混淆器保护的 C 函数。研究从 ExeBench 选取函数并随机化标识符，再施加五种变换：MBA 算术编码、分支编码、控制流平坦化、不透明谓词和参数随机化。模型每次读入一个完整的混淆函数并输出简化后的 C 代码。DeepSeek Coder 6.7B 与 Code Llama 7B 在“混淆—原始”代码对上微调，GPT-4 通过提示使用，Clang 的 -O0 至 -O3 优化则作为编译器基线。简化效果以 Halstead 程序长度相对于原始代码与混淆代码的变化衡量，语法正确性通过编译 ExeBench 包装程序检查，语义正确性则用 ExeBench 输入／输出样例检查。微调模型在每种变换上降低复杂度的幅度都大于 GPT-4，除算术编码和参数随机化（Clang 与之相当）外也大于 Clang。模型在最多五个变换组成的链上训练，在六个和七个变换的链上得分仍保持稳定；最佳模型在最困难场景中平均将 Halstead 程序长度缩减 89.21%。随机化常量的记忆测试只发现一个样本复现了记忆中的代码。

- 作者：David Beste; Grégoire Menguy; Hossein Hajipour; Mario Fritz; Antonio Emanuele Cinà; Sébastien Bardin; Thorsten Holz; Thorsten Eisenhofer; Lea Schönherr
- 原标题：Exploring the Potential of LLMs for Code Deobfuscation
- 发表载体：DIMVA 2025
- 发表状态：会议论文
- 出版／提交日期：2025 年 7 月 10 日
- 日期依据：Springer 提交的 Crossref 元数据将首次在线出版日期列为 2025-07-10，处于 7 月 9–11 日会议期间；其纸质出版与发布日期只给出年份。本条目采用出版方的在线出版日期，不依据会议日程或之后的 CISPA 存储库日期。
- DOI：10.1007/978-3-031-97620-9_15
- 来源复核于：2026-10-19
- 收录于：2026-10-28
- 原始论文：<https://doi.org/10.1007/978-3-031-97620-9_15>
- PDF：<https://ndownloader.figshare.com/files/65792754>
- 代码：<https://github.com/DavidBeste/llm-code-deobfuscation>
- BibTeX：<https://awesomerea.org/papers/citations/paper-llm-code-deobfuscation.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-llm-code-deobfuscation/>
- 记录 JSON：<https://awesomerea.org/papers/paper-llm-code-deobfuscation/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-llm-code-deobfuscation/index.md)

## 研究范围与局限

混淆使用 Tigress（发布脚本中为 3.3.3 版），以源码到源码的方式作用于单个 C 函数。研究未评估已编译二进制、反编译器输出、商业保护器、跨过程混淆、基于虚拟机的加壳或自修改代码；作者仅指出可通过反编译从二进制得到近似的 C 代码。这是源码级简化，并非二进制去混淆或虚拟机去虚拟化。语义正确性是主要短板：在单一变换场景中，微调模型保持行为的样本比例为 50% 至 94.5%，大多低于 GPT-4，除分支编码外也低于 Clang，并且随着变换链变长而下降。复杂度得分只统计语法与语义均正确的样本。行为通过 ExeBench 输入／输出样例检查，而非等价性证明；输入受 6,144 个词元的上下文限制，模型微调时还使用了 8 位量化。研究只使用一种混淆器，因此对其他混淆器、版本、机器码或字节码的泛化仍待验证；基线是 GPT-4 与 Clang，而非专用去混淆工具。

## 与本合集的关联

补充利用微调代码大语言模型对受保护 C 代码进行源码级去混淆的研究，与书目中的 JavaScript（JsDeObsBench、CASCADE）和 Android（DeGuard）去混淆论文以及本节的大语言模型反编译研究互补。

## 发表与复核说明

Springer 提交的 Crossref 元数据列出第 22 届 DIMVA（格拉茨，2025 年 7 月 9–11 日）的 Lecture Notes in Computer Science 论文集、第 267–286 页，以及与 PDF 署名顺序一致的九位作者。Springer 页面对自动请求返回浏览器验证，因此本次审阅依据 Crossref，以及 CISPA 存储库记录 10.60882/cispa.32771220.v1 中的开放获取 PDF（CC BY 4.0，2026-06-23 存入）。该记录与 CISPA 出版物页面将作者写作“Antonio Emanuele”和“Sébastian Bardin”；本条目的作者姓名以 Crossref 和 PDF 为准。以 Beste 为作者、标题含 deobfuscation 的 arXiv API 检索没有结果。PDF 链接 DavidBeste/llm-code-deobfuscation，审阅的提交为 00c9c45（2026-02-27），该提交在论文发表后才加入 MIT LICENSE。其 README 链接数据集 10.5281/zenodo.15831457（2025-07-10，CC BY 4.0，17 MB 的 deobfuscation_dataset.zip）；该数据集 DOI 不用作论文标识符。脚本调用另行安装的 Tigress 3.3.3，从 Hugging Face 加载 ExeBench，并通过 OpenAI API 调用 GPT-4（README 示例中为 gpt-4-32k-0314）；requirements.txt 固定了 clang 14.0 与 torch 2.4.1，但 peft 和 transformers 各列出两个相互冲突的版本。

## 一手来源

1. <https://doi.org/10.1007/978-3-031-97620-9_15>
2. <https://api.crossref.org/works/10.1007/978-3-031-97620-9_15>
3. <https://ndownloader.figshare.com/files/65792754>
4. <https://publications.cispa.de/articles/conference_contribution/Exploring_the_Potential_of_LLMs_for_Code_Deobfuscation/32771220>
5. <https://cispa.de/en/research/publications/84747-exploring-the-potential-of-llms-for-code-deobfuscation>
6. <https://github.com/DavidBeste/llm-code-deobfuscation/blob/00c9c4581403187e964ffec42d315114bccf5125/README.md>
7. <https://github.com/DavidBeste/llm-code-deobfuscation/blob/00c9c4581403187e964ffec42d315114bccf5125/LICENSE>
8. <https://github.com/DavidBeste/llm-code-deobfuscation/blob/00c9c4581403187e964ffec42d315114bccf5125/requirements.txt>
9. <https://github.com/DavidBeste/llm-code-deobfuscation/blob/00c9c4581403187e964ffec42d315114bccf5125/single_transformations/eval/create_eval_data_single.py>
10. <https://zenodo.org/records/15831457>

## 关于此条目

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