0x5000 · Area
Secure Coding
The only mitigation that removes whole bug classes is not writing them in the first place. This area covers memory-safe languages, the hardened modes and safer idioms available in modern C++, and how teams migrate incrementally without rewriting everything at once.
Guides in this area
Why memory-safe languages remove whole bug classes, what Rust's ownership model guarantees, where unsafe code and FFI remain risky, and how to harden the C++ you keep.
Other areas
Memory Fundamentals
Stack, heap, ELF segments and calling conventions: the terrain every bug lives on.
Vulnerability Classes
Overflows, use-after-free, double free, integer and format-string bugs, and how to spot them.
Exploit Mitigations
Canaries, NX/DEP, ASLR/PIE, RELRO, FORTIFY_SOURCE, CFI, CET and PAC, and how to verify them.
Finding Bugs
AddressSanitizer, UBSan and coverage-guided fuzzing with libFuzzer and AFL++.
Crash Triage
Read signals, backtraces, sanitizer reports and core dumps, and decide what to fix first.
Learning Path
A staged, legal path from C and assembly to CTF pwn challenges and security careers.
Exploitation Techniques
ret2win, ret2libc, ROP chains, GOT overwrites and format-string primitives, built and defeated in a lab.
ARM64 Exploitation
AArch64 calling conventions, the link register, ROP on ARM, and the PAC and BTI defences.
Kernel Exploitation
Privilege escalation from a kernel bug: the credential model, ret2usr, and SMEP, SMAP, KASLR and KPTI.
Windows Exploitation
SEH overwrites, DEP bypass with ROP, and the SafeSEH, SEHOP, ASLR, CFG and CET mitigations.