4 ms·
Low-level programming is one of my favourite subjects. I've written a simple ELF parser in Nim (with the help of an amazing binary parsing library) among other
by khaledh 3y ago
Low-level programming is one of my favourite subjects. I've written a simple ELF parser in Nim (with the help of an amazing binary parsing library) among other things: https://github.com/khaledh/elfdump https://github.com/khaledh/elfdump
- eddd-ddde 3y agoThat reminds me, couple of years ago when I was leaning to program, one of my first projects was a ELF parser so I could understand what binaries where doing and how they where built.
- a2code 3y agoHow did you learn to do this?
- hnthrowaway0328 3y agoJust read the ELF specification. There is a header and everything else follows. There are a lot of explanations online, here is one: https://www.cs.cmu.edu/afs/cs/academic/class/15213-f00/docs/elf.pdf https://www.cs.cmu.edu/afs/cs/academic/class/15213-f00/docs/...
- khaledh 3y agoMy reference was the "System V Application Binary Interface" itself (chapter 4). It's not that difficult to grok. https://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf https://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf
- WalterBright 3y agoIn order to learn an object file format, the first thing I'd do is write a dumper for it.
- mhh__ 3y agoWriting a program that can dump itself is a great learning project. Good bit twiddling practice too