Penetration Testing and Exploitation
Duration: 5 DaysCommercial: $3,783Government: $2,833

Courses - Assembly Fundamentals

The x86 Assembly course is an aggressive, three-day class targeted toward students with minimal or non-existent exposure to the x86 assembly language. Any programming experience is helpful, but not required. Beginning with the concept of binary storage, the course ramps up quickly to cover 16- and 32-bit Windows-based assembly. A total of 16 hands-on labs will include conditional branching, file input/output, console input/output, using DOS interrupts, the C runtime library, and the Windows API.

Students will write procedures, learn about and use various function calling conventions, including c_decl, stdcall, and fastcall. A historical examination of memory will be covered, including segmented memory, flat memory, and the current flat memory model. Students will be working hands-on with the stack, as well as performing stack traces in static code. Students will also write code that directly manipulates memory. Debuggers will be introduced and used to show the behavior of memory during code execution.

The capstone for the course involves writing a stenography application that embeds a message into the low-order bits of a bitmap file. Students who successfully complete the course will be better equipped to begin reverse engineering, malware analysis, and continue on to the Art of Exploitation Remote Exploit Development course (Developers I).

Windows is a registered trademark of Microsoft Corporation in the United States and other countries.


  • General Computer knowledge
  • Some programming experience is helpful, but not required


  1. Course Introduction
  2. Background Review
  3. x86 Assembly Background
  4. 16-bit vs 32-bit vs 64-bit
  5. x86 Arithmetic Commands
  6. X86 Program Structure
  7. VM Setup and Use
  8. Control Flow Instructions
  9. X86 Memory
  10. Procedures
  11. Prolog / Epilog
  12. Strings in x86
  13. Debugging With CodeView
  14. REP Commands
  15. File I/O
  16. Linking to the Windows API
  17. Capstone
x86 Assembly Datasheet

©2016, Comtech Telecommunications Corp. All Rights Reserved.