Skip to main content

Intro to ACTP

An introductory class establishing the base for both 10-week CNO courses (Windows & Linux).
 
5-Day Course
Relevant Today
Inclusive Approach
Foundational Skills
 

Course Description

This class will familiarize students with some of the computing concepts to help build a clear picture of how to interact with the machine. This course was specially crafted by ACTP instructors to build and strengthen the core skills that will be the foundation of our other ACTP offerings. The concentrated material will provide essential understanding that will be helpful for any student looking to start with systems engineering and reverse engineering.

Prerequisites

Students should have a solid understanding of programming in a systems programming language.


What You Will Learn


Understand computer architecture and the context around your code to better root-cause bugs and mistakes.
Understand computer architecture and the context around your code to better root-cause bugs and mistakes.
Navigate system documentation for unfamiliar APIs and tools to become more self-reliant in development.
Read and write basic x86 Assembly and understand the connection between C code patterns and their associated assembly.
Use a variety of debugging tools and modern reverse engineering tools to practice your skills against increasingly difficult targets.


Daily Agenda


Day 1: Computer Architecture & Coding Environments

A look at how computing takes place from an architectural level, giving a better understanding of the context around code. Also introduces compilers, linkers, and other pieces of the build toolchain.

Day 2: Documentation & C Programming

Introduces system documentation to feel comfortable navigating unfamiliar APIs and tools. Also covers common pitfalls, frustrations, and design patterns in the C programming language.

Day 3: Introduction to x86 Assembly

A look at how computing takes place from an architectural level, giving a better understanding of the context around code. Also introduces compilers, linkers, and other pieces of the build toolchain.

Day 4: Debugging

A basic introduction to assembly, allowing students to grow comfortable reading and writing assembly, as well as understanding the connection between C code and its associated assembly.

Day 5: Reverse Engineering & Final Exam

Gain experience using a debugger, finding bugs, and eliminating them. Students will also use a variety of debugging tools that provide specialized views into a process.