如何使用BinaryNinja-Ollama提取开源AI模型并在本地运行

2024-09-09 41 0

关于BinaryNinja-Ollama

BinaryNinja-Ollama是一款针对开源AI模型的本地化工具,该工具可以帮助广大研究人员提取开源的AI模型,并将其运行在本地设备上。

BinaryNinja-Ollama支持与您自己的本地托管的 ollama 服务器集成,使用 AI 重命名函数和变量。有些模型需要大量计算能力,而其他模型则可以在您的个人笔记本电脑上运行。

工具特性

1、它是免费的并且易于本地设置;

2、它可以在没有互联网的任何地方运行;

3、您的数据仅保存在您和您的 ollama 服务器之间,不包含第三方中间件;

工具要求

ollama

networkx>=3.2.1

工具安装

由于该工具基于Python 3.10开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3.10+环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/ahaggard2013/binaryninja-ollama.git

然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:

cd binaryninja-ollama

pip install -r requirements.txt

运行下列命令安装ollama:

pip3 install ollama

如果您将其作为独立插件安装,则可以将其放置(或符号链接)在 Binary Ninja 的插件路径中。

工具使用

重命名所有函数变量

重命名所有函数变量选项将解析函数内的所有变量并尝试根据以下提示重命名它们:

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"

)

重命名所有函数

重命名所有函数选项将循环遍历二进制视图中的所有函数(从最小到最大),并根据提示重命名它们:

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."

)

重命名目标函数

重命名目标函数使用与重命名所有函数相同的提示,但在触发插件时将其限制为所选函数。

重命名目标函数变量

重命名目标变量使用与重命名所有变量相同的提示,但在触发插件时限制其所选的功能。

工具设置

在设置窗口中,我们可以设置ollama使用的IP、端口和模型:

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

BinaryNinja-Ollama:【GitHub传送门

参考资料

https://docs.binary.ninja/guide/plugins.html


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

苹果试图保护你的隐私,OpenAI可能做不到
Shuffle:一款完全自动化的安全栈增强平台
如何使用CODASM编码Payload并降低熵值
SessionExec:一款针对会话安全的安全命令测试工具
Arkime:一款大规模数据包捕获和索引数据库系统
从蓝队流量角度分析Shiro-550反序列化漏洞

发布评论