Skip to content

Build an ELF Loader

Build an ELF executable loader: parse the ELF header, walk program headers, mmap PT_LOAD segments, set up the initial stack and auxv, hand off to dynamic linker (ld-linux.so), apply relocations, and resolve symbols via GOT/PLT.

advanced10 lessons4 chapters10 graded exercisesPython

No sign-up needed for lesson 1 · certificate on completion · sign up to save progress

What you’ll have built

Chapter by chapter. Every step is a graded exercise.

  • ELF Format
  • Static Loading
  • Dynamic Linking
  • Production
Starts in Python — solve in the language you choose in the editor, same tests either way.

Curriculum

4 chapters, 10 lessons. Each lesson is a short read, one graded exercise, and a quiz.

  1. 1ELF: Executable & Linkable FormatRead · exercise · quiz
  2. 2ELF HeaderRead · exercise · quiz
  3. 3Program Headers (Segments)Read · exercise · quiz
Loading reference solution…