JADX-MCP-SERVER (Parte de la suite MCP de ingeniería inversa de Zin)
⚡ Servidor MCP totalmente automatizado creado para comunicarse con el complemento JADX-AI-MCP para analizar APK de Android usando LLM como Claude: descubra vulnerabilidades, analice manifiestos y realice ingeniería inversa sin esfuerzo.
Descargar ahora: https://github.com/zinja-coder/jadx-ai-mcp/releases
🤖 ¿Qué es JADX-MCP-SERVER?
El servidor JADX MCP es un servidor Python independiente que interactúa con una versión modificada de jadx-gui
(véase: jadx-ai-mcp ) mediante MCP (Protocolo de Contexto de Modelo). Permite que los LLM se comuniquen en tiempo real con el contexto de la aplicación Android descompilada.
🤖 ¿Qué es JADX-AI-MCP?
JADX-AI-MCP es un complemento para el descompilador JADX que se integra directamente con Model Context Protocol (MCP) para brindar soporte de ingeniería inversa en vivo con LLM como Claude .
Piense: "Descompilar → Revisión de código según el contexto → Recomendaciones de IA", todo en tiempo real.
¡Mira la demostración!
https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a
https://github.com/user-attachments/assets/c184afae-3713-4bc0-a1d0-546c1f4eb57f
https://github.com/user-attachments/assets/6342ea0f-fa8f-44e6-9b3a-4ceb8919a5b0
Es una combinación de dos herramientas:
- JADX-AI-MCP
- SERVIDOR JADX MCP
Zin MCP Suie
Herramientas MCP actuales
Las siguientes herramientas MCP están disponibles:
fetch_current_class()
— Obtiene el nombre de la clase y la fuente completa de la clase seleccionadaget_selected_text()
— Obtener el texto seleccionado actualmenteget_all_classes()
— Lista todas las clases en el proyectoget_class_source()
— Obtener el código fuente completo de una clase determinadaget_method_by_name()
— Obtener el código fuente de un métodosearch_method_by_name()
— Método de búsqueda en todas las clasesget_methods_of_class()
— Enumera los métodos de una claseget_fields_of_class()
— Lista de campos en una claseget_smali_of_class()
— Obtener el pequeño tamaño de la claseget_main_activity_class()
— Obtiene la actividad principal de jadx mencionada en el archivo AndroidManifest.xml.get_main_application_classes_code()
— Obtiene el código de todas las clases de la aplicación principal según el nombre del paquete definido en AndroidManifest.xml.get_main_application_classes_names()
— Obtiene todos los nombres de las clases de la aplicación principal según el nombre del paquete definido en AndroidManifest.xml.get_android_manifest()
— Recupera y devuelve el contenido de AndroidManifest.xml.get_strings()
: obtiene el archivo strings.xmlget_all_resource_file_names()
: recupera todos los nombres de archivos de recursos que existen en la aplicaciónget_resource_file()
: recupera el contenido del archivo de recursos
Nota: Probado en Claude Desktop. Es posible que se pruebe la compatibilidad con otros LLM en el futuro.
🗒️ Ejemplos de indicaciones
🔍 Comprensión básica del código
🛡️ Detección de vulnerabilidades
🛠️ Ayudantes de ingeniería inversa
📦 Análisis estático
🤖 Modificación del código de IA
📄 Documentación y metadatos
🛠️ Primeros pasos
Ejecución en LLM local con Ollama y el cliente Zin MCP (recomendado)
⚡ Cliente MCP liviano, rápido, simple y basado en CLI para servidores MCP STDIO, para llenar el vacío y proporcionar un puente entre sus LLM locales que ejecutan Ollama y servidores MCP.
Compruébelo ahora: https://github.com/zinja-coder/zin-mcp-client
Demostración: Realice una revisión de código para encontrar vulnerabilidades localmente
https://github.com/user-attachments/assets/4cd26715-b5e6-4b4b-95e4-054de6789f42
🛣️ Hoja de ruta futura
- [x] Agregar soporte para apktool
- [ ] Agregar soporte para código hermes (aplicación ReactNative)
- [ ] Agregar más herramientas MCP útiles
- [ ] Hacer que LLM pueda modificar el código en JADX
- [ ] Agregar plantillas de indicaciones, dar a llm acceso a archivos APK de Android como recursos
- [ ] Construir cliente MCP para soportar LLM local
- [ ] OBJETIVO FINAL : Hacer que todas las herramientas de ingeniería inversa y modificación de APK de Android se conecten con un solo servidor MCP para hacer que la ingeniería inversa de archivos apk sea lo más fácil posible simplemente desde las vibraciones.
NOTA Para los colaboradores
- Los archivos relacionados con JADX-AI-MCP se pueden encontrar aquí
- Los archivos relacionados con jadx-mcp-server solo se pueden encontrar en este repositorio.
🙏 Créditos
Este proyecto es un complemento para JADX, un increíble descompilador de Android de código abierto creado y mantenido por @skylot . Toda la lógica de descompilación principal les pertenece. Solo lo he ampliado para que sea compatible con mi servidor MCP con capacidades de IA.
El README.md original de jadx se incluye aquí en este repositorio como referencia y crédito.
Este servidor MCP es posible gracias a la extensibilidad de JADX-GUI y la increíble comunidad de ingeniería inversa de Android.
También un enorme agradecimiento a @aaddrick por desarrollar el escritorio Claude para Linux basado en Debian.
Y por último, gracias a @anthropics por desarrollar el Protocolo de Contexto Modelo y al equipo de @FastMCP .
Y todos los mantenedores y colaboradores de código abierto que crean bibliotecas y dependencias que permiten que proyectos como este sean posibles.
Insignia de evaluación auditada y recibida
Gracias a Mseep.net por auditar y proporcionar la insignia de evaluación.
📄 Licencia
Este complemento hereda la licencia Apache 2.0 del repositorio JADX original.
⚖️ Aviso legal
Descargo de responsabilidad
Las herramientas jadx-ai-mcp
y jadx_mcp_server
están diseñadas exclusivamente para fines educativos, de investigación y de evaluación de la seguridad ética. Se proporcionan "tal cual", sin garantías, expresas ni implícitas. Los usuarios son los únicos responsables de garantizar que el uso de estas herramientas cumpla con todas las leyes, regulaciones y directrices éticas aplicables.
Al usar jadx-ai-mcp
o jadx_mcp_server
, acepta usarlos únicamente en entornos para los que esté autorizado a realizar pruebas, como aplicaciones de su propiedad o con permiso explícito para analizar. Queda estrictamente prohibido cualquier uso indebido de estas herramientas para ingeniería inversa no autorizada, infracción de derechos de propiedad intelectual o actividad maliciosa.
Los desarrolladores de jadx-ai-mcp
y jadx_mcp_server
no se responsabilizan de ningún daño, pérdida de datos, consecuencias legales u otras consecuencias derivadas del uso o mal uso de estas herramientas. Los usuarios asumen plena responsabilidad por sus acciones y cualquier impacto derivado de su uso.
Úselo con responsabilidad. Respete la propiedad intelectual. Siga las prácticas de piratería ética.
🙌 Contribuye o apoya
- ¿Te resultó útil? Dale un ⭐️
- ¿Tienes ideas? Abre un problema o envía una solicitud de relaciones públicas.
- ¿Construiste algo encima? Envíame un mensaje o mencióname. ¡Lo añadiré al README!
Creado con ❤️ para las comunidades de ingeniería inversa e IA.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Un servidor de protocolo de contexto de modelo que se conecta a una bifurcación JADX personalizada (JADX-AI) y permite que los LLM locales interactúen con el código de aplicación de Android descompilado para brindar asistencia de ingeniería inversa en vivo.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables building Android projects and running tests directly in Visual Studio Code through extensions like Cline or Roo Code.Last updated -1PythonMIT License
- -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 -PythonMIT License
- -securityFlicense-qualityA server that exposes the Jadx decompiler API over HTTP, enabling Claude to interact with decompiled Java/Android code to list classes, fetch source code, inspect methods/fields, and extract code live.Last updated -42
- AsecurityAlicenseAqualityA Model Context Protocol server that fetches up-to-date, version-specific documentation and code examples from libraries directly into LLM prompts, helping developers get accurate answers without outdated or hallucinated information.Last updated -2112,88710,091JavaScriptMIT License