Basics
0x1 Introduction to Operating SystemsKernel space versus user space: why does the OS split memory? How does a user program talk to the kernel through system calls — the printf-to-write() example — and their Windows API counterparts.
0x0 The Basic Structure of Operating SystemsSeries opener: what an operating system is through the Cambridge, ISO, and Merriam-Webster definitions; its central tasks per Tanenbaum; then the Von Neumann architecture — CPU and its two units, main memory, I/O, and the bus — plus the five-step execution cycle.
0x2 Instruction Set ArchitectureAn introduction to the Instruction Set Architecture: machine instruction characteristics and their x86 formats and lengths, operand types, data types from Byte to QuadWord, and operation categories — arithmetic, logic, data transfer, and control flow.
0x0 Computer Architecture & OrganizationSeries opener: computer architecture vs organization, the four basic functions of a computer, the main components (CPU, memory, I/O), and the fetch–decode–execute instruction cycle.
0x15 Data ModifiersSign, size, and storage modifiers (signed/short/static), and two's complement representation of negative numbers.
0x08 FunctionsFunction types, the memory and I/O functions that matter to analysts, plus prologue/epilogue structure and calling conventions.
0x06 Loopswhile, do-while, for, and nested loops — and the fingerprint that gives a loop away in assembly: the backward jump.
0x05 Conditional Statementsif/else, switch, and the ternary operator — and how they become cmp instructions, conditional jumps, and jump tables in disassembly.
0x04 Escape SequencesEscape sequences and the null terminator (0x00): how strings are actually stored, and why strings inside binaries end with zero.
0x03 Data Types and Format SpecifiersData types and their real sizes on x86/x64, plus printf/scanf format specifiers — mapped to operand sizes in assembly.
0x02 Variables and ConstantsDeclaring variables and naming rules, constants via const and #define, and the fundamental difference between them at compile time and in memory.
0x01 Program StructureThe basic anatomy of a C program: includes, main, comments, global variables, and functions — and what each part leaves in the binary.
0x00 The Stages Code Goes ThroughThe four stages that turn C code into an executable — preprocessor, compiler, assembler, linker — and how each one shapes the binary.
0x1 Introduction to Reverse EngineeringAn entry point into reverse engineering and why it matters.