fosdickio/binary_ninja_mcp

fosdickio/binary_ninja_mcp

от fosdickio
MCP сервер для Binary Ninja открывает доступ к функциям реверс-инжиниринга через LLM-клиенты: декомпиляция, типы, патчинг, ссылки и другое. Полезен для CTF, малвар-анализа.

Binary Ninja MCP

This repository contains a Binary Ninja plugin, MCP server, and bridge that enables seamless integration of Binary Ninja's capabilities with your favorite LLM client.

Binary Ninja MCP Logo

Features

  • Seamless, real-time integration between Binary Ninja and MCP clients
  • Enhanced reverse engineering workflow with AI assistance
  • Support for every MCP client (Cline, Claude desktop, Roo Code, etc.)
  • Open multiple binaries and switch the active target automatically

Examples

Solving a CTF Challenge

Check out this demo video on YouTube that uses the extension to solve a CTF challenge.

Components

This repository contains two separate components:

  1. A Binary Ninja plugin that provides an MCP server that exposes Binary Ninja's capabilities through HTTP endpoints. This can be used with any client that implements the MCP protocol.
  2. A separate MCP bridge component that connects your favorite MCP client to the Binary Ninja MCP server.

Prerequisites

  • Binary Ninja
  • Python 3.12+
  • MCP client (those with auto-setup support are listed below)
Инструменты были проиндексированы:
convert_number

Преобразует число или строку в несколько представлений (шестнадцатеричное/десятичное/двоичное, C-литералы).

Параметры
  • sizenumber

    Size in bytes (0 for auto)

  • textstringобязательный

    Number or string to convert (decimal, hex 0x7b, binary 0b1111011, char 'A', or string)

declare_c_type

Создаёт или обновляет локальный тип на основе объявления на C.

Параметры
  • c_declarationstringобязательный

    C type declaration

decompile_function

Декомпилирует указанную функцию по имени и возвращает декомпилированный C-код.

Параметры
  • namestringобязательный

    Function name or address

define_types

Определяет типы из строки C-кода.

Параметры
  • c_codestringобязательный

    C code containing type definitions

delete_comment

Удалить комментарий по конкретному адресу.

Параметры
  • addressstringобязательный

    Address (hex like 0x401000)

delete_function_comment

Удалить комментарий для функции.

Параметры
  • function_namestringобязательный

    Function name

fetch_disassembly

Извлекает дизассемблированный код функции в виде мнемонических инструкций ассемблера.

Параметры
  • namestringобязательный

    Function name

format_value

Преобразовать и аннотировать значение по адресу в Binary Ninja.

Параметры
  • addressstringобязательный

    Address (hex like 0x401000)

  • sizenumber

    Size in bytes

  • textstringобязательный

    Text to convert

function_at

Получает имя функции, которой принадлежит адрес.

Параметры
  • addressstringобязательный

    Address (hex format 0x00001)

get_binary_status

Получает текущий статус загруженного бинарного файла.

Параметры

Без параметров.

get_comment

Получает комментарий по указанному адресу.

Параметры
  • addressstringобязательный

    Address (hex like 0x401000)

get_data_decl

Возвращает строку, похожую на объявление, и hexdump для символа данных.

Параметры
  • lengthnumber

    Number of bytes

  • name_or_addressstringобязательный

    Symbol name or address (hex)

get_entry_points

Выведи точку(и) входа загруженного бинарного файла.

Параметры

Без параметров.

get_function_comment

Получить комментарий для функции.

Параметры
  • function_namestringобязательный

    Function name

get_il

Получить IL для функции в выбранном представлении (hlil, mlil, llil).

Параметры
  • name_or_addressstringобязательный

    Function name or address (hex like 0x401000)

  • ssaboolean

    Request SSA form (MLIL/LLIL only)

  • viewenum

    IL view: hlil, mlil, or llil

get_stack_frame_vars

Получить информацию о переменных стекового кадра функции (имена, смещения, размеры, типы).

Параметры
  • function_identifierstringобязательный

    Function name or address (hex)

get_type_info

Разрешить имя типа и вернуть его объявление и детали (вид, члены, значения перечисления).

