- 简介反编译旨在将编译后的代码恢复为可读的源代码,但在名称和结构等细节方面存在困难。大型语言模型(LLMs)在编程任务方面表现出了很大的潜力,这促使它们应用于反编译。然而,目前没有任何开源的LLM用于反编译。此外,现有的反编译评估系统主要考虑令牌级别的准确性,很大程度上忽略了代码可执行性,这是任何程序最重要的特征。因此,我们发布了第一个开放式反编译LLMs,范围从1B到33B,预先训练了40亿个C源代码和相应的汇编代码。这些开源的LLMs可以作为该领域进一步发展的基线。为了确保实际的程序评估,我们介绍了Decompile-Eval,这是第一个考虑反编译的可重新编译性和可重新执行性的数据集。该基准强调了从程序语义的角度评估反编译模型的重要性。实验表明,我们的LLM4Decompile已经展示了准确反编译21%的汇编代码的能力,这比GPT-4提高了50%。我们的代码、数据集和模型已经在https://github.com/albertan017/LLM4Decompile上发布。
-
- 图表
- 解决问题本论文旨在解决反汇编中存在的问题,即如何将编译后的代码还原为可读的源代码,并且考虑代码的可执行性。这是一个相对较新的问题。
- 关键思路论文提出了使用大型语言模型(LLMs)来进行反汇编,同时发布了首个开源的反汇编LLMs,以及针对反汇编模型的可重编译性和可重执行性评估数据集Decompile-Eval。相比现有研究,该论文的新思路在于从程序语义的角度评估反汇编模型,并且使用LLMs进行反汇编。
- 其它亮点论文的亮点包括:1. 发布了首个开源的反汇编LLMs;2. 提出了从程序语义的角度评估反汇编模型的方法,并发布了相应的评估数据集Decompile-Eval;3. 实验结果表明,LLM4Decompile模型的反汇编准确率为21%,相比GPT-4提高了50%;4. 代码、数据集和模型均已开源,可供进一步研究使用。
- 在该领域的相关研究包括:1. DeepCom,一种使用神经网络进行反汇编的方法;2. BinGo,一种基于图神经网络的反汇编方法;3. DDisasm,一种使用深度学习进行反汇编的方法。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流