No existe una herramienta mejor para analizar un APK, porque las que hay en el mercado responden preguntas distintas. Un escáner multimotor dice si un fichero ya es conocido. Un servicio de análisis estático explica de qué es capaz una aplicación. Un sandbox muestra qué hizo durante una ejecución. Un decompilador enseña el código. Elegir bien empieza por saber de cuál de esas preguntas depende la decisión que tiene delante el analista.
Esta comparativa cubre las herramientas más usadas sobre aplicaciones Android, agrupadas por la pregunta que responden: VirusTotal, Droidwatch, MobSF, ANY.RUN y el conjunto manual formado por jadx, apktool y Frida. Para cada una se describe qué hace, adónde va la muestra y en qué situación encaja. Droidwatch, que publica esta comparativa, es una de las herramientas incluidas.
Cinco preguntas, cinco tipos de herramienta
| Pregunta | Tipo de herramienta | Ejemplos |
|---|---|---|
| ¿Alguien ha visto antes este fichero? | Servicio de reputación multimotor | VirusTotal |
| ¿Qué puede hacer esta aplicación y por qué importa? | Análisis estático, alojado o en servidores propios | Droidwatch, MobSF |
| ¿Pueden correr el análisis estático y el dinámico en infraestructura propia? | Framework de código abierto en infraestructura propia | MobSF |
| ¿Qué hace la aplicación cuando se ejecuta? | Sandbox interactivo | ANY.RUN |
| ¿Qué hace exactamente este código? | Decompiladores e instrumentación | jadx, apktool, Frida |
Estas herramientas suelen combinarse. El orden importa: una búsqueda por hash cuesta segundos, mientras que una ejecución en sandbox o una revisión manual cuestan tiempo de analista.
Reputación multimotor: VirusTotal
VirusTotal inspecciona lo que se le envía con más de 70 antivirus y servicios de listas de bloqueo de URL y dominios; para un fichero, devuelve cómo lo clasificó cada antivirus. En un APK, el resultado útil llega rápido: si el hash ya se vio y varios motores coinciden en el nombre de una familia, el analista tiene una pista en segundos.
Dos propiedades condicionan cómo usarlo.
Su respuesta central es «conocido o desconocido». Un resultado limpio sobre una muestra recién compilada significa que ningún motor la reconoce todavía, no que sea benigna. Los sandboxes de Android de VirusTotal añaden informes de comportamiento para algunas muestras, pero el veredicto multimotor sigue siendo un conjunto de etiquetas, y las de motores distintos a menudo no coinciden.
Los envíos se comparten. La propia documentación de VirusTotal indica que los informes de análisis se comparten con su comunidad pública y que el contenido de los ficheros enviados puede compartirse con sus clientes premium. Con malware público, ése es precisamente el sentido del servicio. Con una build sin publicar de la app de un banco, o con un APK que un cliente envió al equipo de fraude, es motivo para buscar por hash en lugar de subir el fichero.
Encaja en: la primera consulta sobre cualquier muestra sospechosa, por hash.
Análisis estático alojado: Droidwatch
Droidwatch recibe un fichero APK, AAB, XAPK, DEX o IPA y devuelve un informe sin ejecutar la muestra. Una sola subida dispara una cadena de 28 etapas que produce más de 25 análisis independientes: manifiesto y permisos, certificado de firma comparado con el de Google Play, bytecode DEX y ofuscación, librerías nativas y packers, detección de familia con YARA, 87 SDK de terceros identificados por firma con consulta en vivo a OSV.dev (OSV cubre 12 de esos 87) y extracción de indicadores de mando y control, incluida la configuración cifrada cuando la muestra lo permite.
El resultado es un informe puntuado, no una lista de detecciones. El riesgo se puntúa de 0 a 100, donde más alto es peor: 65 o más es Malicious, 40-64 High Risk, 20-39 Suspicious y menos de 20 Benign. Cada hallazgo lleva su razonamiento, los hallazgos se mapean a técnicas de MITRE ATT&CK Mobile y a categorías de OWASP MASVS, y el informe se exporta a STIX 2.1, PDF, DOCX, JSON y CSV. El resumen en prosa lo genera un motor de reglas, de modo que no puede describir una fase de ataque que los hallazgos no respalden. Un APK de 50 MB tarda de dos a cinco minutos.
Los envíos son privados por defecto. Sin cuenta se dispone de tres análisis al día de hasta 150 MB; una cuenta gratuita permite cinco al día de hasta 200 MB.
Límites. El análisis estático establece capacidad, no comportamiento: no ve el código que se descarga o se descifra en ejecución, y el tiempo crece con el tamaño, hasta una media de ocho a diez minutos por encima de 100 MB. El análisis dinámico existe sólo para Android, desde el plan Pro, y se ejecuta en el dispositivo o emulador del propio cliente mediante el agente de Droidwatch; no hay sandbox alojado. El análisis de iOS es sólo estático, en siete módulos. Droidwatch no es un decompilador: informa sobre el código, no sustituye a leerlo.
Encaja en: triaje que debe terminar en una decisión defendible, revisión de la cadena de suministro de las builds propias y control de entregas en CI/CD. La estructura completa del informe está en Analizar un APK online: qué ves en el informe.
Framework de código abierto en infraestructura propia: MobSF
Mobile Security Framework es un proyecto de código abierto, con licencia GPL-3.0, para pruebas automatizadas de aplicaciones Android, iOS y Windows. Hace análisis estático de paquetes APK, IPA y APPX y de código fuente, y análisis dinámico en Android e iOS con pruebas instrumentadas y captura del tráfico de red. Se distribuye como imagen Docker y ofrece API REST y herramientas de línea de comandos para integrarlo en pipelines.
Su ventaja principal es el control: todo corre en infraestructura que opera el propio equipo, algo decisivo para organizaciones que no pueden enviar binarios a ningún tercero. El coste es operativo. Alguien tiene que mantener el contenedor, actualizar dependencias y reglas, escalar los workers cuando crece el volumen y preparar los emuladores o dispositivos que exige el análisis dinámico.
Encaja en: equipos con requisitos estrictos de residencia de datos y tiempo de ingeniería para operar la pila. La comparativa detallada con Droidwatch está en la página alternativa a MobSF.
Sandbox interactivo: ANY.RUN
ANY.RUN incorporó Android a su sandbox interactivo en marzo de 2025. El entorno está basado en ARM, y el analista puede interactuar con la sesión mientras corre. El análisis de Android está disponible en el plan gratuito además de en los de pago.
Un sandbox responde una pregunta que el análisis estático no puede responder: qué hizo de verdad la aplicación durante esa sesión, incluido el tráfico de red que generó y las pantallas que mostró. Sus límites son los habituales del análisis dinámico. Una muestra que detecta el emulador, espera un disparador o depende de un servidor de mando y control que ya no responde puede no hacer nada visible. Como con cualquier servicio de terceros, antes de subir una muestra confidencial conviene comprobar la visibilidad de los envíos en el plan que se use.
Encaja en: confirmar el comportamiento de una muestra que el análisis estático ya marcó, sobre todo cuando los objetivos o las inyecciones los entrega el servidor. Las ventajas y limitaciones de cada enfoque están en análisis estático vs dinámico de malware Android.
Decompiladores e instrumentación: jadx, apktool y Frida
El conjunto manual es gratuito, local y la opción más precisa que existe, a cambio de tiempo de analista.
- jadx decompila el bytecode DEX a Java legible, con una interfaz gráfica para navegar por las clases. Es la forma más rápida de leer qué hace un método.
- apktool decodifica los recursos y el manifiesto, desensambla el bytecode a smali y puede reconstruir el paquete. Es la herramienta para inspeccionar recursos, layouts y assets, o para parchear una aplicación en laboratorio.
- Frida inyecta scripts en un proceso en ejecución para enganchar métodos, inspeccionar argumentos y saltarse comprobaciones como el certificate pinning o la detección de root. El análisis dinámico de Droidwatch está construido sobre Frida; la guía de configuración del dispositivo explica la conexión.
Estas herramientas responden la pregunta que las demás dejan abierta: qué hace exactamente un fragmento concreto de código. No producen un veredicto, una puntuación ni un informe que pueda leer un comité de revisión.
Encaja en: ingeniería inversa de una familia desconocida, confirmar un hallazgo antes de llevarlo a un expediente de incidente e investigación.
Comparativa lado a lado
| VirusTotal | Droidwatch | MobSF | ANY.RUN | jadx / apktool / Frida | |
|---|---|---|---|---|---|
| Pregunta principal | ¿Es conocido? | ¿Qué puede hacer? | Lo mismo, en servidores propios | ¿Qué hizo? | ¿Qué hace este código? |
| Dónde corre | Alojado | Alojado | Infraestructura del equipo | Alojado | Equipo del analista |
| Ejecuta la muestra | Depende de los sandboxes que intervengan | No (dinámico: sólo Android, desde Pro, en el dispositivo o emulador del cliente) | Sí, en modo dinámico | Sí | Sólo Frida |
| Resultado típico | Detecciones por motor | Informe puntuado, mapeo ATT&CK y MASVS, cinco formatos de exportación | Informe estático y dinámico | Registro de la sesión, tráfico de red | Código y hooks |
| Envíos | Compartidos con la comunidad y con clientes premium | Privados por defecto | No salen del equipo | Revisar las condiciones del plan | No salen de la máquina |
| Esfuerzo de operación | Ninguno | Ninguno en estático; dispositivo propio y agente en dinámico | Alto | Ninguno | Tiempo de analista |
Qué usar en cada situación
Un analista del SOC con un APK sospechoso de un ticket. Primero, búsqueda del hash en VirusTotal. Si la muestra es desconocida o las etiquetas no coinciden, un informe estático para llegar a una clasificación con razones, y un sandbox sólo si la decisión depende del comportamiento. La secuencia está en el flujo de triaje de un APK sospechoso.
El equipo de seguridad de aplicaciones de un banco. Sus builds nunca deberían ir a un servicio que comparte los envíos. El análisis estático en el pipeline de entrega detecta hallazgos de cadena de suministro y configuración antes de publicar; escanear APK en CI/CD explica la configuración. MobSF es la alternativa cuando ningún binario puede salir de la organización.
Un equipo de fraude que recibe APK de clientes. Las muestras pueden contener datos personales, lo que descarta los servicios que comparten lo que se sube. Un informe estático privado da los indicadores que bloquear y la explicación para negocio; el análisis dinámico en el dispositivo propio confirma el comportamiento cuando hace falta. Es el caso típico de los troyanos bancarios que llegan por enlaces de smishing en América Latina.
Un ingeniero inverso ante una familia nueva. jadx y apktool para el código, Frida para el comportamiento en ejecución y un sandbox para el panorama de red. Un informe estático sirve como mapa antes de empezar, no como sustituto del trabajo.
Preguntas frecuentes
¿Cuál es la mejor herramienta para analizar un APK? Depende de la pregunta. VirusTotal dice si un fichero ya es conocido; un servicio de análisis estático como Droidwatch explica qué puede hacer; un sandbox como ANY.RUN muestra qué hizo en una ejecución; jadx, apktool y Frida enseñan el código. Una consulta de reputación seguida de un informe estático es una combinación habitual para empezar.
¿Es seguro subir un APK a VirusTotal? Con malware público, sí. VirusTotal indica que los informes se comparten con su comunidad y que el contenido de los ficheros puede compartirse con clientes premium, así que las builds sin publicar o los ficheros enviados por clientes deberían consultarse por hash.
¿MobSF es gratis? MobSF es código abierto con licencia GPL-3.0. Usarlo no cuesta licencia; el coste está en operarlo: alojamiento, actualizaciones y emuladores para el análisis dinámico.
¿Se puede analizar un APK online sin ejecutarlo? Sí. El análisis estático examina el paquete, el código y el certificado sin ejecutar nada. Droidwatch funciona así y ofrece tres análisis al día sin cuenta.
¿Droidwatch sustituye a un sandbox? No. El análisis estático establece capacidad; un sandbox registra comportamiento. El análisis dinámico de Droidwatch es sólo para Android, desde el plan Pro, y se ejecuta en el dispositivo o emulador del propio cliente; no hay sandbox alojado.
Analiza un APK o compara Droidwatch y VirusTotal.