Nightmare: Intro to Binary Exploitation and Reverse Engineering
by guyinatuxedo · GitHub Pages
Over ninety real CTF challenges arranged in sequence with complete writeups, moving from reading assembly and stack overflows through ROP, format strings, integer bugs, heap exploitation, and symbolic execution. Uses only free tooling and ships the original binaries.
More resources on Reverse Engineering
Azeria Labs: Writing ARM Assembly
Seven-part introduction to 32-bit ARM assembly written for security work: data types, the instruction set, memory addressing modes, conditional execution, branching, and stack and function behaviour, with follow-on tutorials covering ARM shellcode and exploit development. This is the best free ARM-for-reversers material, and it is written by the person who then wrote the definitive ARM RE book, so it scales into paid depth if the learner wants it.
The Ghidra Book, 2nd Edition: The Definitive Guide
632-page reference to the NSA's open-source disassembler and decompiler, covering navigation, data type and structure recovery, scripting through PyGhidra, BSim behavioural matching, the debugger, and collaborative multi-user projects. Second edition published March 2026.
pwn.college - Program Security: Reverse Engineering
Reading about RE builds nothing; this is the best free source of graded, auto-checked binaries with a curriculum behind them, and the challenges escalate from license-key crackmes to reversing a bespoke virtual machine. Arizona State University's hands-on module: browser-based Linux workspaces holding crackmes, byte-limited binary patching tasks, and a custom VM-obfuscation series students must reverse instruction by instruction. Lecture slides and videos accompany dozens of graded challenges.
Reverse Engineering for Beginners
Free reference pairing small C and C++ snippets with the x86, x64, ARM, and MIPS assembly that compilers actually emit for them, then working through Windows and Linux examples. Includes exercises; PDFs published in several languages.
Architecture 1001: x86-64 Assembly
Every serious RE path starts with assembly, and this is the deepest free structured course on x86-64 aimed specifically at reverse engineers rather than at compiler writers. Video class teaching x86-64 assembly from a reverse engineer's perspective: registers, memory layout, calling conventions, and the twenty-odd instructions that dominate real binaries, with disassembler labs. Prerequisite for OST2's reverse engineering and exploitation paths.