Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

address space layout randomization

The operating system loading a program's code, libraries, stack and heap at different random addresses each time, so their locations can't be known in advance.

Address space layout randomization (ASLR) places the stack, heap, memory-mapped regions, shared libraries and (for a position-independent executable) the program image at randomly chosen, alignment-respecting base addresses at each load or boot, so an address learned from one run or machine doesn't hold on another.

Examples

  • Printing &main from a position-independent executable gives a different address on each run.

Read the full section →