01 // PROJECT AT A GLANCE
MY_NM & MY_OBJDUMP
COpening an executable and reading its internal structure, the way the system does at load time.
A compiled program is not an opaque block: it is a highly structured file describing its sections, its symbols and its addresses. This project consists in rewriting the two tools that let you inspect it, which amounts to reading an executable exactly as the system does before launching it.
Clones of nm and objdump: parsing the 32- and 64-bit ELF format, section and symbol tables, with output matching the GNU tools.
PRIMARYC
DELIVERYTEAM RECORD
VERIFICATIONCriterion
SOURCEINSPECTOR READY
03 // KEY OUTCOMES
- Reading an executable the way the system does
- A single parser for 32- and 64-bit ELF, mapped into memory through mmap
- Output matching the reference GNU tools down to the character
BEYOND THE BRIEF
- Both binaries delivered when only one was the core of the subject
- Criterion tests
04 // SOURCE TREE
READING SOURCE…