Skip to content

Instantly share code, notes, and snippets.

Last active May 7, 2021
What would you like to do?
CPEG 476/676

Lecture 1: Intro to C/C++

Lecture 2: Memory Management in C/C++

Lecture 3: Compiling, Linking, Object Files

Lecture 4: Intro to x86 by way of Choose your own adventure stories

Lecture 5: Radare2, x86 disassembly, intro to reversing

Part 1: First 10 minutes before disconnect

Part 2: Second half

Lecture 6: Practice Reverse Engineering an executable

Lecture 7: Andy babbles for a while then teaches 32-bit calling conventions

Lecture 8: Interacting with services on ports via scripts

Lecture 9: First Exploits (Stack "smashing" for changing local variables)

Lecture 10: Writing ASM and shellcode from scratch

Lecture 11: Solve the first 4 speedruns

Lecture 12: Calling conventions in more detail

Lecture 13: 64-bit calling conventions

Lecture 14: Intro to ROP chains

Lecture 15: Working with glibc leaks

Lecture 16: Live PWN demo

Lecture 17: Global Offset Table / Procedure Linkage Table

Lecture 18: Crafting a vulnerable executable as a puzzle

Lecture 19: Intro to printf vulnerabilities

Lecture 20: Medium strength printf payloads

Lecture 21: Advanced printf is actually write what where

Lecture 22: Filling in gaps in the GOT/PLT mental models

Lecture 23: Office Hours style catch-up

Lecture 24: Second Office Hours Catch-up

7-week course can stop here

Lecture 25: Intro to the heap

Lecture 26: Intro to fastbins

Lecture 27: Fastbin Double-Free

Lecture 28: Our first heap exploit (pt 1)

Lecture 29: Unsorted Bin Play, Connecting pwntools and gdb

Lecture 30: House of Spirit (almost)

Lecture 31: Heap Office hours

Lecture 32: Intro to kernel problems (guest lecture pt 1)

Lecture 33: DEFCON recap

Lecture 34: House of Force pt. 1 (More importantly how2heap guide)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment