Art of Exploitation®: Assembly Fundamentals Edition is a unique introductory assembly course,
which covers both x86 and ARM architectures. This course exposes students to the assembly concept,
the compilation process, and hardware data storage including registers and memory paradigms.
It covers 16- and 32-bit assembly with mention of 64-bit changes. Students begin with simple
arithmetic instructions and proceed briskly to importing libraries and calling functions.
Students will end the course with implementing system calls to create a simple chat server
using IPv4 network protocols.
Experienced computer professionals with no programming experience can also complete the course with effort,
although they may find the capstone exercises very challenging.
This course introduces students to the assembly concept and teaches computational and programming
theory through practical coding exercises. Students will leave the course having seen conditional
execution, stack behavior, bitwise operations, console I/O, memory manipulation, and socket-based networking.
Class is approximately 70% hands-on, instructor facilitated training and 30% lecture-based training.
Students will code in Windows XP, Windows 7, and ARM-based Debian computers.
- Number Theory
- Arithmetic Instructions
- DOS Interrupts
- Reverse Engineering
- Console I/O with Windows API Functions
- Control Flow Instructions
- ARM with gcc
- Assembling and Linking Manually
- Console Printing with Service Calls
- Conditional Code Execution