Tabellab
Cybersecurity Advanced

Android Fuzzing and Vulnerability Research

Fuzz native libraries, parsers and IPC on your own Android emulator, then triage and report crashes responsibly.

12 lessons 1.2 h Certificate

One-time payment · lifetime access · lessons, labs, exam and certificate included · no subscription.

About this course

This course teaches vulnerability research through fuzzing, run locally against your own native libraries or open-source code you compiled. You learn the difference between dumb and coverage-guided fuzzing and how to choose attack surface that parses untrusted input. You build a libFuzzer harness around LLVMFuzzerTestOneInput, instrument a native library for AFL++, and compile with AddressSanitizer so memory corruption is reported precisely. You design seed corpora and mutations, read coverage to avoid fuzzing blind, and extend the work to Android IPC and system services. Finally you triage crashes to tell real vulnerabilities from noise and write a responsible-disclosure report. Each lesson includes a challenge, a solution and a quiz, for legal research only.

Lessons

  1. Introduction and safe setupReading6 min Pro
  2. What to Fuzz on AndroidReading6 min Pro
  3. Fuzzing FundamentalsReading6 min Pro
  4. Building a Fuzzing HarnessReading6 min Pro
  5. AFL++ Setup & Native HarnessesReading6 min Pro
  6. Corpus, Seeds & MutationsReading6 min Pro
  7. Sanitizers: ASan, UBSan, MSanReading6 min Pro
  8. Measuring & Growing CoverageReading6 min Pro
  9. Fuzzing System Services & BinderReading6 min Pro
  10. Crash Triage & ExploitabilityReading6 min Pro
  11. From Crash to CVEReading6 min Pro
  12. Capstone: a full research loopReading6 min Pro