Reversing and Pwn Basics
Intro to reverse engineering and binary exploitation.
Reversing and Pwn at a Glance
Two closely related CTF categories deal with compiled programs:
- Reverse engineering (rev) — you analyze a binary to understand what it does, often to recover a password check or hidden logic that prints the flag.
- Pwn (binary exploitation) — you find a memory-safety bug in a running binary and exploit it to hijack execution, frequently to spawn a shell on a remote service holding the flag.
Rev is about understanding; pwn is about breaking. Both require comfort with low-level concepts.
First Look at a Binary
Never open a binary blind in a disassembler. Triage it first with quick command-line tools to learn its type, architecture, and any obvious strings.
# Identify file type and architecture
file ./challenge
# Pull human-readable strings (flags are sometimes left in plaintext)
strings ./challenge
# Check which security mitigations are enabled
checksec --file=./challengeAll lessons in this course
- CTF Categories and Mindset
- Web and Crypto Challenges
- Reversing and Pwn Basics
- Tooling and Writeups