Mobile Security
Mobile challenges involve reverse engineering and exploiting Android APKs and iOS IPAs — from decompiling Java bytecode and patching apps to hooking runtime methods with Frida and bypassing certificate pinning.
Mobile security is the field of finding and exploiting vulnerabilities in Android and iOS applications. Unlike desktop software, mobile apps run in sandboxed environments but are regularly undermined by insecure data storage, weak authentication, certificate pinning mistakes, and exported activity/intent misuse.
The OWASP Mobile Top 10 defines the most common mobile weaknesses, and both Android (Java/Kotlin/NDK) and iOS (Swift/Objective-C) have distinct attack surfaces that security researchers must understand.
In a CTF, you receive an APK or IPA file and must extract a flag hidden inside the app's logic, resources, or network communication. Some challenges require only static analysis; others need you to run the app on an emulator, hook functions with Frida, or patch the binary to bypass checks.
Common workflow: unpack with APKTool/jadx → inspect AndroidManifest.xml → search strings/resources → decompile Java → hook with Frida if dynamic analysis is needed → intercept HTTPS traffic with Burp + SSL unpin.
Sample Challenge
- Decompile with
jadx-gui unlockme.apk. Search foronCheckPin— find a method that compares user input against a SHA-256 hash. - The hash
8d969eef6...<snip>matches the SHA-256 of123456(identify withhashcat --example-hashesor CrackStation). - The app crashes on emulator. Bypass using Frida: hook
isEmulator()to returnfalse. - Run the patched check:
frida -U -f com.ctf.unlockme --no-pause -l bypass.js. - Enter PIN
123456in the app — the flag is displayed on screen.