Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
OGhidra — OGhidra соединяет большие языковые модели (LLMs) через Ollama с платформой обратной инженерии Ghidra, обеспечивая AI-управляемый анализ бинарного кода с помощью естественного языка. Взаимодействуйте с Ghidra, используя запросы на естественном языке, и автоматизируйте сложные рабочие процессы обратной инженерии. | Kitploit
Инструменты/GitHubGitHub/llnl/oghidra
Анализ уязвимостейОбратная инженерияОтладчикиАнализ вредоносных программАнализ Бинарных ФайловМашинное ОбучениеОбучение и ОбразованиеОбратная Разработка с Помощью ИИ
GitHubllnl/oghidra

OGhidra

Репозиторий
397451009 ч 19 мин назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

OGhidra соединяет большие языковые модели (LLMs) через Ollama с платформой обратной инженерии Ghidra, обеспечивая AI-управляемый анализ бинарного кода с помощью естественного языка. Взаимодействуйте с Ghidra, используя запросы на естественном языке, и автоматизируйте сложные рабочие процессы обратной инженерии.

Поделиться
# OGhidra 3 — Обратная разработка с помощью ИИ и Ghidra

Для версии с использованием Orchestrator, вдохновлённого Claude, см. https://github.com/llnl/OGhidra/tree/orchestrator

