Mobile App Penetration Testing (iOS & Android)
In-depth testing of your iOS and Android apps and the backend they talk to, aligned with OWASP MASVS.
Free open-source tool
Pull an installed app off your own Android phone in one command. getAPK finds every APK the app is made of, checks each one, and gives you a single file that's ready to analyse. No root needed.
Runs on your own computer. Nothing is sent to us.
Recommended
One command installs getAPK from PyPI. It has no Python dependencies; it only needs adb, from Android's platform-tools.
pipx install getapkSource code
The full source, the README and the MIT licence. Clone it and install it with pipx from the folder.
git clone https://github.com/RansomWhisker/getAPK.git
cd getAPK
pipx install .adb) on your PATH.Only use getAPK on apps and devices you own or are authorised to analyse.
Find the app's package name with getapk --list, then pull it. A single-APK app is saved as <package>-<version>.apk; a split app as <package>-<version>.apks, with every part inside.
$ getapk --list -m example
1. com.example.app 2.4.1 com.android.vending
$ getapk com.example.app -o apps
[+] com.example.app 2.4.1 -> apps/com.example.app-2.4.1.apks (4 splits, 41.7 MB)
sha256 3f9c…a71eExample output with a placeholder app.
--list--list -m bankcom.example.app--all--include-system-s SERIAL-o DIR--format apks--adb PATHHow to use the result
appsleuth scan com.example.app-2.4.1.apks reads the whole bundle and checks the manifest, network security configuration, exported components, secrets and hardening.appsleuth info shows signing, permissions, exported components, libraries and what the app is built with on one screen.Background
Most Play Store apps are installed as split APKs: base.apk, plus one file each for the CPU architecture, the language and the screen density. Pulling only base.apk gives you something that won't install and is missing native code and resources. getAPK pulls every part and bundles them, base first, into one APKS file that AppSleuth and bundletool-style tools understand.
AndroidManifest.xml), and files are moved into place only when complete.getAPK is for apps and devices you own or are authorised to analyse. Apps may be copyrighted; extraction is for your own security analysis, not for sharing or redistributing apps.
FAQ
Yes. getAPK is free and open source under the MIT licence. Install it with pipx install getapk, or get the source from GitHub. It has no Python dependencies.
No. getAPK uses adb, so you only need USB debugging turned on in Developer options and to accept the authorisation prompt on the phone.
Most Play Store apps are installed as split APKs: base.apk plus one file per CPU architecture, language and screen density. Pulling only base.apk gives you something that won't install and is missing native code and resources. getAPK pulls every part and bundles them into one APKS file.
Analyse it. AppSleuth reads APKS files directly (appsleuth scan com.example.app-1.2.3.apks), and bundletool-style tools understand the format too.
No. getAPK runs on your own computer and has no telemetry. It talks only to your phone, through adb.
Only apps and devices you own or are authorised to analyse. Apps may be copyrighted; extraction is for your own security analysis.
In-depth testing of your iOS and Android apps and the backend they talk to, aligned with OWASP MASVS.