Bonsai-27B-GGUF
lmstudio-community · 工具包
面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。
把反编译器的输出改写成可读的 C 源码,带有有意义的名称和正确的类型。这是在未优化二进制上训练的 Qwen3.5-4B 微调模型,适合安全研究者和逆向工程师。
Qwen3.5-4B-SFT-decompiler-O0-full 是一款工具包,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,是一个装着它全部文件的 zip 压缩包。这些文件不会自己运行。
pip install -U huggingface_hub hf download Divij/Qwen3.5-4B-SFT-decompiler-O0-full
这是 Qwen3.5-4B 的微调版本,用于二进制反编译。你把 Ghidra、IDA Pro 或 angr 等反编译器生成的 C 代码交给它,它会预测原本由人写出的源码。原始输出往往难以阅读,变量用的是占位名称,数字以十六进制书写,分支也很纠缠。模型返回的代码更干净,有有意义的名称和正确的类型。它在 O0 子集上训练,也就是没有经过编译器优化的代码。
阅读反编译代码,并想要一个更干净起点的安全研究者和逆向工程师。
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| 安全研究 | 研究二进制程序的分析师 | 输入反编译器的输出,阅读还原出的源码 | 整理反汇编程序里的一个函数 |
| 逆向工程 | 分析编译后代码的工程师 | 把模型的输出与原始反编译文本对比 | 检查还原的逻辑是否与控制流一致 |
| 研究 | 研究反编译的人 | 用控制流图等结构性指标来评估 | 复现模型卡里的图编辑距离测试 |
如果你的二进制是用编译器优化构建的,可以跳过它,因为模型卡只介绍了 O0 子集。
它可以配合 transformers 库或 vLLM 运行。文件可以在 Windows、macOS 或 Linux 上下载。
| Use case | Who | What they get back |
|---|---|---|
| 函数还原 | 逆向工程师 | 一个反编译函数对应的可读 C 代码 |
| 批量整理 | 分析师 | 通过 vLLM 得到许多函数的还原源码 |
| 基准测试 | 研究者 | 与基线的控制流对比 |
你需要 Python 和能容纳 4.7B 模型的 GPU。bf16 权重约 9.3 GB。
pip install -U huggingface_hub hf download Divij/Qwen3.5-4B-SFT-decompiler-O0-full
把反编译代码放进一条聊天消息,应用关闭思考的聊天模板,然后生成。下面的 vLLM 版本是模型卡推荐用于批量处理的。
import vllm
llm = vllm.LLM(model="Divij/Qwen3.5-4B-SFT-decompiler-O0-full", trust_remote_code=True)
sampling_params = vllm.SamplingParams(temperature=0, max_tokens=2048, skip_special_tokens=True)
# Format prompt using chat template
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Divij/Qwen3.5-4B-SFT-decompiler-O0-full", trust_remote_code=True)
decompiled_code = "..." # your decompiled code here
messages = [{"role": "user", "content": decompiled_code}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
outputs = llm.generate([prompt], sampling_params)
print(outputs[0].outputs[0].text)| Tool | What it does |
|---|---|
| vllm.LLM | 加载模型,用于快速批量生成 |
| vllm.SamplingParams | 设置贪心解码和 2048 token 的上限 |
| apply_chat_template | 把你的反编译代码转成模型提示词 |
你粘贴一个比较两个加密策略结构的反编译函数,里面满是 a0 和 v1 这样的名字。模型返回同一个函数的 C 源码,变量名有意义,控制流也很清晰。
如果你刚接触这类模型,反编译器会把程序还原成粗糙的代码,而这个模型负责把代码整理干净。先用一个简短的函数,对照原始的反编译文本阅读结果。
如果你熟悉这个领域,模型卡说训练使用了来自多个反编译器的 29,698 个 O0 样本,训练两个周期,学习率为 5e-6。评估通过图编辑距离比较控制流图,零表示图完全相同。
模型卡报告了它在 5,942 个样本的 O0 测试集上的自测结果。图编辑距离越低越好。
| Measure | This model | Raw decompiler output |
|---|---|---|
| Mean distance | 12.36 | 15.92 |
| Median distance | 0.00 | 5.00 |
| Perfect matches | 75.0 percent | 34.9 percent |
在 99.9% 的情况下,模型生成的代码能被检查器解析。
把反编译器的输出改写成可读的 C 源码,带有有意义的名称和正确的类型。这是在未优化二进制上训练的 Qwen3.5-4B 微调模型,适合安全研究者和逆向工程师。
由 Divij 在 Hugging Face 上制作。这些说明是 Mindket 根据它的模型页面和模型卡写的,模型自己的文件和许可证在 Hugging Face 上。
它是什么:这是 Qwen3.5-4B 的微调版本,用于二进制反编译。你把 Ghidra、IDA Pro 或 angr 等反编译器生成的 C 代码交给它,它会预测原本由人写出的源码。原始输出往往难以阅读,变量用的是占位名称,数字以十六进制书写,分支也很纠缠。模型返回的代码更干净,有有意义的名称和正确的类型。它在 O0 子集上训练,也就是没有经过编译器优化的代码。
适合谁:阅读反编译代码,并想要一个更干净起点的安全研究者和逆向工程师。
Industry | Who uses it | How they use it | Example
安全研究 | 研究二进制程序的分析师 | 输入反编译器的输出,阅读还原出的源码 | 整理反汇编程序里的一个函数
逆向工程 | 分析编译后代码的工程师 | 把模型的输出与原始反编译文本对比 | 检查还原的逻辑是否与控制流一致
研究 | 研究反编译的人 | 用控制流图等结构性指标来评估 | 复现模型卡里的图编辑距离测试
如果你的二进制是用编译器优化构建的,可以跳过它,因为模型卡只介绍了 O0 子集。
用在哪里:它可以配合 transformers 库或 vLLM 运行。文件可以在 Windows、macOS 或 Linux 上下载。
Use case | Who | What they get back
函数还原 | 逆向工程师 | 一个反编译函数对应的可读 C 代码
批量整理 | 分析师 | 通过 vLLM 得到许多函数的还原源码
基准测试 | 研究者 | 与基线的控制流对比
如何设置:你需要 Python 和能容纳 4.7B 模型的 GPU。bf16 权重约 9.3 GB。
pip install -U huggingface_hub
hf download Divij/Qwen3.5-4B-SFT-decompiler-O0-full
如何使用:把反编译代码放进一条聊天消息,应用关闭思考的聊天模板,然后生成。下面的 vLLM 版本是模型卡推荐用于批量处理的。
import vllm
llm = vllm.LLM(model="Divij/Qwen3.5-4B-SFT-decompiler-O0-full", trust_remote_code=True)
sampling_params = vllm.SamplingParams(temperature=0, max_tokens=2048, skip_special_tokens=True)
# Format prompt using chat template
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Divij/Qwen3.5-4B-SFT-decompiler-O0-full", trust_remote_code=True)
decompiled_code = "..." # your decompiled code here
messages = [{"role": "user", "content": decompiled_code}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
outputs = llm.generate([prompt], sampling_params)
print(outputs[0].outputs[0].text)
Tool | What it does
vllm.LLM | 加载模型,用于快速批量生成
vllm.SamplingParams | 设置贪心解码和 2048 token 的上限
apply_chat_template | 把你的反编译代码转成模型提示词
示例:你粘贴一个比较两个加密策略结构的反编译函数,里面满是 a0 和 v1 这样的名字。模型返回同一个函数的 C 源码,变量名有意义,控制流也很清晰。
新手与专家:如果你刚接触这类模型,反编译器会把程序还原成粗糙的代码,而这个模型负责把代码整理干净。先用一个简短的函数,对照原始的反编译文本阅读结果。
如果你熟悉这个领域,模型卡说训练使用了来自多个反编译器的 29,698 个 O0 样本,训练两个周期,学习率为 5e-6。评估通过图编辑距离比较控制流图,零表示图完全相同。
反编译的 C 代码进入提示词
聊天模板构建输入
模型生成源码
你阅读还原出的 C 代码
注意事项:模型卡报告了它在 5,942 个样本的 O0 测试集上的自测结果。图编辑距离越低越好。
Title: 模型卡测试,控制流图距离
Measure | This model | Raw decompiler output
Mean distance | 12.36 | 15.92
Median distance | 0.00 | 5.00
Perfect matches | 75.0 percent | 34.9 percent
在 99.9% 的情况下,模型生成的代码能被检查器解析。
用 Hugging Face 的命令行下载它的文件:
pip install -U huggingface_hub
hf download Divij/Qwen3.5-4B-SFT-decompiler-O0-full
然后按它的模型卡使用它。这个工具包里没有会自己运行的东西。
README.md 6 KB
同一分类里与本产品共有标签最多的已上架 Hugging Face 模型。
| 产品 | 最近 30 天下载 | 点赞 | 参数量 | 许可证 | 最近更新 |
|---|---|---|---|---|---|
| Qwen3.5-4B-SFT-decompiler-O0-full 本页 | 162 | 9 | 4.7B | apache-2.0 | |
| VulnLLM-R-7B-8bit共有 security · code · text-generation | 148 | 4 | 7.6B | apache-2.0 | |
| CCORE GLB-3D-Coder共有 code · qwen3_5 · text-generation | 51,914 | 344 | 4.5B | apache-2.0 | |
| Terminal-RSI-27B共有 code · qwen3_5 · text-generation | 2,536 | 33 | 27.8B | apache-2.0 | |
| Slonik-27B-oQ8-mtp共有 code · qwen3_5 · text-generation | 498 | 3 | 27.3B | apache-2.0 | |
| Temper-2-Nodel共有 code · qwen3_5 · text-generation | 451 | 3 | 4.2B | apache-2.0 |
lmstudio-community · 工具包
面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。
LibertAIDAI · 工具包
以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。
facebook · 工具包
根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。
alpindale · 工具包
用一个只有约 984 个权重的小型神经网络,为 C 源代码的每个字符打上语法高亮标签,通过一个小小的 C 程序运行。适合对手工设计的网络好奇的开发者和研究者。
prithivMLmods · 工具包
在浏览器或你自己的电脑上,用一个 Gradio 应用试用 FLUX.2 Klein 图像模型的一组 LoRA。适合制作或测试 AI 图片的人。
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。