Introductory Lectures

Low-level Programming

#Topic Readings References
X86-1X86 Instruction Set 
x86-2X86 Control Flow Instructions

x86-3X86 Data Movement Instructions
x86-4X86 Calling Conventions

x86-5X86 Instruction Encoding

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

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