http://opensecuritytraining.info/LifeOfBinaries.html
Assumes: basic knowledge of C, but benefits from Intro x86
Teaches: The stages of an executable's life from source code through terminating executable. Compiler theory with a special emphasis on the stage where assembly code is output. Structuring code and data into well-formed executable files such as the Windows Portable Executable (PE) and Linux Executable and Linkable Format (ELF) formats. A deep dive of PE is taken with an eye toward security-relevant features; and then ELF is examined to show how it is similar and different to PE. The class ends with showing the applicability of binary format knowledge for viruses and packers.