Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
binaryninja-ollama — 用于 Binary Ninja 的插件,集成本地 Ollama 模型,以重命名反编译 HLIL 代码中的函数和变量,通过保持分析完全本地化和离线来保护隐私。 | Kitploit
工具/GitHubGitHub/ahaggard2013/binaryninja-ollama
代码分析逆向工程隐私保护二进制分析机器学习AI 辅助逆向
GitHubahaggard2013/binaryninja-ollama

binaryninja-ollama

用于 Binary Ninja 的插件,集成本地 Ollama 模型,以重命名反编译 HLIL 代码中的函数和变量,通过保持分析完全本地化和离线来保护隐私。

查看仓库
83111年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

"Buy Me A Coffee"

Binary Ninja Ollama (v1.0.9)

作者:Austin Haggard

Binary Ninja Ollama 集成您本地托管的 ollama 服务器,利用 AI 重命名函数和变量

描述:

Ollama 是一个允许你拉取开源 AI 模型并在本地运行的工具。 有些模型需要强大的计算能力,而另一些则可以在你的个人笔记本上运行。 根据你选择的模型,结果会大不相同 :)。

为什么要用这个而不是 sidekick/openai?

  1. 它是免费的,而且在本地设置很简单。
  2. 我说过它是免费的吗?
  3. 它可以在没有互联网的任何地方运行!
  4. 你的数据只保留在你和你的 ollama 服务器之间,没有第三方。

功能

该插件将 Ollama 与 Binary Ninja 集成,并支持以下操作:

  • 设置 Binary Ninja 连接到 ollama 时应使用的服务器/端口。
    • 拥有一台(非常)高性能的游戏电脑?用它来托管 ollama,并将 binja 指向 llama3:70b/gemma2:27b。
    • 在笔记本上运行?在本地托管,设置为 localhost,然后运行 gemma2:latest/llama3:latest。
    • 还有很多其他模型可以尝试,但我主要用 llama3/gemma2 的变体测试过,效果还不错。
  • 查询你本地托管的 ollama 服务器,以确定某个给定函数的功能。
    • 这可用于批量重命名所有函数,或单独重命名目标函数。
  • 允许用户使用 ollama 重命名 HLIL 中的变量。
    • 这可用于重命名一条指令中的单个变量。
    • 这可用于重命名一个函数中的所有变量。

安装

如果你将其作为独立插件安装,可以将它放置(或符号链接)到 Binary Ninja 的插件路径中。默认路径详见 Vector 35 的文档。

依赖

  • Python 3.10+
  • ollama,通过 pip3 install ollama 安装

Ollama 服务器

这要求你能够访问或托管自己的 ollama 服务器,并拉取你想要使用的任何模型。

按照 https://ollama.com 上的说明设置你的服务器并拉取你想尝试的模型。 一旦完成,服务器应自动启动,并可通过 localhost:11434 访问。

用法

重命名所有函数变量

“重命名所有函数变量”选项将解析一个函数中的所有变量,并尝试根据以下提示重命名它们:

root@kitploit:~
prompt = (
             f"In one word, what should the variable '{variable}' be named in the below Function? "
             f"The name must meet the following criteria: all lowercase letters, usable in Python code"
)

重命名前变量 重命名后变量

重命名所有函数

“重命名所有函数”选项将遍历 binaryview 中的所有函数(从小到大),并根据以下提示重命名它们:

root@kitploit:~
prompt = (
    f"Given the following HLIL decompiled code snippet, provide a Python-style function name that describes what the code is doing. "
    f"The name must meet the following criteria: all lowercase letters, usable in Python code, with underscores between words. "
    f"Only return the function name and no other explanation or text data included."
)

重命名前函数 重命名后函数 重命名后函数

重命名目标函数

重命名目标函数使用与重命名所有函数相同的提示,但触发插件时仅限作用于所选函数。

重命名目标函数变量

重命名目标变量使用与重命名所有变量相同的提示,但触发插件时仅限作用于所选函数。

设置

当 Binary Ninja 首次启动时,设置会在第一次调用任何重命名操作时触发,也可以手动触发。已应用的设置将在 Binary Ninja 会话中持续生效。

设置窗口允许你设置要在 ollama 中使用的 IP、端口和模型。只有已下载的模型才可选择。

插件设置选项 插件连接选项 插件模型选项

已知问题

  • 对于较大的函数,AI 会忽略提示并返回大段描述该函数的文本。目前通过忽略返回值并抛出“无法重命名函数”日志来缓解,但还可以进一步调查
  • 所选服务器不存在的情况可以处理得更好。

功能请求

  • 有任何你感兴趣但未包含的功能吗?

    • 提交一个 issue!
    • 发起一个 pull request。
  • 想法:

    • 针对单个变量命名,而不是一行中的所有变量
    • 生成描述代码的 AI 注释
    • 结构恢复

许可证

该插件以 MIT 许可证发布。

下载工具