local-only server
The server can only run on the client’s local machine because it depends on local resources.
⚙️ 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 (Copy
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
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.