LLM4Decompile 开源项目教程

LLM4Decompile 开源项目教程

LLM4Decompile项目地址:https://gitcode.com/gh_mirrors/ll/LLM4Decompile

项目介绍

LLM4Decompile 是一个利用大型语言模型(LLMs)进行二进制代码反编译的开源项目。该项目旨在将二进制代码转换为高级源代码,通过优化 LLM 训练过程,引入新的训练方法和模型架构,显著提高了反编译代码的可读性和可执行性。LLM4Decompile 包括多个模型,参数大小从 1.3 亿到 33 亿不等,这些模型在 HumanEval 和 ExeBench 基准测试中显著超越了 GPT-4o 和 Ghidra。

项目快速启动

环境准备

首先,克隆项目仓库并设置开发环境:

git clone https://github.com/albertan017/LLM4Decompile.git
cd LLM4Decompile
conda create -n llm4decompile python=3.9 -y
conda activate llm4decompile
pip install -r requirements.txt

使用示例

以下是一个简单的使用示例,展示如何将 C 代码编译为二进制并反编译为汇编指令:

import subprocess
import os

OPT = ["O0", "O1", "O2", "O3"]
fileName = 'samples/sample'  # 文件路径

for opt_state in OPT:
    output_file = fileName + '_' + opt_state
    input_file = fileName + '.c'
    compile_command = f'gcc -o {output_file} {input_file} -{opt_state} -lm'  # 编译命令
    subprocess.run(compile_command, shell=True)

应用案例和最佳实践

案例一:提高代码可读性

LLM4Decompile 的一个主要应用是提高反编译代码的可读性。通过使用 LLM4Decompile 模型,开发人员可以更容易地理解和修改反编译的代码,从而加速软件维护和逆向工程过程。

案例二:优化反编译流程

在某些情况下,LLM4Decompile 可以与传统的反编译工具(如 Ghidra)结合使用,通过 LLM4Decompile 的模型对 Ghidra 的输出进行进一步的优化和细化,从而达到更好的反编译效果。

典型生态项目

项目一:DeepSeek-Coder

DeepSeek-Coder 是一个用于代码生成的预训练模型,LLM4Decompile 从中进行了微调,以适应二进制代码反编译的任务。

项目二:AnghaBench

AnghaBench 是一个大型的汇编-C 代码对数据集,LLM4Decompile 使用了该数据集进行训练,以提高模型在实际反编译任务中的性能。

通过以上模块的介绍和示例,您可以快速上手并深入了解 LLM4Decompile 项目,探索其在二进制代码反编译领域的广泛应用和潜力。

LLM4Decompile项目地址:https://gitcode.com/gh_mirrors/ll/LLM4Decompile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹岩讳Sally

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值