Impresionante ingeniería inversa de Android

Una lista curada de la increíble capacitación, recursos y herramientas de ingeniería inversa de Android.
Cómo usar
Awesome-Android-Reverse-Enterenering es una lista increíble para las personas que trabajan en desarmar aplicaciones, sistemas o componentes de Android. Simplemente presione ctrl + F para buscar una palabra clave, revise nuestro menú de contenido o busque un '☆' que indique algunos recursos excelentes y actualizados.
Contenido
- Capacitación
- Cursos y material
- Videos
- Libros
- Herramientas
- Herramientas de análisis estático
- Herramientas de análisis dinámico
- Descompiladores
- Análisis de malware
- Recursos
- Documentación
- Estudios de caso
- CTFS y Crackme's
- Maga
Capacitación
Cursos y material
- ☆ Entrenamiento de ingeniería inversa de Android de Maddie Stone: un curso integral de capacitación en línea sobre Ingeniería Inversa de Android de Maddie Stone.
- Introducción al ensamblaje de Azeria Labs: cubriendo todo, desde tipos de datos, registros, el conjunto de instrucciones del brazo, instrucciones de memoria y más
- Pruebas de penetración de Android de #TODO: este curso lo verá desarrollar un conocimiento de referencia de lo que implica pruebas de penetración móvil junto con las herramientas, técnicas y marcos específicos involucrados en la separación y el análisis de las aplicaciones de Android.
Videos
- Kristina Balaam Android Ingeniería inversa: una serie de videos sobre conceptos básicos de ingeniería inversa y malware de Android de ingeniería inversa.
- Videos de ingeniería inversa de Android de Lauriewired: un canal de YouTube que se centra en la ingeniería inversa de Android.
- Usando Frida para modificar los juegos de Android | Instrumentación dinámica móvil: centrarse en aplicaciones de Android de ingeniería inversa y en el uso de Frida para modificar dinámicamente los juegos de Android.
Libros
- ☆ Android Internals: un libro de cocina del confitre: una exploración en profundidad de los trabajos internos de Android: en el Volumen I, tomamos la perspectiva del usuario eléctrico a medida que profundizamos en los fundamentos de Android, sistemas de archivos, particiones, proceso de arranque, demonios y servicios nativos.
- Blue Fox: Arm Assembly Internals and Reverse Engineering: proporciona a los lectores una base sólida en el ensamblaje del brazo y los fundamentos de ingeniería inversa como base para analizar y asegurar miles de millones de dispositivos ARM.
- Android Software Internals referencia rápida: este libro se centra en técnicas fácilmente digeribles, útiles e interesantes en Java y el sistema Android. Incluyendo: cifrado y ofuscación, depuración y extracción APK.
- ☆ Guía de bolsillo de seguridad de seguridad ofensiva móvil: centrándose en los sistemas operativos de Android e iOS, el libro contiene una serie de capítulos sucintos que destacan información clave, enfoques y herramientas utilizadas por los probadores de penetración móvil y los profesionales de seguridad ofensivos.
- Android Security -Internals: que describe la arquitectura de seguridad de Android de abajo hacia arriba, profundizando en la implementación de los principales componentes y subsistemas relacionados con la seguridad, como Binder IPC, permisos, proveedores criptográficos y administración de dispositivos.
- Detección de malware de Android con aprendizaje automático: examine las técnicas de aprendizaje automático utilizado para detectar aplicaciones maliciosas, los tipos de modelos de clasificación que los defensores pueden usar y las diversas características de las muestras de malware que pueden convertirse en entrada a estos modelos.
Herramientas
Herramientas de análisis estático
- QARK: una herramienta de código abierto desarrollada por LinkedIn para el escaneo automático de vulnerabilidad de la aplicación Android, incluida la identificación de posibles problemas de seguridad como inyección SQL, almacenamiento de datos inseguros y más.
- Quark Engine: el objetivo de Quark Script tiene como objetivo proporcionar una forma innovadora para que los investigadores de seguridad móvil analicen o acumulen los objetivos. Basado en Quark, integramos herramientas decentes como API de script de Quark y hacemos que intercambien una inteligencia valiosa entre sí.
- MOBSF: un marco de prueba de seguridad de aplicaciones móviles de código abierto que admite un análisis estático y dinámico de aplicaciones de Android para vulnerabilidades y problemas de privacidad.
- Androbugs Framework: un marco de código abierto para analizar y escanear aplicaciones de Android para problemas de seguridad, incluidas las capacidades de análisis estáticos y dinámicos.
- ☆ IMJTool - Herramienta de desempaquetado de firmware aplicable a la mayor variedad de proveedores y formatos.
- Android Studio: útil si no tiene una licencia JEB y desea abrir una aplicación descompilada (a través de JADX) en un IDE adecuado.
- ☆ Gráfico de dependencia APK: un visualizador de dependencia de la clase APK. Útil para el mapeo de superficie de ataque.
- Desarme: una utilidad de línea de comando simple que toma como argumento un número hexadecimal de 32 bits, y lo analiza como una instrucción ARM-64, proporcionando el desmontaje.
- COVA - COVA es una herramienta de análisis estático para calcular las restricciones de ruta basadas en API definidas por el usuario.
- Dis {integridad}: una herramienta para analizar APK de Android y extraer verificaciones de raíz, integridad y detección de manipulaciones.
Obfuscación
- ☆ OBFU [DE] Scate - OBFU [DE] Scate es una herramienta de des -obfuscación para APK de Android que utiliza la lógica de comparación difusa para identificar similitudes entre funciones, incluso si han sido renombradas como parte de la ofuscación. ¡Compara dos versiones de un APK y genera un archivo de texto de asignación y un archivo HTML interactivo como salidas!
- Tinysmaliemulator: un emulador smali minimalista que podría usarse para "descifrar" las cuerdas ofuscadas.
- Simplifique: la máquina virtual de Android y el deobfuscator.
- Deoptfuscator - Deoptfuscator es una herramienta para desobfuscar aplicaciones de Android que se han transformado utilizando mecanismos de ofuscación de flujo de control.
Herramientas de análisis dinámico
- DROZER: un marco de código abierto para las pruebas de seguridad de Android que proporciona un conjunto integral de herramientas para el análisis dinámico, que incluye interceptar, modificar y analizar el tráfico de aplicaciones.
- JTRACE - Strace for Android - para el rastreo de llamadas a nivel del sistema, incluida Binder.
- Sesearch - Herramienta de línea de comando para consultar políticas de Selinux.
- Autodroid: herramienta para recolectar masa APK de un dispositivo, descomposición, filtrado en cuerdas, etc.
Networking
- ☆ Suite BURP: una herramienta popular de prueba de seguridad web comercial que se puede utilizar para analizar el tráfico de red de las aplicaciones de Android para posibles vulnerabilidades de seguridad.
- Wireshark: un analizador de protocolo de red de código abierto ampliamente utilizado que puede capturar, analizar y diseccionar el tráfico de red generado por Android Apps para el análisis de seguridad.
- SSLSPLIT: una herramienta de código abierto para interceptar y manipular el tráfico cifrado SSL/TLS, que puede usarse para analizar la comunicación SSL/TLS en las aplicaciones de Android.
- MITMProxy: un proxy de hombre en el medio de código abierto que permite interceptar y analizar el tráfico de red generado por las aplicaciones de Android para pruebas y análisis de seguridad.
- APK -MITM: una aplicación CLI que prepara automáticamente archivos APK Android para la inspección HTTPS.
Instrumentación dinámica
- ☆ Frida: un conjunto de herramientas de instrumentación dinámica para aplicaciones de Android que permite la manipulación de tiempo de ejecución y el análisis del comportamiento de la aplicación.
- Marco XPosed: un marco poderoso para enganchar y modificar el comportamiento de las aplicaciones de Android en tiempo de ejecución, comúnmente utilizado para la ingeniería y el análisis inversos.
- ☆ Objeción: una herramienta de exploración móvil de tiempo de ejecución para Android que proporciona varias características para analizar, manipular y evitar controles de seguridad de aplicaciones.
- RMS Runtime Mobile Security - Interfaz web Frida.
- ☆ Fridump: un script de Python que utiliza Frida para volcar la memoria de un dispositivo en ejecución, como una actividad de la aplicación.
- Jnitrace: una herramienta basada en Frida para rastrear el uso de la API JNI en las aplicaciones de Android.
- ☆ Binder Trace - Binder Trace es una herramienta para interceptar y analizar mensajes de aglutinante Android. Piense en ello como "Wireshark para Binder".
Descompiladores
- ☆ JADX: una herramienta de código abierto para descomponer y analizar archivos APK de Android en el código fuente de Java para la ingeniería y el análisis inversos.
- Procyon - Procyon es un conjunto de herramientas de metaprogramación de Java, incluida una rica API de reflexión, una API de expresión de expresión inspirada en Linq para la generación de código de tiempo de ejecución y un descompilador de Java.
- CFR: un descompilador Java de código abierto que admite la descompilación de archivos APK de Android en el código fuente de Java, que incluye soporte para nuevas funciones de lenguaje Java.
- Fernflower: Fernflower es el primer descompilador analítico que funciona realmente para Java y probablemente para un lenguaje de programación de alto nivel en general.
- ☆ APKTOOL: una herramienta popular de código abierto para descomparar los archivos APK Android.
- Dex2Jar: una herramienta para convertir archivos Android DEX en archivos JAR, que se pueden analizar más a fondo utilizando los descompiladores Java.
- JDGUI - JD -GUI es una utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos ".class".
- IDA Pro: un poderoso desmontaje y depurador comercial para analizar el código nativo de Android.
- ☆ Ghidra: un marco de ingeniería inversa de software gratuita y de código abierto (SRE) desarrollado por la Agencia de Seguridad Nacional (NSA) que admite el análisis de Android.
- Jeb Decompiler: un descompilador comercial para aplicaciones de Android que puede descompilar los archivos APK en el código fuente de Java para su análisis.
- RADARE2: un marco de ingeniería inversa gratuita y de código abierto que admite el análisis de Android, que incluye desmontaje, depuración y análisis binario.
- Androguard: una herramienta de código abierto para analizar e invertir aplicaciones de Ingeniería de Android, incluida la descomposición de archivos APK, analizar el bytecode Dalvik y más.
- APK2Gold - Herramienta CLI para descomponer las aplicaciones de Android a Java. Hacer recursos y Java (este repositorio tiene 9 años, por lo que es posible que no funcione con versiones más nuevas de Android).
- AndroidProjectCreator: convierta un APK en un proyecto de Android Studio utilizando múltiples descompiladores de código abierto.
- APK Studio-IDE basado en la plataforma cruzada de código abierto para paquetes de aplicaciones Android de ingeniería inversa.
- Show -Java: una APK (Aplicación Android), Decompilador Jar & Dex para Android.
- ☆ APKLAB-APKLAB integra perfectamente el motor de quark, APKTOOL, JADX, UBER-APK-SIGNER, APK-MITM y más al código VS.
Análisis de malware
- DroidDetective: un marco de análisis de malware de aprendizaje automático para aplicaciones de Android.
- Cuckoo Droid - Cuckoodroid - Análisis automatizado de malware Android con cuco sandbox.
- Androwarn: un analizador de código estático para aplicaciones maliciosas de Android.
Recursos
Documentación
- Documentación de seguridad de Android: documentación oficial de Google sobre la seguridad de Android, incluidos los temas relacionados con la ingeniería inversa.
- Desafíos de ingeniería inversa de Android: una lista curada de desafíos de ingeniería inversa de Android y CTFS (Capture the Blag) para la práctica.
- AndroidXref: Abra la búsqueda de código para la fuente de Android.
- APKMirror - Repositorio de APK de Android de fuentes como Play Store y User SupeS.
- APKPURE - Repositorio de APK de Android de fuentes como Play Store y User SupeS.
Estudios de caso
- La post mortem de un ingeniero inverso de la aplicación de chat de video de Housparty
- Sharkbot: un troyano de banca Android de generación "nuevo" que se distribuye en Google Play Store
- Serie in the-wild: exploits de Android
CTFS y crackmes
- ☆ Aplicaciones móviles indescriptibles: un conjunto de aplicaciones de Android Owasp CrackMe's. Estos desafíos se utilizan como ejemplos en todo el mastg OWASP. Por supuesto, también puedes resolverlos por diversión.
- CybertruckChallenge19 - Material del taller de seguridad de Android enseñado durante el CyberTruck Challenge 2019 (Detroit USA).
- KGB Messenger - KGB Messenger es un desafío de práctica CTF de código abierto que tiene como objetivo ayudar a las personas a aprender a revertir las aplicaciones de Android.
Maga
- LADB - ¡Un shell ADB local para Android!
- Broken Droid Factory: BDF es una herramienta de Python diseñada para provocar aplicaciones de Android vulnerables pseudo aleatorias para capacitación cuando se trata de investigación de vulnerabilidad, piratería ética y pruebas de lápiz en aplicaciones de Android.
- Uber-APK-Signer: una herramienta CLI que ayuda a firmar y alinear con zip en los paquetes de aplicaciones de Android (APKS) simples o múltiples con certificados de liberación de depuración o proporcionados. Admite que el esquema de firma de Android V1, V2 y V3 tiene una tienda de claves de depuración integrada y se verifica automáticamente después de la firma.
- Demostración de detección de manipulación rúnica: diseñada para servir como un paralelo para comprender los sistemas de detección e integridad de Android más complejos como Google Play Safetynet y Huawei Safety Detect.
Que contribuye
¡Tus contribuciones siempre son bienvenidas! Lea primero las pautas de contribución. Seguimos el Código de Conducta del Pacto de Contributor. Asegúrese de revisar y adherirse a este código de conducta al contribuir.
Licencia
Este proyecto tiene licencia bajo la licencia MIT: consulte el archivo License.md para más detalles.