Advanced Techniques for Protecting Android Apps
summary
Shows concrete defenses: compute a CRC check on classes.dex at startup and block launch if it differs; verify runtime signing fingerprints via the Gradle signing report values; use the Play Integrity API for device attestation (avoid emulators/rooted devices for sensitive flows); detect debugging with manifest flag checks and debug.isDebuggerConnected or timing-based slowdown detectors; look for Frida-like hooking by probing TCP ports or checking native memory for code edits; consider embedded DEX to prevent repacking (costs performance); prefer vendor RASP (Guardsquare, Promon, Zimperium, Talex) over DIY.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:50Obfuscation on Android
- 3:13ProGuard and R8 history
- 7:04Standard obfuscation tools
- 9:54Beyond obfuscation with RASP
- 10:36Runtime Application Self-Protection
- 13:25Binary tampering protection
- 17:00Tamper detection integrity
- 19:06Runtime certificate verification
- 20:53Embedded dexing for resistance
- 22:19Untrusted environment detection
- 24:04Root detection challenges
- 27:00Anti-debugging and hooking
- 30:27Defending against debugging
- 34:00Advanced RASP defenses
- 35:25Swiss cheese model for security
- 36:06Summary and next steps
- 38:10Q&A
related talks
45mGoing Beyond Obfuscation: Advanced Techniques for Protecting Android Apps
34mSecuring Android: Tackling Advanced Threats and Enhancing App Security
47mSecuring Android Applications
01h 07mHow to attack (and secure) an Android app: an introduction
32mSecuring Android SDKs: A Defense-in-Depth
47mSecuring Android Applications, The Right Way
47mDefending Your Users
29mSecuring Android: Tackling Advanced Threats and Enhancing App Security