Параметры
  • type_namestringобязательный

    Type name

get_user_defined_type

Извлекает определение определяемого пользователем типа (структура, перечисление, typedef, объединение).

Параметры
  • type_namestringобязательный

    Type name

get_xrefs_to

Получить все перекрёстные ссылки (кода и данных) на указанный адрес.

Параметры
  • addressstringобязательный

    Address (hex or decimal)

get_xrefs_to_enum

Получает использования/xrefs перечисления, сканируя значения его элементов и совпадения.

Параметры
  • enum_namestringобязательный

    Enum name

get_xrefs_to_field

Получить все перекрестные ссылки на именованное поле структуры (член).

Параметры
  • field_namestringобязательный

    Field name

  • struct_namestringобязательный

    Struct name

get_xrefs_to_struct

Получает перекрёстные ссылки/использования, связанные с именем структуры.

Параметры
  • struct_namestringобязательный

    Struct name

get_xrefs_to_type

Получить перекрестные ссылки/использования, связанные с именем структуры или типа.

Параметры
  • type_namestringобязательный

    Type name

get_xrefs_to_union

Получить перекрестные ссылки/использования, связанные с типом-объединением, по имени.

Параметры
  • union_namestringобязательный

    Union name

hexdump_address

Hexdump данных, начиная с адреса.

Параметры
  • addressstringобязательный

    Address (hex like 0x401000)

  • lengthnumber

    Number of bytes (use -1 for defined size)

hexdump_data

Сделать hexdump символа данных по имени или адресу.

Параметры
  • lengthnumber

    Number of bytes (use -1 for defined size)

  • name_or_addressstringобязательный

    Symbol name or address (hex)

list_all_strings

Перечисли все строки в базе данных (агрегированные по страницам).

Параметры
  • batch_sizenumber

    Batch size for aggregation

list_binaries

Вывести управляемые/открытые бинарные файлы, известные серверу, с их идентификаторами и флагом активности.

Параметры

Без параметров.

list_classes

Перечисли все имена пространств имен и классов в программе с пагинацией.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_data_items

Вывести список заданных меток данных и их значений с пагинацией.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_exports

Список экспортируемых функций/символов с пагинацией.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_imports

Вывести список импортированных символов в программе с постраничным выводом.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_local_types

Вывести все локальные типы в базе данных (с постраничной разбивкой).

Параметры
  • countnumber

    Number of results to return

  • include_librariesboolean

    Include library types

  • offsetnumber

    Offset for pagination

list_methods

Выведи все названия функций в программе с пагинацией.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_namespaces

Вывести список всех неглобальных пространств имен в программе с постраничной навигацией.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_platforms

Перечисли все доступные названия платформ из Binary Ninja.

Параметры

Без параметров.

list_sections

Вывести список разделов программы с пагинацией.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_segments

Вывести список всех сегментов памяти в программе с разбивкой на страницы.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_strings

Перечислить все строки в базе данных (постранично).

Параметры
  • countnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

list_strings_filter

Перечислить совпадающие строки в базе данных (постранично, с фильтрацией).

Параметры
  • countnumber

    Number of results to return

  • filterstring

    Filter string

  • offsetnumber

    Offset for pagination

make_function_at

Создает функцию по заданному адресу.

Параметры
  • addressstringобязательный

    Address (hex like 0x401000 or decimal)

  • platformstring

    Platform (e.g., linux-x86_64)

patch_bytes

Патчит байты по указанному адресу в бинарном файле.

Параметры
  • addressstringобязательный

    Address (hex like 0x401000 or decimal)

  • datastringобязательный

    Hex string of bytes to write (e.g., '90 90' or '9090')

  • save_to_fileboolean

    Save patched binary to disk

rename_data

Переименовать метку данных по указанному адресу.

Параметры
  • addressstringобязательный

    Address (hex like 0x401000)

  • new_namestringобязательный

    New name for the data label

rename_function

Переименовывает функцию по её текущему имени. Настроенный префикс будет добавлен автоматически, если он отсутствует.

Параметры
  • new_namestringобязательный

    New function name

  • old_namestringобязательный

    Current function name

rename_multi_variables

Переименовывает несколько локальных переменных за один вызов.

