Academics

Our curriculum provides a comprehensive solution to Computer Network Operations (CNO) training in the fields of Computer Penetration Testing, Red Teaming, Vulnerability Analysis, and Exploitation.

Assembly Fundamentals
Course Dates
Aug 25-Aug 29Register

ACE Evaluated & Recommended

American Council on Education - ACE CREDIT. College Credit Recommendation Service

The American Council on Education's College Credit Recommendation Service (ACE CREDIT) has evaluated 8 of 19 TCS Art of Exploitation courses. For more information, visit the ACE CREDIT website at www.acenet.edu/credit.

Course Available Online

Courses - Assembly Fundamentals

The Assembly Fundamentals course is an aggressive, five day class targeted toward students with minimal exposure to x86 and ARM. Starting with x86, students will discuss the concept of binary storage. The course then goes on to cover 16- and 32-bit Windows-based assembly. Students will write procedures and learn about the use of various function calling conventions, including c_decl, stdcall, and fastcall. The history of memory will also be discussed as students become familiar with segmented memory, flat memory, and the current flat memory model. Students will work hands-on with the stack while 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.

On day four the focus will change from x86 to ARM. The instructor will provide a brief comparison of RISC and CISC processors and the benefits of each. The class then moves to compilation and execution of code using the gcc editor and the GNU Assembler (GAS). Using ARM hardware, students will learn to create and call user-defined functions as well as system calls through offsets into the syscall table. Networking and socket communication will also be covered and students will create executable programs that communicate over an IPenabled network.

During this course students will create a functional, multiplexed chat client and server. Students will also write a stenography application that embeds a message into the low-order bits of a bitmap file.

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

Prerequisites

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

Topics

  • x86 Assembly Background
  • 16-bit vs 32-bit vs 64-bit
  • x86 Arithmetic Commands
  • x86 Program Structure
  • VM Setup and Use
  • Control Flow Instructions
  • x86 Memory
  • Procedures
  • Prolog/Epilog
  • Strings in x86
  • Debugging With CodeView
  • REP Commands
  • File I/O
  • Linking to the Windows API
  • Registers
  • Arithmetic Commands
  • Assemblers
  • Simple Memory Access
  • Calling Functions from C run-time Library
  • Using the syscall table
  • ARM I/O
  • ARM Memory
  • Conditional Execution (Branching)
  • ARM Pipelining
  • Conditional Instructions
  • ARM user-defined Procedures
  • Network Overview
  • Writing a Server
  • Memory Structures (Structs)
  • More on File Descriptors
  • Blocking Calls
  • Using Poll()
  • Writing a Client
  • Multiplexing a Server
Assembly Fundamentals Datasheet

This Course is also available online!

Course Pricing

LengthCommercialGovernment
5 Days$5,000.00$4,000.00

Copyright © 2014, AoE™. All Rights Reserved.
Powered by TCS Cyber Intelligence, a division of TeleCommunication Systems Inc. (TCS) | NASDAQ: TSYS