Android Native Memory Safety & Mitigations
Understand ARM64, JNI and native memory bugs, read crashes with sanitizers, and harden C/C++. For authorized testing of your own code only.
One-time payment · lifetime access · lessons, labs, exam and certificate included · no subscription.
About this course
This course explains native memory safety on Android for defenders and developers. You start with the ARM64 register set and calling convention, then cross the JNI boundary where C and C++ bugs live. You learn to recognise stack overflows, heap overflows, integer overflows and use-after-free, and to reproduce and read crashes in your own small test programs using AddressSanitizer and a debugger. The mitigations lessons cover NX, PIE, ASLR, stack canaries, RELRO, SELinux, the app sandbox and CFI, and why layering them matters. Later lessons show fuzzing your own native libraries with AFL++ and triaging a crash for severity. Every exercise runs in your own emulator on code you wrote, for authorized, legal learning only. Short quizzes and a final exam lead to the Tabellab certificate.
Lessons
- The Native Memory Layer on Android Pro
- ARM64 Assembly Crash-Course Pro
- The JNI Boundary — Where Bugs Live Pro
- Finding & Understanding a Memory Bug Pro
- Android Mitigations & Hardening Pro
- Reversing JNI/NDK Libraries Pro
- Native Memory-Corruption Bug Classes Pro
- What Each Mitigation Does Pro
- Return-Oriented Programming on ARM64 Pro
- Fuzzing Native Libs with AFL++ Pro
- Triaging a Crash for Severity Pro
- Final Exam — Native Memory Safety Pro