YAOTU INSIGHTS

3步把二进制读成C代码:LLM4Decompile大模型AI反编译上手指南

3步把二进制读成C代码:LLM4Decompile大模型AI反编译上手指南
3步把二进制读成C代码LLM4Decompile大模型AI反编译上手指南【免费下载链接】LLM4DecompileReverse Engineering: Decompiling Binary Code with Large Language Models项目地址: https://gitcode.com/GitHub_Trending/ll/LLM4DecompileLLM4Decompile 是一个开源的大模型 AI 反编译工具集它把 Linux x86_64 二进制GCC O0–O3还原成可读的 C 代码适合安全审计、遗留系统维护和无源码分析场景的工程师。 谁需要二进制代码还原3个真实场景安全审计目标软件没有源码先用反编译结果拿到函数级结构理解再展开人工分析遗留系统维护老项目只剩可执行文件用还原出的逻辑补齐文档和注释无源码分析厂商不交付源码、文档缺失时用 LLM 反编译输出辅助代码审查️ 原理速览反编译流水线怎么跑通大模型读不懂 0 和 1所以整条链路是先用 objdump 把二进制反汇编成汇编再喂给微调过的模型模型直接输出 C 代码。训练时以「汇编/伪代码 原始源码」配对语料监督模型最后用单元测试验收反编译代码能否正常执行。数据侧是一条「语料构建 → 模型还原 → 结果清洗」流水线自动编译 GitHub 上的开源项目用 DWARF 调试信息加 Tree-sitter 把反汇编函数与源码片段精确对齐再跨二进制去重、交叉验证后留下高质量样本产出了 decompile-bench/ 中 200 万条函数配对数据。⚙️ 三步跑通第一次 AI 反编译仓库自带 Dockerfile装好 Python 3.9 环境后三条命令就能起 GPU 容器git clone https://gitcode.com/GitHub_Trending/ll/LLM4Decompile cd LLM4Decompile pip install -r requirements.txt docker build -t llm4decompile . docker run --gpus all -it --name llm4decompile llm4decompile /bin/bash进入容器后在ghidra/目录运行demo.py先选一个显存放得下的模型规模。第一次运行怎么算正常脚本会打印「original function」和「decompiled function」两段代码把反编译结果重新编译、跑一遍自带测试断言全部用例通过即达标。 反编译结果怎么验收两个评估指标Re-executability反编译代码能编译并跑通全部预置测试用例核心指标Edit Similarity基于 Levenshtein 距离衡量代码与参考源码的文本级接近程度结论挑三个看Ref 路线Ghidra 伪代码 LLM 精炼在同参数规模下明显高于汇编直出路线模型越大越稳22B 可达约 64% 的可重执行率优化级别越高越难O0 的结果远好于 O3。️ 核心目录导览decompile-bench/二进制-源码配对数据与执行率、编辑相似度指标脚本evaluation/基于 vLLM 的批量推理评估主入口 run_evaluation_llm4decompile_vllm.pyghidra/Ghidra 无头模式集成含反编译辅助脚本 decompile.py 与端到端示例 demo.pysk2decompile/两阶段「骨架→皮肤」反编译含训练数据与评估脚本⚠️ 反编译避坑清单只支持 Linux x86_64 与 GCC O0–O3其他架构或 MSVC 产物不在能力范围内伪代码/汇编输入需保留函数名头如func0:与训练格式一致Ghidra 路线依赖 Java 17 与 Ghidra 11直接用 Docker 镜像省事先从 1.3B / 6.7B 模型起步22B 需要 40G 以上显存别只看「长得像」一律以编译 单测跑通作为验收标准目前能力范围仍是 x86_64 单一架构更多语言、平台与工具集成在推进中。随着数据规模和模型持续扩大AI 逆向工程会从学术评测逐步变成安全与维护流程里的日常工具。【免费下载链接】LLM4DecompileReverse Engineering: Decompiling Binary Code with Large Language Models项目地址: https://gitcode.com/GitHub_Trending/ll/LLM4Decompile创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考