Assembly: Reading and Debugging
Read registers, instructions and disassembly to understand, debug and analyse compiled programs.
One-time payment · lifetime access · lessons, labs, exam and certificate included · no subscription.
About this course
Every program becomes machine instructions, and reading them is essential for debugging, reverse engineering and malware analysis. This course focuses on reading and debugging x86-64 assembly on Linux. You learn the general-purpose registers and the argument-passing convention, write a minimal program that prints text through the write and exit syscalls, and cover the core instruction families: mov, arithmetic, cmp and conditional jumps. A stack lesson shows how push, pop, call and ret work and why the return address sits beside local data. You disassemble binaries with objdump, step through them in gdb, and use strace to see a program’s syscalls without reading an instruction. The capstone is an analyst’s skill: recognising execve shellcode and statically disassembling an authorised sample to report what it would do, without assembling or running a payload. All work is on your own systems for authorised analysis.