Thursday, June 18, 2009

Learning Assembly

A colleague of mine demonstrated a vulnerability in Adobe Acrobat Reader that exploits the way images are loaded. It is possible to send someone a PDF that once opened could download a file and run it. The details of the vulnerability aren’t important, but the process of understand how a hacker might discover such a vulnerability is quite interesting. One would have to have a good understanding of how computers work as well as how to disassemble and understand an EXE. Being a software developer I wanted to brush up on assembly. My colleague emailed me the following set of videos:

Assembly Primer for Hackers
Part 1 - System Organization
Part 2 - Virtual Memory Organization
Part 3 - GDB Usage Primer
Part 4 - Hello World
Part 5 - Data Types
Part 6 - Moving Data
Part 7 - Working with Strings
Part 8 - Unconditional Branching
Part 9 - Conditional Branching
Part 10 - Functions
Part 11 - Functions Stack