Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
OGhidra — OGhidra 通过 Ollama 将大语言模型(LLM)与 Ghidra 逆向工程平台连接起来,实现基于自然语言的 AI 驱动二进制分析。使用对话式查询与 Ghidra 交互,并自动化复杂的逆向工程工作流。 | Kitploit
工具/GitHubGitHub/llnl/oghidra
漏洞分析逆向工程调试器恶意软件分析二进制分析机器学习学习与教育AI 辅助逆向
GitHubllnl/oghidra

OGhidra

OGhidra 通过 Ollama 将大语言模型(LLM)与 Ghidra 逆向工程平台连接起来,实现基于自然语言的 AI 驱动二进制分析。使用对话式查询与 Ghidra 交互,并自动化复杂的逆向工程工作流。

查看仓库
397453013天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

OGhidra 3 - 基于 Ghidra 的 AI 驱动逆向工程

如需使用受 Claude 启发的 Orchestrator 版本,请参阅 https://github.com/llnl/OGhidra/tree/orchestrator

Python Version License PRs Welcome

OGhidra 将大型语言模型与 Ghidra 的逆向工程平台连接起来,通过自然语言实现 AI 驱动的二进制分析。您可以以对话方式分析二进制文件、自动化复杂工作流,并通过本地 AI 模型保持完全隐私。

YouTube 设置教程

OGhidra Introduction


什么是 OGhidra?

OGhidra 为 Ghidra 增添 AI 能力,使您能够:

  • 自然语言分析 - 使用自然语言询问有关函数、字符串、导入的问题
  • 自动化工作流 - 重命名函数、检测模式、生成全面的报告
  • 本地 AI 模型 - 模型在您的硬件上运行(Ollama),保证完全隐私
  • 云端 AI 支持 - 连接外部 API(OpenAI、Google Gemini、Anthropic Claude)
  • 恶意软件检测 - 对 12 种以上的规避与注入技术进行自动模式匹配
  • 智能枚举 - 从二进制分析构建可查询的知识图谱
  • 多实例分析 - 运行多个 Ghidra 实例以进行并行分析

工作原理

graph TD
    A[User Query] --> B[Planning Phase]
    B --> C{Execution Phase}
    C -- Tool Calls --> D[Ghidra/LLM]
    D --> C
    C --> E[Review Phase]
    E -- Agentic Loop --> B
    E --> F[Final Response]

    style E fill:#f9f,stroke:#333,stroke-width:2px
    style B fill:#bbf,stroke:#333,stroke-width:2px

智能代理循环(Agentic Loop):OGhidra 采用自适应规划系统。每次执行周期结束后,都会对结果进行审查,AI 可以选择收集更多信息或优化分析,然后再给出最终响应。


快速开始

前置条件

  1. Python 3.12+ - 检查版本:python --version
  2. Ghidra 12.0.3(推荐)- 从 Ghidra Releases 下载
    • 插件构建/安装路径已为 Ghidra 12.0.3 提供文档说明
    • 已在以下版本上测试:Ghidra 11.0.3、11.3.2、12.0.2、12.0.3
  3. Java 21 - 构建 Ghidra 12.0.3 扩展所必需:java -version
  4. Ollama(可选,用于本地模型)- 从 ollama.com 安装

安装

# Clone repository
git clone https://github.com/LLNL/OGhidra.git
cd OGhidra

# Install dependencies (choose one)
uv sync                          # Using UV (recommended)
pip install -r requirements.txt  # Using pip

# Configure environment
cp .env.example .env
# Edit .env with your settings

设置 Ghidra 插件

以下 OGhidraMCP 插件构建步骤面向 Ghidra 12.0.3(推荐)。 另附 YouTube 视频教程:https://www.youtube.com/watch?v=hBD92FUgR0Y

构建 GhidraMCP 扩展

作为开发者,您需要先构建 GhidraMCP 扩展,然后才能将其安装到 Ghidra:

  1. 前置条件:

    • 已安装 Ghidra 12.0.3
    • Java 21
  2. 选项 1:使用自动化构建脚本:

    • Windows:

      # Set the path to your Ghidra installation (will attempt to find last run copy of Ghidra if not set)
      set GHIDRA_INSTALL_DIR=C:\path\to\ghidra_12.0.3_PUBLIC
      
      # Run the build script
      build_ghidra_plugin.bat
      
    • Unix/Linux/Mac:

      # Set the path to your Ghidra installation (will attempt to find the last run copy of Ghidra if not set)
      export GHIDRA_INSTALL_DIR=/path/to/ghidra_12.0.3_PUBLIC
      
      # Run the build script (make it executable first if needed)
      chmod +x build_ghidra_plugin.sh
      ./build_ghidra_plugin.sh
      
  3. 选项 2:手动构建流程:

    • 在 OGhidraMCP/gradle.properties 中创建/更新您的 Ghidra 安装路径:

      GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_12.0.3_PUBLIC
      
    • 在 Unix/Linux/macOS 上:

      cd OGhidraMCP
      $GHIDRA_INSTALL_DIR/support/gradle/gradlew buildExtension --info
      
    • 在 Windows 上:

      cd OGhidraMCP
      "%GHIDRA_INSTALL_DIR%\support\gradle\gradlew.bat" buildExtension --info
      
  4. 查找构建好的扩展:

    • 扩展 zip 文件生成在 OGhidraMCP/dist/ 目录中
    • 文件名类似 ghidra_12.0.3_PUBLIC_YYYYMMDD_OGhidraMCP.zip

安装 GhidraMCP 扩展

