Introductory Lectures

Low-level Programming

Static Analysis

#Topic Readings References
ast-1Abstract Syntax Trees

cfg-1Control Flow Analysis
file-1Executable File Formats

  • Wikipedia: Executable File Formats
disass-1Disassembly

Dynamic Analysis

Reverse Engineering

#Topic Readings References
ghidra-1Introduction to Ghidra
ghidra-2Introduction to Ghidra 2
ghidra-3Ghidra Code Patching
ghidra-4Ghidra Scripting

Software Protection

#Topic Readings References
virt-1Virtualization Obfuscation 
virt-2Protecting Virtualized Code
checksum-1Checksum Integrity Check
arith-1Encoding Integer Expressions
flatten-1Control Flow Flattening
checksum-2Checksum Attacks and Defenses
softprot-1Software Protection
opaque-1Opaque Expressions