![Python Version](https://img.shields.io/badge/python-3.12+-blue?logo=python)
![License](https://img.shields.io/badge/license-BSD--3--Clause-green)
![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)

**OGhidra** объединяет большие языковые модели с платформой обратной разработки Ghidra, позволяя выполнять анализ бинарных файлов с помощью ИИ на естественном языке. Анализируйте бинарные файлы в диалоговом режиме, автоматизируйте сложные рабочие процессы и сохраняйте полную конфиденциальность с помощью локальных моделей ИИ.

YouTube Setup Tutorial

[![OGhidra Introduction](https://assets.kitploit.com/production/public/readmes/10151/443eca2360063999929a402f875fabea926a7f9865d6eec5f871bdfc861cecb3.jpg)](https://www.youtube.com/watch?v=hBD92FUgR0Y)

---

## Что такое OGhidra?

OGhidra расширяет возможности Ghidra с помощью ИИ, что позволяет вам:

- **Анализ на естественном языке** — Задавайте вопросы о функциях, строках, импортах на простом английском
- **Автоматизированные рабочие процессы** — Переименовывайте функции, обнаруживайте шаблоны, создавайте комплексные отчёты
- **Локальные модели ИИ** — Полная конфиденциальность с моделями, работающими на вашем оборудовании (Ollama)
- **Поддержка облачных ИИ** — Подключайтесь к внешним API (OpenAI, Google Gemini, Anthropic Claude)
- **Обнаружение вредоносного ПО** — Автоматическое сопоставление шаблонов для 12+ методов обхода и инъекций
- **Умное перечисление** — Построение запрашиваемых графов знаний из анализа бинарных файлов
- **Многопоточный анализ** — Запуск нескольких экземпляров Ghidra для параллельного анализа

### Как это работает

```mermaid
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
```

**Агентный цикл**: OGhidra использует адаптивную систему планирования. После каждого цикла выполнения результаты анализируются, и ИИ может решить собрать больше информации или уточнить анализ, прежде чем предоставить окончательный ответ.

---

## Быстрый старт

### Предварительные требования

1. **Python 3.12+** — Проверьте версию: `python --version`
2. **Ghidra 12.0.3** (рекомендуется) — Скачайте из [Ghidra Releases](https://github.com/NationalSecurityAgency/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](https://ollama.com/)

### Установка

```bash
# 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:

     ```bat
     # 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:

     ```bash
     # 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:

     ```properties
     GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_12.0.3_PUBLIC
     ```

   - На Unix/Linux/macOS:
     ```bash
     cd OGhidraMCP
     $GHIDRA_INSTALL_DIR/support/gradle/gradlew buildExtension --info
     ```

   - На Windows:
     ```bat
     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 БЫЛ ОТКРЫТ**

### Загрузка моделей ИИ

```bash
# 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

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

# Interactive CLI
uv run main.py --interactive

# In interactive CLI, test connection
health
```

Если вы запустили режим GUI, используйте:
```bash
curl http://localhost:8080/methods
```

---

## Конфигурация

Отредактируйте `.env`, чтобы настроить поставщика ИИ:

### Вариант 1: Локальные модели (Ollama)

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

### Вариант 2: Внешние API

```env
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: Пользовательское API, совместимое с OpenAI

```env
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
```

### Настройки управления контекстом

Настройте в зависимости от контекстного окна вашей модели:

```env
# 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)

Доступ к типовым задачам обратной разработки одним щелчком:

| Инструмент                         | Описание                                                  |
| ---------------------------- | --------------------------------------------------------- |
| **Анализ текущей функции** | Детальное изучение поведения выбранной функции            |
| **Переименовать текущую функцию** | ИИ предлагает осмысленные названия на основе анализа      |
| **Переименовать все функции** | Пакетное переименование с опциями Smart/Full/Rename-Only |
| **Анализ импортов** | Определение библиотек и внешних зависимостей              |
| **Анализ строк** | Поиск URL, учётных данных, конфигурационных данных        |
| **Создать отчёт** | Комплексная оценка безопасности                           |

### 2. Режимы задач

Установите специализированные цели анализа:

```python
# 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, Dynamic API Resolution, Anti-Debug, Anti-VM
- **Инъекция**: Process Injection (Local/Remote)
- **Персистентность**: Registry, File System Hooks
- **Обфускация**: String Encoding, API Hashing
- **Повышение привилегий**: Token manipulation, UAC bypass

Шаблоны автоматически вызывают оповещения в контексте ИИ с привязкой к 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
```

Возможности:
- Структурированное извлечение метаданных (LOC, сложность, операции)
- Оптимизация семантического поиска
- Сборка контекста на основе намерений
- Многовекторная поддержка для точного извлечения

### 5. Управление сеансами

Сохраняйте и восстанавливайте сеансы анализа:

```python
# 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** — Поддерживает безголовый анализ (headless) без клиента Ghidra и устраняет серверный компонент, необходимый для MCP

### Выбор бэкенда

Используйте следующий параметр командной строки для выбора бэкенда:

```bash
--ghidra-backend={http,pyghidra}
```

| Параметр бэкенда | Описание |
|------------------|----------|
| `http` | Использует бэкенд GhidraMCP |
| `pyghidra` | Использует бэкенд PyGhidra |

---

## Конфигурация PyGhidra

### Использование существующего проекта Ghidra

Укажите файл проекта Ghidra (`.gpr`) при запуске OGhidra:

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

PyGhidra требует действительный проект Ghidra для запуска OGhidra.

---

### Выбор программы

Укажите, какой бинарный файл внутри проекта Ghidra должен анализироваться:

```bash
--pyghidra-program=<program_name>
```

пример вызова для выбора программы в проекте Ghidra:

```bash
uv run main.py --ui --ghidra-backend=pyghidra --pyghidra-project=/path/to/project.gpr --pyghidra-program=<program_name>
```

Требования:

- Имя программы должно точно соответствовать имени, отображаемому в GUI проекта Ghidra
- Этот параметр обязателен при использовании существующего проекта
- Неуказание программы предотвратит запуск OGhidra

---

### Запуск бинарного файла напрямую

Вы также можете указать путь к бинарному файлу напрямую:

```bash
--pyghidra-binary=/path/to/binary
```

При использовании этого параметра PyGhidra автоматически:

1. Создаёт новый проект Ghidra (`.gpr`)
2. Импортирует бинарный файл
3. Запускает бинарный файл в OGhidra для анализа

пример вызова для прямого запуска бинарного файла:

uv run main.py --ui --ghidra-backend=pyghidra --pyghidra-binary=/path/to/binary

---

## Типовые рабочие процессы

### Анализ подозрительного бинарного файла

1. **Загрузите бинарный файл в Ghidra** и откройте в CodeBrowser
2. **Включите плагин OGhidraMCP** (File → Configure)
3. **Запустите OGhidra**: `uv run main.py --ui`
4. **Установите режим задачи**: Выберите "malware" из выпадающего списка
5. **Запустите умное перечисление**: Нажмите "Rename All Functions" → "Smart Enumeration"
6. **Задавайте вопросы**: "Какие функции с высоким риском?" или "Покажите сетевые взаимодействия"

### Создание отчёта безопасности

```bash
# In GUI: Click "Generate Report" button
# Report includes:
- Executive Summary
- Function Inventory (renamed functions with behavior)
- Security Analysis (high-risk functions, patterns)
- Import Analysis
- String Analysis
- Recommendations
```

### Исследование конкретной функции

1. **Перейдите к функции в Ghidra**
2. **Нажмите "Analyze Current Function"**
3. **Задавайте уточняющие вопросы**:
   - "Что делает эта функция?"
   - "Уязвима ли она для переполнения буфера?"
   - "Какие другие функции вызывают эту?"

---

## Расширенные возможности

### RAG (Генерация с дополнением извлечением)

OGhidra использует векторные эмбеддинги для семантического поиска по проанализированным функциям:

```env
# Enable in .env
RESULT_CACHE_ENABLED=true
TIERED_CONTEXT_ENABLED=true
```

Преимущества:
- Запоминание предыдущих анализов между сеансами
- Поиск семантически похожих функций
- Снижение избыточных вызовов LLM

### Оптимизация контекста

Многоуровневое сжатие контекста сохраняет релевантную информацию:

```env
CURRENT_LOOP_MAX_CHARS=2000   # Recent: full detail
PREV_LOOP_MAX_CHARS=400       # Previous: summaries
OLDER_LOOP_MAX_CHARS=100      # Older: references only
```

### Логирование LLM

Отслеживайте все взаимодействия с ИИ для отладки:

```env
LLM_LOGGING_ENABLED=true
LLM_LOG_FILE=logs/llm_interactions.log
LLM_LOG_FORMAT=json
```

---

## Устранение неполадок

### Проблемы подключения к Ghidra

```bash
# Verify plugin is loaded
# Open up codebrowser!

# Check server is running
curl http://localhost:8080/methods
```

### Проблемы подключения к Ollama

```bash
# Verify Ollama is running
ollama list

# Check connectivity
curl http://localhost:11434/api/tags

# Restart Ollama service
ollama serve
```

### Пустые ответы / Переполнение контекста

```env
# Reduce context budget
CONTEXT_BUDGET=50000

# Enable compaction
COMPACTION_ENABLED=true
COMPACTION_THRESHOLD=0.75
```

### Низкая производительность

1. **Используйте меньшие модели**: Переключитесь на `gemma3:9b`
2. **Уменьшите количество параллельных рабочих процессов**: Установите `max_workers=2` в пакетных операциях
3. **Отключите векторные эмбеддинги**: `RESULT_CACHE_ENABLED=false`
4. **Увеличьте задержку запросов**: `CUSTOM_API_REQUEST_DELAY=2.0`

---

## Обзор архитектуры

```
┌─────────────────────────────────────────────────────────────┐
│                        OGhidra UI                           │
│                  (GUI / Interactive CLI)                    │
└────────────────────────┬────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────────────┐
│                   Bridge (src/bridge.py)                    │
│  ┌────────────────────────────────────────────────────────┐ │
│  │ • Agentic Loop: Plan → Execute → Review → Replan       │ │
│  │ • Tool Router: Ghidra client, LLM client, CAG manager  │ │
│  │ • Context Manager: Budget allocation, compression      │ │
│  └────────────────────────────────────────────────────────┘ │
└───────────┬────────────────────────┬────────────────────────┘
            │                        │
            ▼                        ▼
┌───────────────────────┐  ┌─────────────────────────┐
│   Ghidra Client       │  │   LLM Clients           │
│ • GhidraMCP Plugin    │  │ • Ollama (local)        │
│ • Binary operations   │  │ • External APIs         │
│ • Decompilation       │  │ • Custom endpoints      │
└───────────────────────┘  └─────────────────────────┘
            │                        │
            └────────────┬───────────┘
                         ▼
┌─────────────────────────────────────────────────────────────┐
│               CAG Manager (Knowledge System)                │
│  ┌────────────────────────────────────────────────────────┐ │
│  │ • Vector Store: Semantic search over functions         │ │
│  │ • Pattern Detector: 12+ malware techniques             │ │
│  │ • Metadata Extractor: Structured function analysis     │ │
│  │ • Session Store: Persistent analysis state             │ │
│  └────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```

---

## Вклад в проект

Мы приветствуем вклад! Интересующие области:

- **Новые вредоносные шаблоны** для обнаружения
- **Интеграции поставщиков LLM**
- **Улучшения UI/UX**
- **Оптимизация производительности**
- **Документация** и примеры

См. [CODE_OF_CONDUCT.md](https://github.com/llnl/oghidra/blob/main/CODE_OF_CONDUCT.md) для правил сообщества.

---

## Цитирование

Если вы используете OGhidra в своём исследовании, пожалуйста, цитируйте:

```bibtex
@software{oghidra2025,
  title = {OGhidra: AI-Powered Reverse Engineering with Ghidra},
  author = {Enoch Wang},
  year = {2025},
  url = {https://github.com/LLNL/OGhidra}
}
```

---

## Благодарности

OGhidra основан на отличных проектах с открытым исходным кодом:

- **[Ghidra](https://github.com/NationalSecurityAgency/ghidra)** — Платформа обратной разработки от АНБ
- **[Ollama](https://ollama.com/)** — Локальная среда выполнения LLM
- **[LaurieWired/GhidraMCP](https://github.com/LaurieWired/GhidraMCP)** — Исходный плагин Ghidra MCP
- **[starsong/GhydraMCP](https://github.com/starsong/GhydraMCP)** — Улучшенная реализация MCP

---

## Лицензия

OGhidra распространяется на условиях лицензии BSD 3-Clause с альтернативной коммерческой лицензией.

См. [LICENSE](https://github.com/llnl/oghidra/blob/main/LICENSE) и [NOTICE.md](https://github.com/llnl/oghidra/blob/main/NOTICE.md) для подробностей.

**LLNL-CODE-2013290**

---

## Поддержка

- **Проблемы**: [GitHub Issues](https://github.com/LLNL/OGhidra/issues)
- **Обсуждения**: [GitHub Discussions](https://github.com/LLNL/OGhidra/discussions)
- **Пишите мне напрямую**: [email protected]
Скачать инструмент