Back to home
Mobile Hacking

Mobile Hacking Methodology

Android and iOS application security testing — static analysis, dynamic instrumentation, traffic interception, and OWASP Mobile Top 10.

🤖

Android

## Static Analysis

A1

APK Unpacking & Reverse Engineering

  • › Pull APK: adb shell pm path <pkg> + adb pull <path>
  • › Decompile with jadx-gui — read Java/Kotlin source
  • › Smali analysis for obfuscated code with apktool
  • › Strings & secrets: grep -r 'API\|key\|token\|pass' decomp/
  • › Check AndroidManifest.xml — exported activities, permissions, backup flag
A2

Sensitive Data & Hardcoded Secrets

  • › Hardcoded API keys, tokens, credentials in source/resources
  • › Insecure SharedPreferences — world-readable data
  • › SQLite databases on device: /data/data/<pkg>/databases/
  • › Unprotected log statements exposing PII or tokens
  • › Firebase / S3 bucket misconfigurations in config files

## Dynamic Analysis

A3

Runtime Instrumentation with Frida

  • › Bypass root detection: frida -U -l bypass-root.js -f <pkg>
  • › Bypass SSL pinning: objection -g <pkg> explore → android sslpinning disable
  • › Hook sensitive methods: crypto, auth, network calls
  • › Enumerate classes and methods at runtime
  • › Modify return values to bypass license / auth checks
A4

Traffic Interception

  • › Proxy via Burp: adb connect + proxy settings + install CA cert
  • › Certificate pinning bypass: objection / Frida scripts / apk-patch
  • › Analyze WebSocket, gRPC, and binary protocol traffic
  • › Test API endpoints discovered from traffic: IDOR, auth, input validation
  • › Re-sign patched APK: apksigner / uber-apk-signer
A5

Intent & Component Attacks

  • › Exported activities: adb shell am start -n <pkg>/<activity>
  • › Exported content providers: adb shell content query --uri content://<auth>
  • › Broadcast receivers — injection via intent extras
  • › Deep link abuse — parameter injection via custom URI scheme
  • › Task hijacking / StrandHogg attacks
🍎

iOS

## Static Analysis

I1

IPA Extraction & Binary Analysis

  • › Decrypt binary on jailbroken device: frida-ios-dump / bfdecrypt
  • › Binary analysis: class-dump for headers, strings, symbols
  • › Decompile with Ghidra / Hopper / IDA Pro
  • › Info.plist review — URL schemes, permissions, ATS exceptions
  • › Entitlements check: codesign -d --entitlements - <binary>
I2

Sensitive Data Storage

  • › Keychain enumeration on jailbroken: keychain-dumper
  • › NSUserDefaults / plist files in app sandbox
  • › Insecure CoreData / SQLite storage
  • › Log files, caches, screenshots in app container
  • › Clipboard exposure of sensitive data

## Dynamic Analysis

I3

Frida on iOS

  • › Install frida-server on jailbroken device via Cydia / Sileo
  • › SSL pinning bypass: objection -g <pkg> explore → ios sslpinning disable
  • › Frida CodeShare scripts for common bypasses (root, jail, pin)
  • › Hook ObjC methods: ObjC.classes[ClassName]['- methodName'].implementation
  • › Monitor sensitive API calls: keychain, NSURLSession, crypto
I4

Traffic Interception

  • › Proxy: install Burp CA via OTA profile or Settings → General → Profile
  • › Check NSAppTransportSecurity / NSAllowsArbitraryLoads in plist
  • › Bypass certificate pinning with SSL Kill Switch 2 (tweak)
  • › Analyze traffic for insecure endpoints, token exposure
  • › Test for authentication bypass in API endpoints

## OWASP Mobile Top 10 Reference

M1Improper Credential Usage
M2Inadequate Supply Chain Security
M3Insecure Authentication / Authorization
M4Insufficient Input/Output Validation
M5Insecure Communication
M6Inadequate Privacy Controls
M7Insufficient Binary Protections
M8Security Misconfiguration
M9Insecure Data Storage
M10Insufficient Cryptography

## Tools Reference

// android

jadx-guiapktoolobjectionfridaadbBurp SuiteapksignerdrozerMobSF

// iOS

fridaobjectionBurp SuiteGhidraHopperclass-dumpCycriptSSL Kill Switch 2MobSF