1. tooling
  2. buffer overflows
  3. shellcode
  4. format strings
  5. source code auditing
  6. return oriented programming
  7. heap
  8. harder rop