Параметры
  • function_identifierstringобязательный

    Function name or address (hex)

  • mapping_jsonstring

    JSON object old->new

  • pairsstring

    Comma-separated old:new pairs

  • renames_jsonstring

    JSON array of {old,new} objects

rename_single_variable

Переименовать переменную в функции.

Параметры
  • function_namestringобязательный

    Function name

  • new_namestringобязательный

    New variable name

  • variable_namestringобязательный

    Current variable name

retype_variable

Изменяет тип переменной в функции.

Параметры
  • function_namestringобязательный

    Function name

  • type_strstringобязательный

    New type for the variable

  • variable_namestringобязательный

    Variable name

search_functions_by_name

Выполняет поиск функций, имя которых содержит указанную подстроку.

Параметры
  • limitnumber

    Number of results to return

  • offsetnumber

    Offset for pagination

  • querystringобязательный

    Search query string

search_types

Поиск локальных типов, имя или объявление которых содержит подстроку.

Параметры
  • countnumber

    Number of results to return

  • include_librariesboolean

    Include library types

  • offsetnumber

    Offset for pagination

  • querystringобязательный

    Search query

select_binary

Выбирает бинарный файл для анализа по порядковому номеру, внутреннему идентификатору представления, полному пути или базовому имени.

Параметры
  • viewstringобязательный

    Ordinal, view id, full path, or basename

set_comment

Устанавливает комментарий по конкретному адресу.

Параметры
  • addressstringобязательный

    Address (hex like 0x401000)

  • commentstringобязательный

    Comment text

set_function_comment

Задать комментарий для функции.

Параметры
  • commentstringобязательный

    Comment text

  • function_namestringобязательный

    Function name

set_function_prototype

Устанавливает прототип функции по имени или адресу.

Параметры
  • name_or_addressstringобязательный

    Function name or address

  • prototypestringобязательный

    New function prototype

set_local_variable_type

Устанавливает тип локальной переменной.

Параметры
  • function_addressstringобязательный

    Function address or name

  • new_typestringобязательный

    New type

  • variable_namestringобязательный

    Variable name

Похожие MCP-сервера

zinja-coder/jadx-ai-mcp

zinja-coder/jadx-ai-mcp

JADX-AI-MCP - плагин для декомпилятора JADX с интеграцией MCP, позволяющий LLM (Claude) в реальном времени анализировать Android APK, искать уязвимости и давать рекомендации по реверс-инжинирингу.

Java2771
Neverlow512/agent-droid-bridge

Neverlow512/agent-droid-bridge

MCP-сервер для подключения AI-агентов к Android-устройствам через ADB. Используется в мобильной автоматизации, тестировании и реверс-инжиниринге: скриншоты, касания, ввод текста, управление приложе...

Python22
zinja-coder/apktool-mcp-server

zinja-coder/apktool-mcp-server

MCP сервер для автоматического анализа Android APK с помощью LLM. Декомпилирует приложения, исследует манифест, ресурсы и smali-код, выявляет уязвимости и позволяет модифицировать файлы через ИИ-ассистента. Полезен реверс-инженерам и специалистам по безопасности.

Python649
GUCCI-atlasv/skillssafe-mcp

GUCCI-atlasv/skillssafe-mcp

MCP сервер SkillsSafe сканирует SKILL.md и конфиги на угрозы: кражу данных, prompt-инъекции, shell-инъекции. Бесплатный инструмент без регистрации для защиты AI-агентов. Полезен разработчикам, рабо...

JavaScript1
muhannad-hash/mcp-shield

muhannad-hash/mcp-shield

mcp-shield - сканер безопасности MCP-серверов, выявляющий бэкдоры, утечки данных, инъекции промптов и риски цепочки поставок. Позволяет аудировать npm-пакеты или локальные директории перед подключе...

TypeScript2
slouchd/cyberchef-api-mcp-server

slouchd/cyberchef-api-mcp-server

MCP сервер, подключающий CyberChef к LLM-ассистентам. Выполняет декодирование, шифрование и преобразование данных через рецепты и магическое автоопределение. Полезен для анализа данных и автоматизации работы с информацией.

Python44
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин