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

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

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

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

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

Категории

Все категории
Loading categories
recurse — IDE для агентной обратной разработки с мультиархитектурным дизассемблером на чистом Rust, нативным декомпилятором, отладчиком и LLM-агентом для анализа бинарных файлов и работы с CTF. | Kitploit
Инструменты/GitHubGitHub/recurse-labs/recurse
Статический анализДинамический анализ (песочница)Обратная инженерияОтладчикиАнализ вредоносных программCTFАнализ Бинарных ФайловОбучение и ОбразованиеОбратная Разработка с Помощью ИИБезопасность ИИ
GitHubrecurse-labs/recurse
298304357 дней назадПроверено Kitploit

recurse

IDE для агентной обратной разработки с мультиархитектурным дизассемблером на чистом Rust, нативным декомпилятором, отладчиком и LLM-агентом для анализа бинарных файлов и работы с CTF.

РепозиторийСайт

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Recurse

Среда агентного реверс-инжиниринга — десктопное приложение класса Ghidra в духе «Cursor для реверс-инжиниринга». Построено на Tauri 2 (фронтенд на React + TypeScript) поверх подключаемого бэкенда анализа. По умолчанию используется чисто-Rust нативный движок — без внешних процессов, без copyleft-зависимостей, мультиархитектурность через Capstone. Также можно запускать анализ через r2 (radare2) или IDA Pro: выберите любой движок, и всё приложение — инструменты агента и UI — будет работать через него. Инструменты агента и UI не зависят от бэкенда — см. docs/backends.md.

Демонстрация Recurse

Структура репозитория

Cargo workspace в корне; десктопное приложение — один из пакетов в нём.

tauri/                   desktop app (Tauri + React)
  src/                     React frontend
  src-tauri/               Tauri Rust backend (engine sessions, agent wiring)
  package.json             app scripts (Vite, Vitest, Tauri CLI)
crates/
  recurse-agent/              agent framework: LLM loop, tool runtime, SQLite memory
  recurse-static/          static analysis: ELF/PE/Mach-O parsing, multi-arch disassembly,
                           CFG and cross-reference recovery, the engine seam
  recurse-vtil/            VTIL-inspired de-obfuscation/de-virtualization IL, lifter, optimizer
  recurse-mcp/             standalone headless MCP server (stdio) over the engine — no Tauri, no IDA
  recurse-debug/           cross-platform debugger (ptrace/Mach/Win32, breakpoints, stepping)
  recurse-eval/            headless eval harness (YAML-configured tiers)
justfile                 single entry point for both halves

recurse-agent — это только агент; статический анализ находится в recurse-static, а отладчик — в recurse-debug, поэтому агент не тянет за собой системный код, который не использует. Ни один крейт не зависит от Tauri, и каждый собирается/тестируется отдельно; recurse-eval управляет агентом в headless-режиме. Все они являются членами workspace, поэтому один Cargo.lock и один target/ покрывают весь репозиторий.

