skip to content
Back to Home

Next reads

View all →

4 Sept

Symbol Tables: What Function Names Actually Are

Function names in a binary are just entries in a table. Two tables actually: .symtab and .dynsym. Here's what each is for, how the struct works, and how to resolve a name from an address.

9 Sept

Mini-Readelf: Gluing It All Together

The capstone. Four parts of pieces, headers, sections, symbols, relocations, joined into one tool that reads any ELF. The only new mechanic is the sh_link chain: offset into a table that holds offsets into a table that holds strings.

5 Sept

Relocations: How PIE Binaries Fix Their Addresses

A PIE binary can't write final addresses because ASLR moves it. The linker leaves placeholders and the loader patches them after mapping. That's a relocation: R_X86_64_RELATIVE, GLOB_DAT and JUMP_SLOT.

Get posts by email

One email when I publish, not a drip, not weekly. Sign up and I'll only write when there's something new.

You won't get mail just for signing up. Unsubscribe any time.