Android Application Security

Reverse, hook and break real Android apps — Frida, jadx, SSL pinning, insecure storage.

20 lessons · CHF 9.90 one-time

20 lessons · knowledge checks · final exam · verifiable certificate · Mobile Elite (device lab coming soon)

Buy now · CHF 9.90 Open in the course reader

Frequently asked questions

What are the main Android app attack surfaces?

Five: the APK code itself, local storage (SharedPreferences, SQLite, files, KeyStore), the network traffic and its TLS configuration, inter-process communication through exported components and deep links, and runtime behaviour such as method hooking and root detection. Every assessment walks these five in turn.

Which file do you read first when testing an Android APK?

The AndroidManifest.xml. It declares every component, every permission and which components are exported, so it effectively hands you the attack surface before you run the app. Decompile the APK with jadx and read the manifest before any dynamic testing.

Why is client-side security not enough on Android?

Because the app runs on hardware the attacker fully controls. Any secret, check or decision inside the APK can be observed and changed on a rooted device. Real authorisation and secrets must live server-side; the client is never a trust boundary.

Is reverse-engineering an Android app legal?

Only test apps and devices you own or have explicit written permission to test. Decompiling or intercepting traffic from an app you do not own can breach its terms of service and local law. Practise on your own test apps and lab targets.

Do I need a rooted phone to start learning Android app security?

Not for static analysis — pulling an APK and reading it with jadx needs only ordinary tools. A device you control (or an emulator) becomes important for dynamic testing with Frida and traffic interception, covered in later lessons.

What is actually inside an APK file?

An APK is a ZIP archive with a fixed layout: a binary AndroidManifest.xml, one or more classes.dex files of Dalvik bytecode, a compiled resources.arsc and res/, native libraries under lib/, raw assets/, and a META-INF signature block. The signature proves integrity and origin but does not encrypt the contents.

Get the full course

One-time purchase, no subscription. Pay as a guest — no account needed.

Buy now · CHF 9.90 Open in the course reader

Course syllabus

Lessons unlock after a single one-time purchase — no subscription. Pricing & FAQ → · All course overviews →