x86 Assembly Track
12 modules · 48 lessons
Program at the hardware level with a security focus. Master x86-64 instructions, exploitation techniques, and binary hardening — the skills that power security research, reverse engineering, and exploit development.
x86 Basics & Environment
Get started with x86-64 assembly: set up NASM, understand registers and data sizes, and write your first program using Linux system calls.
Data Movement & Arithmetic
Master the fundamental x86 instructions: MOV, LEA, arithmetic operations, the flags register, and bitwise operations that underpin all low-level computation.
Control Flow
Learn how x86 implements decisions and repetition: conditional jumps, loop constructs, and how CMP and TEST set the flags that drive branching logic.
Stack & Calling Conventions
Understand the x86 stack: PUSH, POP, stack frames, the System V AMD64 ABI, and how to write proper functions with prologues and epilogues.
Memory Addressing & Strings
Master x86 addressing modes, array manipulation, and the powerful string instructions (MOVS, CMPS, STOS, SCAS) with REP prefixes.
Capstone: System Calls & I/O
Put your x86 skills to the test: master the Linux syscall interface, file descriptors, and socket programming to build an echo server entirely in assembly.
Linking & C Interop
Bridge the gap between assembly and C: learn object files, linking, calling C library functions from assembly, inline assembly, and position-independent code.
Security Foundations
Understand how security works at the instruction level: memory protections, stack canaries, ASLR, DEP/NX, and how these defenses are implemented in hardware and software.
Buffer Overflows
Dive into the most historically significant vulnerability class: understand stack-based buffer overflows at the instruction level, from anatomy to exploitation.
Shellcode Development
Learn to write position-independent shellcode: understand null-byte constraints, encoding techniques, and how to test and debug shellcode safely.
ROP & Advanced Techniques
When code injection fails, reuse existing code: learn Return-Oriented Programming, gadget hunting, chain construction, and how to bypass modern defenses like ASLR.
Reverse Engineering & Hardening
Complete the journey: read compiler output, identify vulnerabilities in disassembly, apply hardening techniques, and tackle a capstone that combines analysis with defense.