Tiny ELF Executables
For the masochist programmers out there, I came across two articles on creating tiny executable programs. The first was a short study in how to generate an executable without the libc library which added an unnecessary amount of bloat to the ever classic “Hello World” program. Jessica, the author, goes through a series of steps showing where libc roots itself into the binary and how to use assembly language helpers to create some basic constructs and labels in order for compilation to succeed. It’s an interesting evolutionary read that takes the binary from 11K to just over 1K. Another tutorial leaves C behind almost completely and explores the absolute minimum structural requirements of the ELF format. Although it’s largely useless information to any normal programmer, it is handy to understand executable file specs if you’re a system programmer or interested in exploiting things at the system level.