CoDe-R: Refining Decompiler Output with LLMs via Rationale Guidance and Adaptive Inference

📄 arXiv: 2604.12913v1 📥 PDF

作者: Qiang Zhang, Zhongnian Li

分类: cs.SE, cs.AI, cs.CR

发布日期: 2026-04-14

备注: 10 pages, 7 figures, 6 tables. Accepted by IJCNN 2026

🔗 代码/项目: GITHUB


💡 一句话要点

CoDe-R:通过LLM、理由引导和自适应推理改进反编译器输出,显著提升代码可执行性。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 反编译 大型语言模型 代码生成 语义理解 逆向工程

📋 核心要点

  1. 现有反编译方法在从二进制可执行文件中重建高级源代码时,面临语义信息丢失导致的逻辑错误和语义不对齐问题。
  2. CoDe-R框架通过理由引导的语义注入和动态双路径回退机制,增强模型对代码语义的理解和生成,提高反编译代码的可执行性。
  3. 实验结果表明,CoDe-R在HumanEval-Decompile基准测试上取得了显著的性能提升,尤其是在轻量级模型上达到了新的SOTA。

📝 摘要(中文)

本文提出了一种轻量级的两阶段代码改进框架CoDe-R,旨在利用大型语言模型(LLM)改进反编译器输出。针对编译过程中不可逆的语义损失导致的“逻辑幻觉”和“语义不对齐”问题,CoDe-R首先引入语义认知增强(SCE),这是一种理由引导的语义注入策略,训练模型恢复高级算法意图和代码。其次,引入动态双路径回退(DDPF)机制,在推理过程中自适应地平衡语义恢复和语法稳定性。在HumanEval-Decompile基准测试上的评估表明,CoDe-R(使用1.3B参数的backbone)在轻量级模型中建立了新的SOTA,是第一个平均可重新执行率超过50.00%的1.3B模型,显著优于基线,有效弥合了高效模型和专家级性能之间的差距。

🔬 方法详解

问题定义:反编译旨在从剥离的二进制可执行文件中重建高级源代码,但编译过程中的信息损失导致现有方法生成的代码存在逻辑错误和语义不对齐,难以重新执行。现有方法难以在模型大小和反编译质量之间取得平衡,轻量级模型性能不足。

核心思路:CoDe-R的核心思路是通过两个阶段的优化来解决上述问题。首先,通过“理由引导”的方式,让模型学习在生成代码的同时,理解代码背后的逻辑意图,从而弥补语义信息的缺失。其次,在推理阶段,采用动态双路径回退机制,根据代码的语法和语义特征,自适应地选择更可靠的生成路径,避免生成错误代码。

技术框架:CoDe-R框架包含两个主要阶段:语义认知增强(SCE)和动态双路径回退(DDPF)。SCE阶段通过训练模型,使其能够根据输入的二进制代码生成相应的代码和解释理由。DDPF阶段在推理时,同时生成两条代码路径,并根据混合验证策略,动态选择更优的路径。如果两条路径都不可靠,则回退到更保守的生成策略。

关键创新:CoDe-R的关键创新在于:1) 理由引导的语义注入,通过显式地学习代码背后的逻辑意图,增强了模型对代码语义的理解;2) 动态双路径回退机制,在推理时能够自适应地平衡语义恢复和语法稳定性,提高了生成代码的可靠性。

关键设计:SCE阶段使用交叉熵损失函数训练模型生成代码和理由。DDPF阶段的混合验证策略结合了语法检查和语义验证,例如使用编译器检查代码的语法错误,并使用测试用例验证代码的语义正确性。具体参数设置(如学习率、batch size等)和网络结构(如Transformer的层数、隐藏层大小等)在论文中有详细描述。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

CoDe-R在HumanEval-Decompile基准测试上取得了显著的性能提升。使用1.3B参数的backbone,CoDe-R达到了50.00%的平均可重新执行率,是第一个达到该水平的1.3B模型,并在轻量级模型中建立了新的SOTA。相较于基线方法,CoDe-R在代码可执行性方面取得了显著的提升。

🎯 应用场景

CoDe-R技术可应用于软件安全分析、恶意代码检测、漏洞挖掘等领域。通过提高反编译代码的可读性和可执行性,可以帮助安全研究人员更有效地理解和分析二进制代码,从而发现潜在的安全风险。此外,该技术还可以用于软件移植和逆向工程等领域,具有重要的实际应用价值和广阔的发展前景。

📄 摘要(原文)

Binary decompilation is a critical reverse engineering task aimed at reconstructing high-level source code from stripped executables. Although Large Language Models (LLMs) have recently shown promise, they often suffer from "logical hallucinations" and "semantic misalignment" due to the irreversible semantic loss during compilation, resulting in generated code that fails to re-execute. In this study, we propose Cognitive Decompiler Refinement with Robustness (CoDe-R), a lightweight two-stage code refinement framework. The first stage introduces Semantic Cognitive Enhancement (SCE), a Rationale-Guided Semantic Injection strategy that trains the model to recover high-level algorithmic intent alongside code. The second stage introduces a Dynamic Dual-Path Fallback (DDPF) mechanism during inference, which adaptively balances semantic recovery and syntactic stability via a hybrid verification strategy. Evaluation on the HumanEval-Decompile benchmark demonstrates that CoDe-R (using a 1.3B backbone) establishes a new State-of-the-Art (SOTA) in the lightweight regime. Notably, it is the first 1.3B model to exceed an Average Re-executability Rate of 50.00%, significantly outperforming the baseline and effectively bridging the gap between efficient models and expert-level performance. Our code is available at https://github.com/Theaoi/CoDe-R.