Organized notes for mobile application penetration testing (Android & iOS). Last Updated: 2026-03-27
Mobile application pentesting involves analyzing Android and iOS applications for vulnerabilities in the client-side code, network communications, data storage, and backend APIs. This is less common in CPTS but valuable for comprehensive pentesting engagements.
AndroidManifest.xml for exposed components# Download APK from device
adb shell pm list packages | grep target
adb shell pm path com.target.app
adb pull /data/app/com.target.app/base.apk
# Decompile with apktool
apktool d base.apk -o decompiled/
# Decompile with JADX (Java source)
jadx base.apk -d jadx_output/
# Search for hardcoded secrets
grep -rni "api_key\|password\|secret\|token\|aws_access" jadx_output/
grep -rni "http://\|https://" jadx_output/
# Install Frida
pip install frida-tools
# Start Frida server on device
adb push frida-server /data/local/tmp/
adb shell chmod 755 /data/local/tmp/frida-server
adb shell /data/local/tmp/frida-server &
# SSL pinning bypass
frida -U -l ssl_pinning_bypass.js -f com.target.app
# List running apps
frida-ps -U
# List connected devices
adb devices
# Shell access
adb shell
# Install APK
adb install app.apk
# Port forwarding for Burp
adb reverse tcp:8080 tcp:8080
# Logcat (app logs)
adb logcat | grep -i "password\|token\|error"
| Tool | Purpose |
|---|---|
| apktool | APK decompilation/recompilation |
| JADX | APK to Java decompiler |
| Frida | Dynamic instrumentation |
| Objection | Runtime mobile exploration |
| MobSF | Automated mobile app analysis |
| Burp Suite | Network traffic interception |
| drozer | Android security assessment |
| adb | Android Debug Bridge |
# Extract IPA contents
unzip app.ipa -d extracted/
# Analyze binary
class-dump extracted/Payload/App.app/App > headers.h
# Search for strings in binary
strings extracted/Payload/App.app/App | grep -i "password\|api\|token\|secret"
# Connect to Android app
objection -g com.target.app explore
# Disable SSL pinning
android sslpinning disable
# Dump keychain (iOS)
ios keychain dump
# List files
env
ls