Tabellab
Cybersecurity Advanced

Memory Corruption & ROP Fundamentals

Understand how return-oriented programming defeats NX and why memory-safety defenses matter — on a teaching binary you compile yourself.

9 lessons 54 min Certificate

One-time payment · lifetime access · lessons, labs, exam and certificate included · no subscription.

About this course

This advanced course explains how memory-corruption exploitation actually works, so you can understand and defend against it. You compile your own deliberately vulnerable teaching program and use it to learn why jumping straight to a target function fails, how the x86-64 calling convention passes arguments in registers, and what a ROP gadget is. You find a pop-rdi-ret gadget with objdump and nm, assemble a return-oriented chain in Python, and see it call a function with a value you chose. Further lessons explain why NX and DEP killed classic shellcode, how ASLR and PIE force the leak-compute-ROP workflow, and the ret2libc concept behind a shell. Every exercise runs on a binary you build and own, for legal learning and defense only.

Lessons

  1. Beyond ret2win — the Real ProblemReading6 min Pro
  2. The Calling Convention (RDI, RSI, …)Reading6 min Pro
  3. What Is a ROP Gadget?Reading6 min Pro
  4. Finding GadgetsReading6 min Pro
  5. Building the ROP ChainReading6 min Pro
  6. Why ROP Exists — NX / DEPReading6 min Pro
  7. ASLR, PIE & the Need for LeaksReading6 min Pro
  8. ret2libc & Popping a Shell (Concept)Reading6 min Pro
  9. Final Exam — Build the ROP ChainReading6 min Pro