是一个自动化识别移动应用程序所用框架/技术的工具。此外,它有助于查找敏感信息或为使用识别的平台提供建议。
该工具搜索与移动应用开发中使用的技术相关的文件,例如配置文件、资源文件和源代码文件。
搜索文件:
index.html
cordova.js
cordova_plugins.js
搜索文件
Android 文件:
libreactnativejni.so
index.android.bundle
iOS 文件:
main.jsbundle
❗运行 Apktool 至少需要 Java 8。
pip install -r requirements.txt
python3 mhf.py app.apk|ipa|aab
python3 mobile_helper_framework.py file.apk
[+] App was written in React Native
Do you want analizy the application (y/n) y
Output directory already exists. Skipping decompilation.
Beauty the react code? (y/n) n
Search any info? (y/n) y
==>>Searching possible internal IPs in the file
results.........
==>>Searching possible emails in the file
results.........
==>>Searching possible interesting words in the file
results.........
==>>Searching Private Keys in the file
results.........
==>>Searching high confidential secrets
results.........
==>>Searching possible sensitive URLs in js files
results.........
==>>Searching possible endpoints in js files results.........
此工具使用 Apktool 对 Android 应用进行反编译。
此工具将 iOS 应用的 .ipa 文件重命名为 .zip 并提取内容。
什么是补丁 APK: 此工具使用 Reflutter,这是一个通过修补版 Flutter 库来辅助 Flutter 应用逆向工程的框架。
更多信息:https://github.com/Impact-I/reFlutter
Split APKs 是一种用于减小应用程序大小并允许用户只下载和使用应用程序必要部分的技术。
用户无需下载单个 APK 文件中的完整应用程序,Split APKs 会将应用程序分成若干较小的 APK 文件,每个文件仅包含应用程序的一部分,例如资源、代码库、资产和配置文件。
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
例如,在 Flutter 中,如果应用是拆分模式,则需要补丁 split_config.arm64_v8a.apk,该文件包含 libflutter.so
| 特性 | 备注 | Cordova | React Native | Native JavaScript | Flutter | Xamarin |
|---|
| JavaScript 美化器 | 初次使用可获得更佳效果。 | ✅ | ✅ | ✅ | ||
| 识别多种敏感信息 | IP、私钥、API 密钥、电子邮件、URL | ✅ | ✅ | ✅ | ❌ | |
| 加密函数 | ✅ | ✅ | ✅ | ❌ | ❌ | |
| 端点提取器 | ✅ | ✅ | ✅ | ❌ | ❌ | |
| 自动检测代码是否已被美化。 | ❌ | ❌ | ❌ | |||
| 自动从设备/模拟器中提取 apk | ❌ | ❌ | ❌ | ❌ | ❌ | |
| 补丁 APK | ✅ | |||||
| 从 bundle 文件中提取 APK。 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 检测 JS 文件是否加密 | ❌ | ❌ | ||||
| 检测资源是否被压缩。 | ❌ | Hermes✅ | ❌ | ❌ | XALZ✅ | |
| 检测应用是否为拆分模式 | ❌ | ❌ | ❌ | ❌ | ❌ |