Definition:

  • Binary file that has sections
  • For Unix system:
    • a.out
    • COFF: Common Object File Format
    • ELF: Executable and Linking Format
  • For windows:
    • PE: Portable Executable

Sections:

  • Header: Size and position of piece of file
  • Text segment: instructions
  • Data segment: static data (local/global vars, strings, constants)
  • Debugging information: line number code address map, …
  • Symbol Table:
    • external exported references (symbol, functinos)
    • Unresolved imported references