本文是LLM系列文章,针对《LLM4Decompile: Decompiling Binary Code with Large Language Models》的翻译。
摘要
反编译旨在将二进制代码转换为高级源代码,但像Ghidra这样的传统工具往往会产生难以读取和执行的结果。受大型语言模型(LLM)进步的启发,我们提出了LLM4Decompile,这是第一个也是最大的开源LLM系列(1.3B到33B),用于反编译二进制代码。我们优化了LLM训练过程,并引入LLM4Decompile-End模型来直接反编译二进制文件。由此产生的模型在HumanEval和ExeBeach基准测试中显著优于GPT-4o和Ghidra超过100%。此外,我们改进了标准细化方法来微调LLM4Decompile Ref模型,使它们能够有效地细化Ghidra的反编译代码,并比LLM4Deccompile End进一步提高16.2%。LLM4Decompile1展示了LLM彻底改变二进制代码反编译的潜力,显著提高了可读性和可执行性,同时补充了传统工具以获得最佳结果。
1 引言
2 相关工作
3 LLM4Decompile
4 实验
5 混淆讨论
6 结论
我们提出了LLM4Decompile,这是第一个也是最大的开源LLM系列,其大小从1.3B到33B不等,用于反编译二进制代码。基于End2end反编译方法,我们优化了LLM训练过程,并引入LLM4De