
Mobile Helper Framework (mhf) é uma ferramenta que automatiza o processo de identificação do framework/tecnologia usado para criar uma aplicação móvel. Além disso, auxilia na descoberta de informações sensíveis ou fornece sugestões para trabalhar com a plataforma identificada.
é uma ferramenta que automatiza o processo de identificação do framework/tecnologia usada para criar uma aplicação móvel. Além disso, auxilia na localização de informações sensíveis ou fornece sugestões para trabalhar com a plataforma identificada.
A ferramenta procura por arquivos associados às tecnologias usadas no desenvolvimento de aplicações móveis, como arquivos de configuração, arquivos de recursos e arquivos de código-fonte.
Arquivos pesquisados:
index.html
cordova.js
cordova_plugins.js
Arquivos pesquisados
Arquivos Android:
libreactnativejni.so
index.android.bundle
Arquivos iOS:
main.jsbundle
❗É necessário no mínimo Java 8 para executar o Apktool.
pip install -r requirements.txt
python3 mhf.py app.apk|ipa|aab
python3 mobile_helper_framework.py file.apk
[+] O aplicativo foi escrito em React Native
Deseja analisar a aplicação (s/n) s
O diretório de saída já existe. Ignorando descompilação.
Embelezar o código react? (s/n) n
Pesquisar alguma informação? (s/n) s
==>>Pesquisando possíveis IPs internos no arquivo
resultados.........
==>>Pesquisando possíveis e-mails no arquivo
resultados.........
==>>Pesquisando possíveis palavras interessantes no arquivo
resultados.........
==>>Pesquisando Chaves Privadas no arquivo
resultados.........
==>>Pesquisando segredos de alta confidencialidade
resultados.........
==>>Pesquisando possíveis URLs sensíveis em arquivos js
resultados.........
==>>Pesquisando possíveis endpoints em arquivos js resultados.........
Esta ferramenta usa o Apktool para descompilação de aplicações Android.
Esta ferramenta renomeia o arquivo .ipa de aplicações iOS para .zip e extrai o conteúdo.
O que é patching apk: Esta ferramenta usa Reflutter, um framework que auxilia na engenharia reversa de aplicativos Flutter usando uma versão modificada da biblioteca Flutter.
Mais informações: https://github.com/Impact-I/reFlutter
Split APKs é uma técnica usada pelo Android para reduzir o tamanho de uma aplicação e permitir que os usuários baixem e usem apenas as partes necessárias da aplicação.
Em vez de baixar uma aplicação completa em um único arquivo APK, os Split APKs dividem a aplicação em vários arquivos APK menores, cada um contendo apenas uma parte da aplicação, como recursos, bibliotecas de código, assets e arquivos de configuração.
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 exemplo, no Flutter, se a aplicação for um Split, é necessário patch no split_config.arm64_v8a.apk, este arquivo contém libflutter.so
| Funcionalidade | Nota | Cordova | React Native | Native JavaScript | Flutter | Xamarin |
|---|
| Embelezador JavaScript | Use isto nas primeiras vezes para ver melhores resultados. | ✅ | ✅ | ✅ | ||
| Identificação de múltiplas informações sensíveis | IPs, Chaves Privadas, Chaves de API, E-mails, URLs | ✅ | ✅ | ✅ | ❌ | |
| Funções Criptográficas | ✅ | ✅ | ✅ | ❌ | ❌ | |
| Extrator de Endpoints | ✅ | ✅ | ✅ | ❌ | ❌ | |
| Detecta automaticamente se o código foi embelezado. | ❌ | ❌ | ❌ | |||
| Extrai automaticamente apk de dispositivos/emulador | ❌ | ❌ | ❌ | ❌ | ❌ | |
| Patching de apk | ✅ | |||||
| Extrair um APK de um arquivo bundle. | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Detectar se arquivos JS estão criptografados | ❌ | ❌ | ||||
| Detectar se os recursos estão comprimidos. | ❌ | Hermes✅ | ❌ | ❌ | XALZ✅ | |
| Detectar se o aplicativo é split | ❌ | ❌ | ❌ | ❌ | ❌ |