Возможности

  • Рабочее пространство в стиле Cursor: список функций, вкладки дизассемблирования/строк/импортов, граф CFG и боковая панель чат-агента (переключается кнопкой Chat или Ctrl+L)
  • Страница разведки: информация о бинарнике, хеши MD5/SHA1/SHA256/CRC32, энтропия, связанные библиотеки, автономный отчёт о защищённости (RELRO / PIE / NX / canary / FORTIFY / RPATH — без внешнего checksec) и счётчики анализа
  • Переименование функций из списка (двойной клик или кнопка ✎); имена сохраняются в SQLite и отображаются в списке функций, аннотациях дизассемблирования и доступны агенту
  • Аннотирование из заголовка функции в листинге: щёлкните по имени переменной, чтобы назвать её, или по ячейке undefinedN, чтобы задать ей тип. Установленный вами тип возврата отображается в строке сигнатуры заголовка. Оба сохраняются в SQLite с привязкой к функции, а очистка ячейки возвращает её к тому, что говорят инструкции
  • Обоснованный агент: каждый адрес — это кликабельный объект (список функций, узлы графа, xrefs, аннотации декомпилятора), а не вставленный текст, который модель может выдумать
  • Живая сессия анализа любого бинарника — включая файлы без расширения
  • Постоянная память проекта в SQLite с извлечением через FTS5/BM25 — переименования, находки и заметки переживают /clear и повторное открытие, и закладывают основу для следующей сессии
  • Headless-ядро (recurse-agent) с трассировкой отладки по каждому ходу; один и тот же цикл агента работает в UI и в eval-стенде
  • LLM-агент на базе OpenAI-совместимой конечной точки (по умолчанию OpenRouter) с выбором модели; напрямую управляет сессией (дизассемблирование, xrefs, строки, импорты, декомпиляция)
  • Тёмный интерфейс, построенный на Tailwind CSS v4 + shadcn/ui
  • Операция lift: поднимает функцию в IL деобфускации в стиле VTIL и выполняет проходы распространения/свёртывания/удаления мёртвого кода/разрешения ветвлений по всей процедуре — полезно, когда дизассемблирование выглядит как диспетчер VM или цепочка непрозрачных предикатов (см. docs/vtil-lift.md)
  • Нативный декомпилятор: decompile генерирует C-подобный псевдокод (структурирование if/while, полный охват инструкций) из того же конвейера recurse-vtil — без внешнего инструмента, без необходимости в r2
  • Автономный сервер recurse-mcp: тот же Engine через MCP stdio для любого агента с поддержкой MCP (Claude Code, Cursor, Claude Desktop, …) — без Tauri, без лицензии IDA, без Python-моста (см. docs/recurse-mcp.md)

Бэкенды анализа

Анализ идёт через единый трейт Engine (crates/recurse-static/src/engine.rs), поэтому движок — это выбор, а не жёсткая зависимость:

  • native (по умолчанию) — чистый Rust-парсинг ELF/PE/Mach-O и мультиархитектурное дизассемблирование (object + capstone): x86/x86-64, ARM, AArch64, MIPS, PowerPC, RISC-V, SPARC, SystemZ, M68K, BPF. Без дочерних процессов, без внешних инструментов, без LGPL в сборке. Включает декомпилятор (конвейер lift → optimize → structure из recurse-vtil — см. docs/vtil-lift.md) и операцию lift для деобфускации в стиле VTIL.
  • r2 (radare2) — поддерживается как опциональная альтернатива для установок, которым нужен собственный, более полный декомпилятор или сырая консоль. Установите r2 и выберите его в качестве движка; он работает как отдельный процесс и никогда не линкуется и не поставляется вместе с Recurse.
  • IDA Pro (ida) — опциональный headless-анализ и декомпиляция Hex-Rays через idat.

Выбирайте через меню настроек, переменную окружения RECURSE_BACKEND или сохранённую конфигурацию. Агент получает один нейтральный к бэкенду инструмент analyze (functions, disasm, graph, lift, decompile, xrefs, strings, imports, info, а также raw для консоли движка) — отфильтрованный до операций, которые фактически поддерживает активный движок, поэтому raw (у нативного движка нет консоли) предлагается только когда доступен. UI использует канонические типы результатов, а не JSON какого-либо движка. См. docs/backends.md для описания трейта, выбора крейтов и обоснования лицензирования. Открытие большого бинарника происходит быстро, потому что анализ ленивый — обнаружение индексирует функции дёшево, а базовые блоки декодируются только при просмотре функции; см. docs/lazy-analysis.md.

Почему бы просто не подключить MCP к IDA / не запустить всё наугад в Claude Code?

Прикрутить MCP-сервер к IDA/Ghidra или вставить дизассемблированный код в CLI-агента — это работает для CTF с 5 функциями и разваливается на реальных бинарниках. Recurse — это специализированная среда, а не обёртка над чат-ботом:

Скачать инструмент