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.