13. Extra Resources

13.1. ELF Binary Specification

  1. The Official Spec

  2. Also in PDF

  3. More interesting description

  4. From a Linux Programmer's Perspective

13.2. Other Resources and amusements

  1. LDasm project. LDasm is at best a passable disasembly tool (disasm.pl is FAR more useful), but it does come with a utility called ptrace, which allows you to view which instructions of a program actually execute. You can also give ptrace a list of addresses (for example, the list of functions found by disasm.pl) and have it step through those to show you which ones actually execute in your program.

  2. Creating Teensy Executables in Linux

  3. Microsoft COFF format

  4. Attacking FlexLM is an essay written in 1998 on attacking a specific form of hard copy protection. There are several other essays on that site, but most of them cover material that we cover above, but with specific example programs.