PROJECT DOSSIER // [MY_NM & MY_OBJDUMP]VIEW SOURCEBACK TO PROJECTS →

01 // PROJECT AT A GLANCE

MY_NM & MY_OBJDUMP

C

Opening 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
MEDIA ATTACHMENTS (Images, Photos, Videos)

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…