Exploit Lab is a small C teaching repo focused on memory-safety fundamentals.
The project is intentionally educational and defensive:
- compare unsafe and safe input handling
- inspect stack layout and nearby addresses
- explain overflow side effects without depending on real undefined behavior
- illustrate conceptual control-flow changes safely
The repo now has three layers of verification:
makebuilds all demosmake verifyrecompiles with-Werrormake checkruns compile and runtime smoke tests
- Shared demo entry points live in
src/demo_programs.h. - Runtime checks live in
tests/demo_runtime_checks.c. src/overflow_behavior_demo.cnow uses a deterministic simulation so contributors see the same learning signal across environments.
Keep the repo beginner-friendly, reproducible, and safe to run while still showing why unsafe C patterns matter.