返回更新列表
新发布Aug 13, 2026

oneiromancer v0.9.1

使用本地运行的 LLM 辅助伪代码分析的逆向工程助手。

分享

oneiromancer

build

"软件开发中的大量缺陷源于程序员未能完全理解其代码 可能执行到的所有状态。" -- John Carmack

"它能运行《毁灭战士》吗?" -- https://canitrundoom.org/

Oneiromancer 是一款逆向工程辅助工具,它使用本地运行的、针对 Hex-Rays 伪代码微调过的 LLM 来辅助代码分析。它可以分析一个函数或较小的代码片段,并根据分析结果返回代码功能的高级描述、建议的函数名以及变量重命名建议。

功能特性

  • 跨平台支持微调 LLM aidapal, 该模型基于 mistral-7b-instruct
  • 易于与伪代码提取器 haruspex 及主流 IDE 集成。
  • 代码描述、建议的函数名和变量重命名建议会打印在终端上。
  • 每个被分析函数的改进伪代码都会保存到单独的文件中,便于查看。
  • 外部 crate 可调用 analyze_codeanalyze_file 来分析伪代码,并处理分析结果。

文章

另请参阅

安装

获取最新版本最简单的方式是通过 crates.io

cargo install oneiromancer

要将其作为库安装,请在项目目录中运行以下命令:

cargo add oneiromancer

编译

或者,你也可以从源代码进行构建:

git clone https://github.com/0xdea/oneiromancer
cd oneiromancer
cargo build --release

配置

  1. 下载并安装 Ollama
  2. Hugging Face 下载微调权重和 Ollama 模型文件:
    wget https://huggingface.co/AverageBusinessUser/aidapal/resolve/main/aidapal-8k.Q4_K_M.gguf
    wget https://huggingface.co/AverageBusinessUser/aidapal/resolve/main/aidapal.modelfile
    
  3. 在下载这些文件所在的目录中运行以下命令来配置 Ollama:
    ollama create aidapal -f aidapal.modelfile
    ollama list
    

用法

  1. 按如下方式运行 oneiromancer:
    export OLLAMA_BASEURL=custom_baseurl # if not set, the default will be used
    export OLLAMA_MODEL=custom_model # if not set, the default will be used
    oneiromancer <target_file>.c
    
  2. <target_file>.out.c 中查找改进后的伪代码:
    vim <target_file>.out.c
    code <target_file>.out.c
    

[!TIP] 为获得最佳效果,请一次提交一个函数供 LLM 分析。

兼容性

已在以下平台使用 Ollama 0.32.9 测试:

  • Apple macOS Tahoe 26.5.2
  • Ubuntu Linux 24.04.2 LTS
  • Microsoft Windows 11 23H2

致谢

  • 感谢 Atredis Partners 的 Chris Bellows (@AverageBusinessUser) 贡献其微调 LLM aidapal <3

更新日志

待办事项

  • 通过版本管理和/或输出目录来改进输出文件处理。
  • 实现 IDAPython aidapal IDA Pro 插件的其他功能(例如上下文)。
  • haruspexidalib 集成。
  • 实现"少数派报告"协议(即发起三次查询并选择最佳响应)。
  • 考虑重构变量重命名,以防止潜在的代码损坏。
  • 探索 aidapal LLM 的其他用例,并实现模块化架构以接入自定义 LLM。

分类