分享自:

利用大型语言模型优化反编译器输出的DEGPT框架

期刊:network and distributed system security (NDSS) symposiumDOI:10.14722/ndss.2024.24401

本文档属于类型a,即报告一项原创性研究的学术论文。以下是针对该研究的详细学术报告:


一、作者与发表信息
本研究由Peiwei Hu(胡沛薇)、Ruigang Liang(梁瑞刚)和Kai Chen(陈恺)共同完成,作者单位为中国科学院信息工程研究所和中国科学院大学网络安全学院。论文标题为《DeGPT: Optimizing Decompiler Output with LLM》,发表于2024年2月26日至3月1日举办的网络与分布式系统安全研讨会(NDSS Symposium 2024),DOI编号为10.14722/ndss.2024.24401。

二、学术背景
1. 研究领域:该研究属于软件逆向工程(reverse engineering)与人工智能交叉领域,聚焦于通过大语言模型(LLM, Large Language Model)优化反编译器(decompiler)输出的可读性。
2. 研究动机:现有反编译器(如Ghidra、Hex-Rays)生成的代码存在变量名无意义、冗余结构、缺乏注释等问题,增加了逆向工程师的分析负担。传统方法依赖大规模数据集训练,但面对未见过的二进制文件时性能显著下降。
3. 研究目标:提出DeGPT框架,利用LLM的通用能力优化反编译器输出,提升代码可读性,同时确保功能语义(function semantics)不变。

三、研究方法与流程
1. 核心框架设计
- 三角色机制(Three-Role Mechanism)
- Referee (R_ref):判断是否需要结构简化、变量重命名或添加注释,生成优化方案。
- Advisor (R_adv):根据R_ref的方案,通过LLM生成具体优化建议(如变量名替换、代码简化)。
- Operator (R_ope):通过微片段语义计算(MSSC, Micro Snippet Semantic Calculation)验证优化后的代码是否保持原始语义,决定是否接受修改。
- MSSC算法:通过符号值模拟执行路径,对比优化前后代码的返回值和非局部变量变化,确保语义一致性,准确率达84%,召回率85%。

  1. 实验设计与数据集

    • 数据集:包含620组反编译器输出(来自非剥离和剥离二进制文件),涵盖LeetCode算法、Coreutils命令行工具、Mirai物联网病毒和Audioflux音频库。
    • 评估指标
      • MVR(Meaningful Variable Ratio):衡量变量重命名与源代码的匹配率(平均30.3%)。
      • ER(Effort Ratio):认知负担降低24.4%。
      • CR/NR(Correct/Non-trivial Rate of Comments):62.9%的注释具有实际语义价值。
    • 对比实验:与当前最先进的变量重命名工具DIRTY相比,DeGPT的MVR提升2.7倍(30.3% vs 11.1%)。
  2. 技术实现

    • LLM选择:基于ChatGPT(GPT-3.5-turbo),因其API稳定性和多任务支持能力。
    • 程序分析工具:使用Tree-Sitter生成的C语言解析器Cinspector分析反编译器输出。

四、主要结果
1. 优化效果
- 结构简化:三角色机制使优化频率提升2.5倍,21.9%的简化建议因语义改变被MSSC过滤。
- 变量重命名:ONR(Optimized Name Ratio)达92.4%,显著高于单次提示实验(57.0%)。
- 注释添加:99.6%的建议被接受,非平凡注释占比62.9%。
2. 用户研究:12名参与者(分专业、中级、初级组)评估显示,优化后代码的可读性评分提升(Q5平均8.5分),专业组对注释冗余的反馈需进一步优化。

五、结论与价值
1. 科学价值
- 首次提出将LLM与程序分析结合优化反编译器输出的框架,解决了传统方法对训练数据依赖的局限性。
- MSSC为生成式模型的输出可靠性验证提供了新思路。
2. 应用价值
- 显著降低逆向工程认知负担,适用于恶意软件分析、漏洞挖掘等领域。
- 开源地址:https://github.com/peiweihu/degpt

六、研究亮点
1. 方法论创新:三角色机制分阶段释放LLM潜力,相比单次提示性能提升3.1倍。
2. 跨领域融合:将程序分析(如符号执行)与LLM的生成能力结合,兼顾可读性与语义保真。
3. 泛化能力:在ChatGPT未训练过的代码库(如Audioflux)上仍表现稳定。

七、其他发现
- 编译器优化级别(O0-O3)对DeGPT性能影响不显著。
- GPT-4与GPT-3.5-turbo在优化任务中无显著优势,表明框架可适配多种LLM。


该研究为逆向工程领域提供了高效、可扩展的自动化优化工具,其方法论对AI辅助代码生成与验证具有广泛启示。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com