
Mobile Helper Framework (mhf) es una herramienta que automatiza el proceso de identificación del framework/tecnología utilizado para crear una aplicación móvil. Además, ayuda a encontrar información sensible o proporciona sugerencias para trabajar con la plataforma identificada.
es una herramienta que automatiza el proceso de identificar el framework/tecnología utilizado para crear una aplicación móvil. Además, ayuda a encontrar información sensible o brinda sugerencias para trabajar con la plataforma identificada.
La herramienta busca archivos asociados con las tecnologías utilizadas en el desarrollo de aplicaciones móviles, como archivos de configuración, archivos de recursos y archivos de código fuente.
Busca archivos:
index.html
cordova.js
cordova_plugins.js
Busca archivo
Archivos Android:
libreactnativejni.so
index.android.bundle
Archivos iOS:
main.jsbundle
❗Se requiere al menos Java 8 para ejecutar Apktool.
pip install -r requirements.txt
python3 mhf.py app.apk|ipa|aab
python3 mobile_helper_framework.py file.apk
[+] La aplicación fue escrita en React Native
¿Quieres analizar la aplicación? (s/n) s
El directorio de salida ya existe. Saltando descompilación.
¿Embellecer el código React? (s/n) n
¿Buscar información? (s/n) s
==>>Buscando posibles IPs internas en el archivo
resultados.........
==>>Buscando posibles correos electrónicos en el archivo
resultados.........
==>>Buscando posibles palabras interesantes en el archivo
resultados.........
==>>Buscando Claves Privadas en el archivo
resultados.........
==>>Buscando secretos de alta confidencialidad
resultados.........
==>>Buscando posibles URLs sensibles en archivos js
resultados.........
==>>Buscando posibles endpoints en archivos js resultados.........
Esta herramienta utiliza Apktool para la descompilación de aplicaciones Android.
Esta herramienta renombra el archivo .ipa de aplicaciones iOS a .zip y extrae su contenido.
¿Qué es el patching de APK? Esta herramienta utiliza Reflutter, un framework que ayuda en la ingeniería inversa de aplicaciones Flutter usando una versión parcheada de la librería Flutter.
Más información: https://github.com/Impact-I/reFlutter
Split APKs es una técnica utilizada por Android para reducir el tamaño de una aplicación y permitir a los usuarios descargar y usar solo las partes necesarias de la aplicación.
En lugar de descargar una aplicación completa en un solo archivo APK, los Split APKs dividen la aplicación en varios archivos APK más pequeños, cada uno de los cuales contiene solo una parte de la aplicación, como recursos, librerías de código, assets y archivos de configuración.
adb shell pm path com.package
package:/data/app/com.package-NW8ZbgI5VPzvSZ1NgMa4CQ==/base.apk
package:/data/app/com.package-NW8ZbgI5VPzvSZ1NgMa4CQ==/split_config.arm64_v8a.apk
package:/data/app/com.package-NW8ZbgI5VPzvSZ1NgMa4CQ==/split_config.en.apk
package:/data/app/com.package-NW8ZbgI5VPzvSZ1NgMa4CQ==/split_config.xxhdpi.apk
Por ejemplo, en Flutter si la aplicación es un Split, es necesario parchear split_config.arm64_v8a.apk, este archivo contiene libflutter.so
| Característica | Nota | Cordova | React Native | Native JavaScript | Flutter | Xamarin |
|---|
| Embellecedor de JavaScript | Úselo en las primeras ocasiones para ver mejores resultados. | ✅ | ✅ | ✅ | ||
| Identificación de múltiple información sensible | IPs, Claves Privadas, Claves API, Correos Electrónicos, URLs | ✅ | ✅ | ✅ | ❌ | |
| Funciones Criptográficas | ✅ | ✅ | ✅ | ❌ | ❌ | |
| Extractor de endpoints | ✅ | ✅ | ✅ | ❌ | ❌ | |
| Detecta automáticamente si el código ha sido embellecido. | ❌ | ❌ | ❌ | |||
| Extrae automáticamente APK de dispositivos/emulador | ❌ | ❌ | ❌ | ❌ | ❌ | |
| Patching de APK | ✅ | |||||
| Extraer un APK de un archivo bundle. | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Detectar si los archivos JS están cifrados | ❌ | ❌ | ||||
| Detectar si los recursos están comprimidos. | ❌ | Hermes✅ | ❌ | ❌ | XALZ✅ | |
| Detectar si la app está dividida | ❌ | ❌ | ❌ | ❌ | ❌ |