基于深度学习的x86汇编代码自动转译为C语言系统
LLM4Decompile-6.7b-v1.5是一个基于机器学习的x86汇编反编译系统,通过15B tokens规模的训练数据和4096 token的处理能力,实现汇编代码到C语言的自动转换。在HumanEval-Decompile基准测试的O0优化级别下,转换准确率达到68.05%,整体性能较前代提升显著。该项目开源且采用MIT许可证,为软件开发和逆向工程提供了实用的代码分析工具。
LLM4Decompile是一个创新的反编译工具项目,它的主要目标是将x86汇编指令转换回C语言代码。最新发布的V1.5版本在性能上取得了显著的进步,相比前代模型提升高达100%。该版本采用了更大规模的训练数据集(15B tokens),并且将最大token长度扩展到4,096。
该项目在多个基准测试中展现出了优异的性能。在HumanEval-Decompile和ExeBench两个测试基准上,LLM4Decompile的6.7B模型都取得了最好的成绩。特别是在O0优化级别下,HumanEval-Decompile测试中达到了0.6805的高分,远超其他对比模型。即使在更高的优化级别(O1-O3)下,该模型也保持着稳定的领先优势。
这个项目的使用流程主要分为两个步骤:
用户需要首先将C代码编译成二进制文件,然后再将其反汇编成汇编指令。系统支持多种优化级别(O0-O3)的编译选项,可以根据需要选择。预处理过程会自动提取目标函数的汇编代码,并生成适当的提示信息。
使用LLM4Decompile模型将预处理后的汇编指令转换回C代码。该过程采用了先进的语言模型技术,能够准确理解汇编代码的语义并生成对应的高级语言代码。
该项目采用MIT开源协议,允许用户自由使用、修改和分发代码。
项目维护团队鼓励用户通过GitHub问题追踪系统提出问题和建议,以促进项目的持续改进和完善。该项目为反编译领域带来了革新性的解决方案,为开发者和研究人员提供了强大的代码分析工具。