成功构建扩展后:

  1. 在 Ghidra 中安装:

    • 打开 Ghidra -> File(文件) -> Install Extensions(安装扩展)
    • 点击 Add Extension(添加扩展)(绿色加号图标)
    • 浏览到您的 OGhidraMCP/dist/ 目录
    • 选择新构建的扩展 zip 文件(例如 ghidra_12.0.3_PUBLIC_YYYYMMDD_OGhidraMCP.zip)
    • 重启 Ghidra
  2. 启用插件:

    • 打开一个 Ghidra 项目
    • File(文件) → Configure(配置) → Enable Developer(启用开发者)
    • 启用 OGhidraMCP 插件
    • 服务器将启动于 http://localhost:8080/methods

    您需要保持代码浏览器(Code Browser)处于打开状态

拉取 AI 模型

# For Ollama (local models)
ollama pull gemma3:27b           		# Good balance (20GB RAM)
ollama pull nomic-embed-text     		# Embedding model for RAG

# Alternative models
ollama pull gpt-oss:120b         		# High quality (80GB RAM)
ollama pull devstral-2:123b 			# High quality (80GB RAM)
ollama pull devstral-2:123b-cloud       # Cloud Model

启动 OGhidra

# GUI Mode (recommended)
uv run main.py --ui

# Interactive CLI
uv run main.py --interactive

# In interactive CLI, test connection
health

如果您启动了 GUI 模式,请使用:

curl http://localhost:8080/methods

配置

编辑 .env 以配置您的 AI 提供商:

选项 1:本地模型(Ollama)

LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434/
OLLAMA_MODEL=gemma3:27b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text

选项 2:外部 API

LLM_PROVIDER=external
EXTERNAL_PROVIDER=google
EXTERNAL_API_KEY=your-api-key-here
EXTERNAL_MODEL=gemini-3.1-flash-lite-preview
EXTERNAL_EMBEDDING_MODEL=gemini-embedding-001

选项 3:自定义 OpenAI 兼容 API

LLM_PROVIDER=custom_api
CUSTOM_API_URL=https://api.example.com/v1/chat/completions
CUSTOM_API_KEY=your-api-key-here
CUSTOM_API_MODEL=your-model-name
CUSTOM_API_EMBEDDING_MODEL=your-embedding-model

上下文管理设置

根据您模型的上下文窗口进行调整:

# Context budget in tokens (adjust to your model's limit)
CONTEXT_BUDGET=100000              # 100K tokens for mid-size models
                                   # 200K+ for frontier models

# Execution settings
MAX_EXECUTION_STEPS=5              # Steps per planning cycle
MAX_AGENTIC_CYCLES=3               # How many plan-execute-review loops
AGENTIC_LOOP_ENABLED=true          # Enable adaptive replanning

主要功能

1. 智能工具按钮(GUI)

一键访问常见逆向工程任务:

工具描述
Analyze Current Function(分析当前函数)深入分析所选函数的行为
Rename Current Function(重命名当前函数)AI 根据分析建议有意义的名称
Rename All Functions(重命名所有函数)批量重命名,提供智能/完整/仅重命名选项
Analyze Imports(分析导入)识别库和外部依赖项
Analyze Strings(分析字符串)查找 URL、凭据、配置数据
Generate Report(生成报告)全面的安全评估

2. 任务模式

设置专门的分析目标:

# In GUI: Use "Task Mode" dropdown
# In CLI: set task_mode <mode>

task_mode malware      # Malware analysis with pattern detection
task_mode vuln         # Vulnerability research focus
task_mode general      # General reverse engineering

3. 恶意软件模式检测

自动检测 12 种以上的恶意软件模式:

  • 规避:PEB Walking、动态 API 解析、反调试、反虚拟机
  • 注入:进程注入(本地/远程)
  • 持久化:注册表、文件系统挂钩
  • 混淆:字符串编码、API 哈希
  • 权限提升:令牌操作、UAC 绕过

这些模式会在 AI 上下文中触发自动警报,并附带 MITRE ATT&CK 映射。

4. 智能枚举

从二进制分析构建丰富、可查询的知识:

# Enumerate all functions with AI summaries
# Choose from:
- Rename Only: Only process generic function names
- Smart Enumeration: Focus on security-relevant functions
- Full Enumeration: Analyze every function in the binary

功能特性:

  • 结构化元数据提取(代码行数、复杂度、操作)
  • 语义搜索优化
  • 基于意图的上下文组装
  • 多向量支持,实现精准检索

5. 会话管理

保存和恢复分析会话:

# Save progress
File → Save Session

# Load previous work
File → Load Session

# Auto-save after bulk operations
# Sessions include:
- Analyzed functions with summaries
- RAG vectors for semantic search
- Performance statistics
- UI state

后端设置

OGhidra 支持两种后端类型:

  • MCP — 与 GhidraMCP 服务器集成,分析期间需要 Ghidra 客户端保持运行
  • PyGhidra — 无需 Ghidra 客户端即可进行无头(headless)分析,并移除了 MCP 所需的服务器组件

选择后端

使用以下命令行选项选择后端:

--ghidra-backend={http,pyghidra}
后端选项描述
http使用 GhidraMCP 后端
pyghidra使用 PyGhidra 后端

PyGhidra 配置

使用现有 Ghidra 项目

启动 OGhidra 时指定 Ghidra 项目文件(.gpr):

--pyghidra-project=/path/to/project.gpr

PyGhidra 需要有效的 Ghidra 项目才能启动 OGhidra。


选择程序

指定应分析 Ghidra 项目中的哪个二进制文件:

--pyghidra-program=<program_name>

在 Ghidra 项目中选择程序的示例调用:

下载工具