⚙️ Complemento MCP de Jadx: acceso al descompilador para Claude a través de MCP
Este proyecto proporciona un complemento Jadx escrito en Java que expone la API de Jadx a través de HTTP , lo que permite la interacción en vivo con clientes MCP como Claude mediante el Protocolo de Contexto de Modelo (MCP) . Un adaptador FastMCP ligero en Python actúa como puente entre Claude y el complemento. Esto permite la navegación inteligente y la automatización de flujos de trabajo de ingeniería inversa, ideal para el análisis de seguridad asistido por IA de aplicaciones Android.
🧰 Instrucciones de configuración
Instalar dependencias de Python
🧠 Configurar la integración del cliente Claude MCP
Para usar este adaptador en Claude Desktop, vaya a File
-> Settings
-> Developer
-> Edit Config
-> claude_desktop_config.json
y agregue un servidor MCP que apunte al ejecutable de Python en venv (para evitar problemas de dependencia) y la ruta completa del adaptador siguiendo los siguientes ejemplos:
Ventanas:
MacOS/Linux:
Asegúrate de reiniciar (Salir) Claude después de editar la configuración. Tras reiniciar, debería verse así:
✅ Flujo de uso
- Abra Jadx con el último JAR del complemento de las versiones ubicadas en su carpeta
plugins/
o cárguelo a través dePlugins
->install plugin
. - Cargar un archivo APK o DEX
- (Opcional) Puede especificar la dirección de la interfaz HTTP iniciando Jadx con:Esto es útil si desea cambiar el host/puerto predeterminado (
http://localhost:8085
).Nota: Si cambia la dirección de la interfaz aquí, asegúrese de actualizar también la URL correspondiente en
fastmcp_adapter.py
para que coincida. - Claude detectará y activará las herramientas del servidor Jadx MCP.
- Ahora puedes enumerar clases, obtener código fuente, inspeccionar métodos/campos y extraer código en vivo.
🧪 Herramientas proporcionadas
Herramienta | Descripción |
---|---|
list_all_classes | Obtener todos los nombres de clases descompilados |
search_class_by_name | Buscar clases que coincidan con una cadena |
get_class_source | Obtener el código fuente completo de una clase determinada |
search_method_by_name | Buscar métodos que coincidan con una cadena |
get_methods_of_class | Enumerar todos los nombres de métodos en una clase |
get_fields_of_class | Enumerar todos los nombres de campos en una clase |
get_method_code | Extraer código descompilado para un método |
🛠 Desarrollo
☕ Complemento de Java
El complemento de Java se encuentra en:
Utiliza la API JadxPlugin
( jadx.api.*
) para:
- Cargar clases y métodos descompilados
- Sirva datos estructurados a través de un servidor HTTP integrado
- Responder a los puntos finales
/invoke
y/tools
🚀 Instalación automatizada con tareas de Gradle
Puede utilizar la siguiente tarea de Gradle para crear e instalar el complemento en un solo paso:
Esto usa la CLI
jadx plugins
. Asegúrate de que Jadx esté instalado y disponible en tuPATH
.
Para otras tareas relacionadas con el complemento (desinstalar, habilitar/deshabilitar), consulte las definiciones de tareas en plugin/build.gradle
.
🔧 Instalación manual
Para crear el complemento:
Instale el JAR del complemento usando la CLI jadx plugins
:
Alternativamente, coloque el archivo .jar
compilado en su carpeta Jadx plugins/
, generalmente ubicada en: ~/.jadx/plugins/
Si coloca el JAR manualmente, también deberá habilitar el complemento a través de la GUI de Jadx o ejecutando:
Adaptador FastMCP de Python
El archivo del adaptador es:
Traduce las llamadas a la herramienta MCP de Claude a HTTP POST para el servidor de plugins de Jadx en ejecución. Asegúrate de que Jadx esté abierto antes de iniciar Claude.
🤝 Contribuyendo
¡Las relaciones públicas, las solicitudes de funciones y las extensiones de herramientas son bienvenidas!
Este proyecto es mantenido por Mobile Hacking Lab .
Créditos
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Un servidor que expone la API del descompilador Jadx a través de HTTP, lo que permite a Claude interactuar con el código Java/Android descompilado para enumerar clases, obtener el código fuente, inspeccionar métodos/campos y extraer código en vivo.
Related MCP Servers
- AsecurityFlicenseAqualityProvides a secure, isolated JavaScript execution environment with configurable time and memory limits for safely running code from Claude.Last updated -124JavaScript
- AsecurityFlicenseAqualityA secure JavaScript REPL server that enables executing code snippets in a sandboxed environment with memory protection, timeout handling, and comprehensive error reporting.Last updated -21507JavaScript
- -securityAlicense-qualityA server that enables seamless integration of Binary Ninja's reverse engineering capabilities with LLM assistance, allowing AI tools like Claude to interact with binary analysis features in real-time.Last updated -42PythonGPL 3.0
- -securityAlicense-qualityA Model Context Protocol server that enables Large Language Models to interact with Binary Ninja for reverse engineering tasks like viewing assembly code, decompiled code, renaming functions, and adding comments.Last updated -2PythonMIT License