About: A sidequest is an optional, not graded, not evaluated in anyway exploration into a topic. Sometimes it is just cool to know what is out there in the world. Sidequests come with a little descritions, presentations, related resources, and a sample code or exercise you can try. Side quests are likely a good area for further independent studies, research project, thesis, etc.

Linux Binary Analysis - Disassembly


We have investigated the pieces of a binary file for the Unix platform--specifically an object file. The format of the object file is the ELF file format (Note that this format differs for 32-bit and 64-bit object files).

Problem Statement

Often times we may want to investigate a binary file to find vulnerabilities within our code. The first step in doing this is to retrieve a binary (or any executable object file) and investgiate its contents.

Proposed Exercise

What I propose for this project, is to build a tool that takes an ELF formatted object file and returns the disassembly.

Proposed Evaluation

Do a comparison to see how close your disassembly is to the known assembly generated at compile-time of a C program (or any language of your choice that compiles a binary).

Key Resources

(The first resource you should read)

Additional Resources