Impresionante Ingeniería Inversa de Android
Una lista seleccionada de increíbles recursos, herramientas y formación sobre ingeniería inversa de Android.
Cómo Usar
Awesome-Android-Reverse-Engineering es una lista increíble para personas que trabajan desensamblando aplicaciones, sistemas o componentes de Android. Simplemente presiona ctrl + F para buscar una palabra clave, recorre nuestro Menú de Contenidos o busca una '☆' que indica recursos excelentes y actualizados.
Contenidos
Cursos y Material
Vídeos
Libros
Herramientas
Herramientas de Análisis Estático
- QARK - Una herramienta de código abierto para el escaneo automático de vulnerabilidades en aplicaciones Android.
- Quark Engine - Integra varias herramientas como APIs de Quark Script para la investigación de seguridad móvil.
- MobSF - Soporta análisis estático y dinámico para pruebas de seguridad de aplicaciones Android.
- AndroBugs Framework - Analiza y escanea aplicaciones Android en busca de problemas de seguridad.
- ☆ imjtool - Herramienta de desempaquetado de firmware para varios fabricantes y formatos.
- Android Studio - Útil para analizar aplicaciones descompiladas mediante un IDE.
- ☆ APK Dependency Graph - Visualiza las dependencias de clases de un APK.
- disarm - Utilidad de línea de comandos para analizar instrucciones ARM-64.
- COVA - Calcula restricciones de ruta basadas en APIs definidas por el usuario.
- DIS{integrity} - Analiza APKs en busca de detección de root, integridad y manipulación.
- Dexcalibur - Herramienta automatizada para analizar e instrumentar aplicaciones Android.
Desofuscación
- ☆ Obfu[DE]scate - Herramienta de desofuscación que utiliza lógica de comparación difusa.
- TinySmaliEmulator - Emulador minimalista de smali para "descifrar" cadenas ofuscadas.
- simplify - Máquina virtual y desofuscador de Android.
- deoptfuscator - Herramienta para desofuscar aplicaciones que utilizan ofuscación de flujo de control.
Herramientas de Análisis Dinámico
- Drozer - Framework para pruebas de seguridad en Android con funciones de análisis dinámico.
- jtrace - Similar a strace, pero para llamadas al sistema de Android.
- sesearch - Herramienta de línea de comandos para consultar políticas SELinux.
- AutoDroid - Herramienta de recopilación y análisis masivo de APKs.
- Redes:
- ☆ Burp Suite - Herramienta comercial para analizar el tráfico de red de aplicaciones Android.
- Wireshark - Analizador de protocolos de red de código abierto.
- SSLsplit - Intercepta y manipula tráfico cifrado SSL/TLS.
- MITMProxy - Proxy man-in-the-middle para analizar tráfico de red.
- apk-mitm - Prepara APKs para la inspección de HTTPS.
- Instrumentación Dinámica:
- ☆ Frida - Kit de herramientas de instrumentación dinámica para manipulación en tiempo de ejecución.
- Xposed Framework - Para enganchar y modificar el comportamiento de las aplicaciones en tiempo de ejecución.
- ☆ Objection - Herramienta de exploración en tiempo de ejecución para evadir controles de seguridad de las aplicaciones.
- RMS Runtime Mobile Security - Interfaz web de Frida.
- ☆ FriDump - Utiliza Frida para volcar la memoria de aplicaciones en ejecución.
- jnitrace - Rastreador de APIs JNI basado en Frida.
- ☆ Binder Trace - Intercepta y analiza mensajes Binder de Android.
Descompiladores
- ☆ JADX - Descompila APKs en código fuente Java.
- Procyon - Suite de herramientas de descompilación Java.
- Cfr - Soporta la descompilación de archivos APK de Android.
- FernFlower - Descompilador analítico para Java.
- ☆ Apktool - Herramienta popular para descompilar/recompilar archivos APK.
- DEX2JAR - Convierte archivos DEX a archivos JAR.
- JDGui - Utilidad gráfica para ver código fuente Java desde archivos de clase.
- IDA Pro - Desensamblador y depurador comercial.
- ☆ Ghidra - Framework SRE gratuito y de código abierto.
- Descompiladores adicionales:
- JEB Decompiler - Descompilador comercial para aplicaciones Android.
- Radare2 - Framework de ingeniería inversa con desensamblado y depuración.
- Androguard - Analiza y aplica ingeniería inversa a aplicaciones Android.
- apk2gold - Descompila aplicaciones Android a Java (nota: puede estar desactualizado).
- AndroidProjectCreator - Convierte APKs en proyectos de Android Studio.
- APK Studio - IDE basado en Qt para la ingeniería inversa de APKs.
- show-java - Descompilador de APK, JAR y Dex.
- ☆ APKLab - Extensión de VS Code que integra múltiples herramientas.
Análisis de Malware
- DroidDetective - Análisis de malware para aplicaciones Android mediante aprendizaje automático.
- Cuckoo Droid - Análisis automatizado de malware Android con Cuckoo Sandbox.
- androwarn - Analizador estático de código para aplicaciones Android maliciosas.
Recursos
Documentación
Casos de Estudio
CTFs y CrackMes
Miscelánea
Ofuscación y Anti-Ingeniería Inversa
- Herramientas de Ofuscación:
- ProGuard - Reductor de código, optimizador y ofuscador.
- R8 - El reductor y ofuscador de código de Google.
- DexGuard - Herramienta comercial para ofuscación avanzada de aplicaciones.
- Técnicas Anti-Ingeniería Inversa:
Análisis de Firmware y Kernel
- Binwalk - Analiza, extrae y aplica ingeniería inversa a imágenes de firmware.
- AFLSmart - Fuzzer optimizado para el análisis de imágenes de firmware.
- Android Kernel Exploits - Colección de vulnerabilidades de kernel y técnicas de explotación.
- FirmWire - Plataforma de análisis dinámico para firmware de banda base.
Contribuciones
¡Tus contribuciones son siempre bienvenidas! Por favor, lee primero las directrices de contribución. Seguimos el Contributor Covenant Code of Conduct, así que revísalo y adhiérete a él al contribuir.
Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE.md para más detalles.