Integrations
Used to run the MCP server that bridges AI assistants with IDA Pro, enabling remote binary analysis capabilities through a structured API.
Enables execution of Python scripts within IDA Pro for reverse engineering tasks, allowing AI assistants to interact with binary analysis functions through a standardized interface.
Provides the client interface and MCP server implementation for enabling AI assistants to interact with IDA Pro's binary analysis capabilities.
Servidor IDA Pro MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA interactuar con IDA Pro para tareas de ingeniería inversa y análisis binario.
Descripción general
Este proyecto conecta los asistentes de IA con IDA Pro, un popular desensamblador y depurador utilizado para la ingeniería inversa de software. Consta de tres componentes principales:
- Complemento de control remoto de IDA Pro (
ida_remote_server.py
): un complemento de IDA Pro que crea un servidor HTTP para controlar de forma remota las funciones de IDA Pro. - Cliente remoto IDA (
idaremoteclient.ts
): un cliente TypeScript para interactuar con el servidor de control remoto IDA Pro. - Servidor MCP (
index.ts
): un servidor de protocolo de contexto de modelo que expone la funcionalidad de IDA Pro a los asistentes de IA.
Características
- Ejecute scripts de Python en IDA Pro desde asistentes de IA
- Recuperar información sobre los binarios:
- Instrumentos de cuerda
- Importaciones
- Exportaciones
- Funciones
- Capacidades avanzadas de análisis binario:
- Búsqueda de valores inmediatos en las instrucciones
- Buscar cadenas de texto en el binario
- Buscar secuencias de bytes específicas
- Obtener desmontaje para rangos de direcciones
- Automatice las operaciones de IDA Pro a través de una interfaz estandarizada
- Comunicación segura entre componentes
Prerrequisitos
- IDA Pro 8.3 o posterior
- Node.js 18 o posterior
- Mecanografiado
Ejemplo de uso ida_remote_server.py
Ejemplo de uso del servidor MCP
Instalación
1. Instale el complemento de control remoto IDA Pro
- Copie
ida_remote_server.py
a su directorio de complementos de IDA Pro:- Windows:
%PROGRAMFILES%\IDA Pro\plugins
- macOS:
/Applications/IDA Pro.app/Contents/MacOS/plugins
- Linux:
/opt/idapro/plugins
- Windows:
- Inicie IDA Pro y abra un archivo binario.
- El complemento iniciará automáticamente un servidor HTTP en
127.0.0.1:9045
.
2. Instalar el servidor MCP
- Clonar este repositorio:Copy
- Instalar dependencias:Copy
- Construir el proyecto:Copy
- Configure el servidor MCP en el archivo de configuración MCP de su asistente de IA:Copy
Uso
Una vez instalado y configurado, el servidor MCP proporciona la siguiente herramienta a los asistentes de IA:
comando_ejecutar_ida
Ejecuta un script de Python de IDA Pro.
Parámetros:
scriptPath
(obligatorio): ruta absoluta al archivo de script a ejecutaroutputPath
(opcional): ruta absoluta donde guardar la salida del script
Ejemplo:
El asistente de IA puede entonces usar este script con:
valor_inmediato_de_búsqueda
Busca valores inmediatos en las instrucciones del binario.
Parámetros:
value
(obligatorio): Valor a buscar (número o cadena)radix
(opcional): Base para conversión de números (predeterminado: 16)startAddress
(opcional): Dirección de inicio para la búsquedaendAddress
(opcional): Dirección final para la búsqueda
Ejemplo:
texto de búsqueda
Busca cadenas de texto en el binario.
Parámetros:
text
(obligatorio): Texto a buscarcaseSensitive
(opcional): si la búsqueda distingue entre mayúsculas y minúsculas (valor predeterminado: falso)startAddress
(opcional): Dirección de inicio para la búsquedaendAddress
(opcional): Dirección final para la búsqueda
Ejemplo:
secuencia_de_bytes_de_búsqueda
Busca una secuencia de bytes específica en el binario.
Parámetros:
bytes
(obligatorio): secuencia de bytes a buscar (por ejemplo, "90 90 90" para tres NOP)startAddress
(opcional): Dirección de inicio para la búsquedaendAddress
(opcional): Dirección final para la búsqueda
Ejemplo:
obtener_desmontaje
Obtiene el desmontaje para un rango de direcciones.
Parámetros:
startAddress
(obligatorio): Dirección de inicio para el desmontajeendAddress
(opcional): Dirección final para el desmontajecount
(opcional): Número de instrucciones para desmontar
Ejemplo:
obtener_funciones
Obtiene la lista de funciones del binario.
Parámetros:
- No se requiere ninguno
Ejemplo:
obtener_exportaciones
Obtiene la lista de exportaciones del binario.
Parámetros:
- No se requiere ninguno
Ejemplo:
obtener_cadenas
Obtiene la lista de cadenas del binario.
Parámetros:
- No se requiere ninguno
Ejemplo:
API de control remoto de IDA Pro
El complemento de control remoto IDA Pro expone los siguientes puntos finales HTTP:
GET /api/info
: Obtener información del complementoGET /api/strings
: Obtener cadenas del binarioGET /api/exports
: Obtener exportaciones del binarioGET /api/imports
: Obtener importaciones del binarioGET /api/functions
: Obtener la lista de funcionesGET /api/search/immediate
: busca valores inmediatos en las instruccionesGET /api/search/text
: Busca texto en el binarioGET /api/search/bytes
: busca secuencias de bytes en el binarioGET /api/disassembly
: Obtener el desensamblado para un rango de direccionesPOST /api/execute
: Ejecutar script de Python (JSON/Formulario)POST /api/executebypath
: Ejecutar script de Python desde la ruta del archivoPOST /api/executebody
: Ejecutar script de Python desde el cuerpo sin formato
Consideraciones de seguridad
De forma predeterminada, el complemento de control remoto de IDA Pro solo escucha en 127.0.0.1
(localhost) por razones de seguridad. Esto impide el acceso remoto a su instancia de IDA Pro.
Si necesita permitir el acceso remoto, puede modificar la variable DEFAULT_HOST
en ida_remote_server.py
, pero tenga en cuenta las implicaciones de seguridad.
Desarrollo
Construyendo desde la fuente
Ejecución de pruebas
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.
Autor
Florian Drechsler (@fdrechsler) fd@fdrechsler.com
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA interactuar con IDA Pro para tareas de ingeniería inversa y análisis binario.
- Descripción general
- Características
- Prerrequisitos
- Instalación
- Uso
- API de control remoto de IDA Pro
- Consideraciones de seguridad
- Desarrollo
- Licencia
- Autor
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that allows secure execution of pre-approved commands, enabling AI assistants to safely interact with the user's system.Last updated -1318JavaScript
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.Last updated -1Python
- AsecurityAlicenseAqualityA Model Context Protocol server for IDA interaction and automation. This server provides tools to read IDA database via Large Language Models.Last updated -19415PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants to search and retrieve information about security exploits and vulnerabilities from the Exploit Database, enhancing cybersecurity research capabilities.Last updated -4TypeScriptMIT License