re4/LibreCode · 上手攻略
- 仓库:re4/LibreCode
- 链接:https://github.com/re4/LibreCode
- 分类:ai
- 作者:Jay
- 更新:2026-07-15
这是什么
LibreCode 是一个完全本地运行的开源 AI 代码编辑器,基于 .NET 10 和 Avalonia UI 构建,声称是"Ollama 版 Cursor"。它不依赖 Electron、不跑 Web View,直接调用 Ollama 的本地大模型完成 AI 辅助编程,同时内置了一个专业级逆向工程工具包,支持 .NET 程序集、WebAssembly(.wasm)和 ELF(.so)三大二进制格式的调试与反编译。
GitHub 星标 52K+,支持 Windows / Linux / macOS 三平台。
解决什么问题
主流 AI 代码编辑器(如 Cursor、GitHub Copilot)有三个共同痛点:依赖云端 API(代码外泄隐私)、必须跑 Electron(内存开销大)、闭源或订阅制。LibreCode 的核心定位就是把 AI 代码助手和逆向工程工具打包进一个本地 native 应用,无需联网、不收钱、不遥测。
典型使用场景: - 想用 Ollama 本地模型做 AI 编程,不希望代码走云端 - 需要对 .NET DLL/EXE 做逆向分析、阅读闭源程序逻辑 - 想分析 WASM 模块(浏览器扩展、游戏逻辑、恶意软件) - 分析 Linux/Android 的 .so 动态库,寻找漏洞或理解行为 - 游戏mod开发者,需要生成 Harmony 补丁
快速安装
前置依赖
| 依赖 | 说明 |
|---|---|
| .NET 10 SDK | dotnet.microsoft.com/download/dotnet/10.0 |
| Ollama | ollama.com,AI 功能的运行时 |
构建运行
git clone https://github.com/re4/LibreCode.git
cd LibreCode/LibreCode
dotnet run
首次运行会自动拉起界面,后续可直接从项目目录执行 dotnet run。
安装 AI 模型
# 在系统终端里执行,或在 LibreCode 的 Models 面板中浏览安装
ollama pull llama3.2
也支持其他 Ollama 模型(codellama、qwen2.5-coder 等),在编辑器内的 Marketplace 面板可搜索和安装。
核心用法
代码编辑
LibreCode 提供了一个完整的本地代码编辑器,不是 Web View,是真正的 Avalonia 原生渲染:
- 语法高亮:支持 25+ 编程语言(TextMate 语法)
- 自动补全:输入时弹出关键词补全(Python、C#、JS/TS、Go、Rust、Java、C/C++、HTML、SQL、Shell 等)
- 智能缩进:自动沿用上一行缩进,
{后自动增加一层 - 多标签编辑,带脏文件(未保存)指示器
Ctrl+S保存
AI 辅助编程(四种模式)
在右侧 AI Panel 中操作,所有 AI 请求均发往本地 Ollama 实例,代码不离开本机:
| 模式 | 用途 |
|---|---|
| Ask | 提问关于代码的问题,AI 自动 RAG 项目上下文 |
| Agent | 自主循环执行:读文件→写文件→搜索→运行 Shell,直至任务完成 |
| Plan | 让 AI 先规划实现方案,再动手 |
| Debug | 粘贴错误信息,获取调试建议 |
代码库索引(RAG):首次打开项目时,LibreCode 会自动对项目文件分块、生成向量嵌入并存入 Ollama,此后每次对话自动注入最相关的代码片段到 prompt 中。
内置终端
- `Ctrl+`` 切换终端面板
- 自动检测 PowerShell(pwsh / powershell.exe),支持 PSReadLine 补全
- 默认在当前项目目录打开
- 可拖动分割线调节宽度
模型市场(Marketplace)
在编辑器内直接浏览 Ollama 模型库: - 搜索模型名称 - 查看参数规模、VRAM 需求 - GPU 检测告诉你本机显存够不够跑这个模型
逆向工程工具包
LibreCode 的重头戏,适用于三种二进制格式,一键切换。
.NET 程序集(.dll / .exe)
| 功能 | 说明 |
|---|---|
| C# 反编译器 | 基于 ILSpy/dnSpy 同款引擎,可完整还原 C# 源码 |
| IL 反汇编器 | 查看原始 IL 字节码 |
| PE 检查器 | PE 头、节表、CLR 元数据、程序集引用 |
| 字符串搜索 | 扫描硬编码字符串、URL、密钥、凭据 |
| Hex 查看器 | 分页浏览原始字节,含偏移量 |
| IL 调试器 | 模拟 CLR 执行引擎,单步 IL 指令,可设断点,观察栈帧和局部变量 |
| Harmony 补丁生成器 | 选中任意方法,一键生成带 [HarmonyPatch] 的完整 HarmonyLib 补丁代码 |
| AI 分析 | 把反编译代码发给 Ollama,做漏洞分析、混淆识别、流量审查 |
| Stealth 扫描 | 检测 Debugger.IsAttached、IsDebuggerPresent、timing check 等反调试手段,自动生成 Harmony 绕过补丁 |
WebAssembly(.wasm)
| 功能 | 说明 |
|---|---|
| WAT 反汇编 | 完整反汇编为 WebAssembly Text 格式 |
| 模块信息 | 版本、函数/导入/导出/全局/表/内存段数量、节布局 |
| 导入/导出查看器 | 显示所有导入导出的接口类型 |
| 字符串搜索 | 从 WASM 数据段提取字符串 |
| Hex 查看器 | 同上 |
| WASM 调试器 | 自研解释器,单步 ~200 种 WASM 操作码,可设断点 |
| CDP 实时调试 | 连接真实 Chrome(--remote-debugging-port=9222),在浏览器中实时断点调试 WASM |
| AI 分析 | 发送函数反汇编给 Ollama 做深度分析 |
| Stealth 扫描 | 检测 host timing import、debugger 字符串等 |
ELF / .so(Linux / Android 动态库)
| 功能 | 说明 |
|---|---|
| 反汇编 | x86/x86-64 全自动反汇编(基于 Iced),ARM/AArch64/RISC-V 等回退到 hex dump |
| 模块信息 | ELF 头(endianness、ABI、machine、type)、动态链接信息(SONAME、interpreter)、符号统计 |
| 符号表 | 导入符号(undefined)和导出符号(地址、大小、类型)分栏显示 |
| 字符串搜索 | 从所有节提取字符串 |
| OLLVM 反混淆 | 检测三类经典 OLLVM 混淆:控制流扁平化、伪控制流(opaque predicate)、指令替换,并生成标注了混淆位置的发现报告 |
| AI 分析 | 发送模块摘要+反汇编给 Ollama |
| Stealth 扫描 | 检测 ptrace、prctl、SIGTRAP、/proc/self/status TracerPid、LD_PRELOAD、Frida/gdb 工具名等 |
配置与调优
通过 appsettings.json(项目内)调整:
{
"Ollama": {
"BaseUrl": "http://127.0.0.1:11434",
"DefaultModel": "llama3.2",
"EmbeddingModel": "nomic-embed-text",
"Temperature": 0.7,
"MaxTokens": 4096,
"AutocompleteEnabled": true,
"AutocompleteDebounceMs": 300
}
}
Embedding 模型默认使用 nomic-embed-text,负责代码库向量化;如遇中文项目可换成支持多语言的 embedding 模型(如 mxbai-embed-large)。
AI 模型推荐(适合编程):
- llama3.2 — 轻量,VRAM 约 2GB,适合快速问答
- codellama:7b — 专精代码,Ollama 官方推荐
- qwen2.5-coder:7b — 中文友好,编程能力强
典型适用场景
- 隐私敏感的 AI 编程:代码不上云,适合处理内部系统、闭源项目、安全相关代码
- .NET 逆向:阅读第三方 DLL 的实现逻辑,游戏mod开发(Unity、热更新模块)
- WASM 安全审计:浏览器扩展、Blazor WebAssembly、游戏反作弊模块分析
- Linux/Android 逆向:分析 .so 库行为,寻找漏洞、验证加壳/混淆
- OLLVM 混淆研究:LibreCode 内置 OLLVM 反混淆辅助阅读
坑与注意
| 注意点 | 说明 |
|---|---|
| 需要 Ollama 独立运行 | LibreCode 本身不含 LLM 推理,必须先启动 ollama serve,否则 AI 功能全挂 |
| VRAM 门槛 | .NET 反编译和 WASM 调试本身不吃显存,但跑 AI 模型需要。编辑器官方没有给出硬性建议,至少 4GB 以上 VRAM 才能流畅跑 7B 模型 |
| .NET 10 SDK | 项目目标框架是 .NET 10(目前是预览版),如遇 SDK 版本问题需从 dotnet.microsoft.com 安装预览通道 |
| Harmony 补丁生成需要 HarmonyLib | 生成的补丁代码是 HarmonyLib 格式,你的目标项目必须引用 HarmonyLib NuGet 包 |
| CDP 调试需要 Chrome/Edge | WASM 的实时浏览器调试需要启动 Chrome 加 --remote-debugging-port=9222 参数 |
| ARM Linux 上 Iced 反汇编有限 | 反汇编引擎 Iced 对 ARM/AArch64 支持不完整,这些架构会降级为 hex dump |
| Ollama 模型需手动安装 | 编辑器本身没有内嵌模型,需自行 ollama pull 或在 Marketplace 界面安装 |
| 中文embedding支持 | 默认 nomic-embed-text 对中文支持一般,如需中文代码库 RAG 效果更好,可换成支持中文的 embedding 模型(需自行在 appsettings.json 配置) |
与同类对比
| 特性 | LibreCode | Cursor | VS Code + Copilot | IDA Pro / Ghidra |
|---|---|---|---|---|
| AI 本地运行 | ✅ 100% Ollama | ❌ 需联网 | ❌ 云端 | N/A |
| 逆向工具 | ✅ .NET+WASM+ELF | ❌ | ❌ | ✅ 专业但贵 |
| 跨平台 | ✅ Win/Linux/macOS | ✅(Electron) | ✅ | ✅ |
| 闭源/订阅 | ❌ 完全免费开源 | ✅ 订阅制 | ✅ 订阅制 | ✅ 商业许可 |
| 隐私 | ✅ 代码不离本机 | ❌ 代码上传 | ❌ 代码上传 | ✅ 完全本地 |
| OLLVM 反混淆 | ✅ 内置 | ❌ | ❌ | 需插件 |
LibreCode 的差异化在于同时做到本地 AI 编程 + 专业逆向工具,而传统逆向工具(IDA/Ghidra)没有 AI 能力,AI 编程工具(Cursor/Copilot)没有本地逆向能力。
一句话结论
LibreCode 是目前唯一同时具备本地 Ollama AI 编程 + .NET/WASM/ELF 专业逆向工具链的开源 native 应用,适合既要做代码隐私保护又要做二进制安全分析的开发者,免费、无遥测、跨平台,值得一试。