pwncollege
DojosLeaderboardCommunity
Back to intro-re-pwn~5933fc84

Assembly Basics

intro-re-pwn~5933fc84
0/7 challenges completed

Learn to read x86-64 assembly, the instructions a CPU actually runs. You will follow how a program moves numbers between registers and memory, compares them, loops, and calls functions.

New to assembly? Read the numbered lesson pages below first, in order. They start from zero and explain everything these challenges use, with a worked example on a small practice program (not one of the challenges).

Suggested challenge order: registers, arithmetic, endianness, conditionals, loops, stack-frame, calling-convention. Each challenge exists in several versions with different numbers. Your copy is the one in /challenge, so do not trust numbers from someone else's copy.

1. Start here: what assembly is
2. Registers
3. The core instructions
4. Flags and conditional jumps
5. The stack and stack frames
6. The calling convention: how functions get arguments
7. Byte order: little-endian
8. Loops
9. Worked example: from C to objdump to gdb
10. How to read objdump and gdb output
11. Glossary
12. Common mistakes
13. Where to go next, and a cheat sheet

Challenges

1
Registers
2
Arithmetic
3
Endianness
4
Conditionals
5
Loops
6
Stack Frames
7
Calling Conventions