# | Topic | Video | Slides | In-class Exercises |
Prereq- uisite |
Video Length |
---|---|---|---|---|---|---|
intro-1 | Introduction
| 25m | ||||
model-1 | Modeling Attacks and Defenses | models-1-exercises.pdf | 20m |
# | Topic | Video | Slides | In-class Exercises |
Prereq- uisite |
Video Length |
---|---|---|---|---|---|---|
X86-1 | X86 Instruction Set
| x86-1-exercises.zip | 32m | |||
x86-2 | X86 Control Flow Instructions
| x86-2-exercises.zip | x86-1 | 26m | ||
x86-3 | X86 Memory Operations
| x86-3-exercises.zip | x86-2 | 18m | ||
x86-4 | X86 Calling Conventions | |||||
x86-5 | X86 Instruction Encoding |
# | Topic | Video | Slides | In-class Exercises |
Prereq- uisite |
Video Length |
---|---|---|---|---|---|---|
ast-1 | Abstract Syntax Trees | ast-1-exercises.zip | 20m | |||
cfg-1 | Control Flow Analysis | cfg-1-exercises.zip | 22m | |||
file-1 | Executable File Formats
| file-1-exercises.zip | 12m | |||
disass-1 | Disassembly
| disass-1-exercises.zip | x86-2, cfg-1 | 25m |
# | Topic | Video | Slides | In-class Exercises | Prereq- uisite | Video Length |
---|---|---|---|---|---|---|
gdb-1 | Debugging with gdb
| gdb-1-exercises.zip | x86-2, ghidra-3 | 29m | ||
trace-1 | Tracing
| trace-1-exercises.zip | opaque-1 | 22m | ||
symex-1 | Symbolic Execution
| symex-1-exercises.zip | ast-1, softprot-1, x86-1 | 25m | ||
symex-2 | Symbolic Execution with angr
| symex-2-exercises.zip | symex-1 | 8m |
# | Topic | Video | Slides | In-class Exercises |
Prereq- uisite |
Video Length |
---|---|---|---|---|---|---|
ghidra-1 | Introduction to Ghidra 1
| ghidra-1-exercises.zip | x86-2, cfg-1 | 19m | ||
ghidra-2 | Introduction to Ghidra 2
| ghidra-2-exercises.zip | ghidra-1 | 18m | ||
ghidra-3 | Ghidra Code Patching
| ghidra-3-exercises.zip | ghidra-1 | 19m | ||
ghidra-4 | Ghidra Scripting
| ghidra-4-exercises.zip | ghidra-3 | 21m | ||
re-1 | Reverse Engineering Strategies
| ghidra-1, trace-1, virt-1 | 18m |
# | Topic | Video | Slides | In-class Exercises |
Prereq- uisite |
Video Length |
---|---|---|---|---|---|---|
virt-1 | Virtualization Obfuscation
| virt-1-exercises.zip | cfg-1 | 16m | ||
virt-2 | Protecting Virtualized Code
| virt-2-exercises.zip | virt-1 | 28m | ||
checksum-1 | Checksum Integrity Check
| checksum-1-exercises.zip | 24m | |||
arith-1 | Encoding Integer Expressions
| arith-1-exercises.zip | ast-1 | 22m | ||
flatten-1 | Control Flow Flattening
| flatten-1-exercises.zip | cfg-1 | 18m | ||
checksum-2 | Checksum Attacks and Defenses
| checksum-1 | 20m | |||
softprot-1 | Software Protection
| software-protection-1-exercises.zip | intro-1, ghidra-1 | 28m | ||
opaque-1 | Opaque Expressions
| opaque-1-exercises.zip | flatten-1 | 20m |