Languages › C

C

Roadmap

The language under everything — and behind most memory-corruption bugs.

Learning Path Available — Lessons Currently Being Developed

Overview

C is the foundation of operating systems, network stacks, and the tooling everyone else builds on. For a security practitioner, C is the language of memory: buffer overflows, use-after-free, and the exploit primitives that turn a crash into code execution all live here. Learning C is learning how software actually breaks.

Why learn C

  • Most kernels, libraries, and daemons are written in C — to find their bugs you must read it.
  • Memory-corruption vulnerabilities are C bugs at heart.
  • It is the prerequisite for serious binary exploitation and reverse engineering.

Security applications

  • Buffer overflow and memory-corruption analysis
  • Binary exploitation and shellcode
  • Reverse engineering compiled software
  • Writing custom low-level tooling
  • Kernel and driver security review

Planned curriculum

  1. Pointers and memory layout
  2. The stack and the heap
  3. Buffer overflows from first principles
  4. Format string vulnerabilities
  5. Use-after-free and double-free
  6. Reading disassembly alongside source
  7. Writing exploit primitives
  8. Defensive coding and mitigations
This path is on the roadmap. The four live courses (Python, JavaScript, Bash, Regex) will teach you most of what carries over.

Related languages