Assembly 101

Learn the language of computers and how to write your own Assembly code.

Training for a team or organization? Contact us about group access.

Assembly 101

Inside the Course

Scroll down to explore the skills you’ll build, the techniques you’ll master, and the requirements to get started.

Start Learning This Course Today

The All-Access Membership gives you unlimited access to this course, hands-on labs, and a complete library of cybersecurity training. Everything you need to build real-world skills is included.

Questions?

If you need clarification on the course or its requirements, simply use the chat button below and our team will assist you.

  • Difficulty: Beginner
  • Duration: 12h 30m
  • Access: Included with Membership

Overview

Welcome to Assembly 101! This course will teach you how computers work down to the lowest level and how to write and read the human readable version of the 1s and 0s they speak in – Assembly. The course starts with an introduction on how computers perform computations using transistors, logic gates and machine code (1s and 0s), then moves on to writing your own assembly programs. Students will start writing x86-16 assembly in a beginner-friendly 8086 emulator to learn the fundamentals and then move on to writing modern x86-64 assembly. 

Key Topics

  • How computers work at a low level
  • Numbering systems: Decimal, Hex and Binary
  • Setting up an assembly development environment
  • x86 Registers, Flags and Pointers
  • x86 Instruction Set
  • Learning x86 fundamentals by writing x86-16 assembly programs
  • Writing modern x86-64 assembly
  • Explore memory safety and learn about writing shellcode and exploiting stack overflows.

 

Prerequisites

Programming 100: Fundamentals and Linux 100: Fundamentals, or equivalent knowledge!

Students should have a basic understanding and familiarity of programming with any high-level language.

 

Objectives

Understand How Computers Work:

  • Understand how computers work at a low-level.

Learn Assembly Fundamentals:

  • Learn the fundamentals of x86 assembly.

Create Your Own Assembly Programs:

  • Read and write simple to medium complexity x86 assembly programs. 

System Requirements

Students will need a computer capable of running and x86-64 virtual machine. The first half of the course will use an emulator that can be run on most architectures, however the second half of the course will focus on x86-64 development without the use of an emulator. 

Course Curriculum

  • Introduction
    • Course Introduction
    • Course Discord (Important)
    • Resources and Tips for Success
    • Course Repo
  • Gaining a Foothold
    • Introduction
    • Gaining a Foothold (Box 1)
  • Initial Enumeration
    • System Enumeration
    • User Enumeration
    • Network Enumeration
    • Password Hunting
    • AV Enumeration
  • Exploring Automated Tools
    • Automated Tool Overview
    • Exploring Automated Tools
  • Escalation Path: Kernel Exploits
    • Kernel Exploits Overview
    • Escalation with Metasploit
    • Manual Kernel Exploitation
  • Escalation Path: Passwords and Port Forwarding
    • Overview
    • Gaining a Foothold (Box 2)
    • Escalation via Stored Passwords
  • Escalation Path: Windows Subsystem for Linux
    • Overview
    • Gaining a Foothold (Box 3)
    • Escalation via WSL
  • Impersonation and Potato Attacks
    • Token Impersonation Overview
    • Impersonation Privileges Overview
    • Potato Attacks Overview
    • Gaining a Foothold (Box 4)
    • Escalation via Potato Attack
    • Alternate Data Streams
  • Escalation Path: getsystem
    • getsystem Overview
  • Escalation Path: RunAs
    • Overview of RunAs
    • Gaining a Foothold (Box 5)
    • Escalation via RunAs
  • Additional Labs
    • Overview of TryHackMe Labs
  • Escalation Path: Registry
    • Overview of Autoruns
    • Escalation via Autorun
    • AlwaysInstallElevated Overview and Escalation
    • Overview of regsvc ACL
    • regsvc Escalation
  • Escalation Path: Executable Files
    • Executable Files Overview
    • Escalation via Executable Files
  • Escalation Path: Startup Applications
    • Startup Applications Overview
    • Escalation via Startup Applications
  • Escalation Path: DLL Hijacking
    • Overview and Escalation via DLL Hijacking
  • Escalation Path: Service Permissions (Paths)
    • Escalation via Binary Paths
    • Escalation via Unquoted Service Paths
    • Challenge Overview
    • Gaining a Foothold
    • Escalation via Unquoted Service Path Metasploit
    • Manual Challenge Walkthrough
  • Escalation Path: CVE-2019-1388
    • Overview of CVE-2019-1388
    • Gaining a Foothold
    • Escalation via CVE-2019-1388
  • Capstone Challenge
    • Capstone Overview
    • Challenge Walkthrough 1
    • Challenge Walkthrough 2
    • Challenge Walkthrough 3
    • Challenge Walkthrough 4
    • Challenge Walkthrough 5
  • Conclusion
    • Conclusion
    • Next Steps: The Practical Network Penetration Tester (PNPT) Certification

This Course Is Included in Your All-Access Membership

One membership gives you ongoing access to Assembly 101, every other paid Academy course, and an active community of learners and mentors in Discord.

INSTRUCTORS

Meet Your Instructor

Learn from industry experts with real-world cybersecurity experience.

Instructor Andrew Bellini

Andrew Bellini

Welcome Everyone! My name is Andrew Bellini and I sometimes go as DigitalAndrew on social media. I’m an electrical engineer by trade with a bachelor’s degree in electrical engineering and am a licensed Professional Engineer (P. Eng) in Ontario, Canada. While my background and the majority of my career has been in electrical engineering, I am also an avid and passionate ethical hacker. In addition to being an instructor I am also a longtime student of TCM, and their courses helped me transition my career to working as a technical trainer for a cybersecurity company.

In addition to my love for all things ethical hacking, cybersecurity, CTFs and tech I also am a dad, play guitar and am passionate about the outdoors and fishing.

FAQS

Common Questions

Here are a couple of our most commonly asked questions, contact us if you don’t find an answer!

Can I get a refund if I'm unhappy with my purchase?
2
3

Yes. All courses come with a 24-hour money-back guarantee.

Will I receive a certificate of completion when I finish a course?
2
3

Yes. All courses come with a certificate of completion.

Do the courses count as Continuing Education Units (CEUs)?
2
3

Yes. Every certificate of completion comes with the total CEUs earned listed on the certificate.

What is the All-Access Membership?
2
3

As of July 1st, 2023 TCM Academy transitioned to a monthly subscription model, where you now receive full access to all of the courses on our platform for as long as your subscription remains active.

What if you already own courses on TCM Academy?
2
3

If you already own a course on our platform, you will continue to own that course. Previously owned courses will not be affected by this change.

I can see the course, but it won’t load or play. What should I do?
2
3

We use Cloudflare to protect our course platform and unfortunately, it does not play nice with VPNs. If you are experiencing issues, turn off your VPN and try again. If that does not solve the issue, please contact our support team at support@tcm-sec.com and we will help you out.

This course is included in our All-Access Membership, starting at $29.99/month.

Get full access to this course and our full course catalog when you enroll in our All-Access Membership.

Ready to level up your Cybersecurity Career?

Get unlimited access to every TCM Security Academy course, hands-on lab, and certification pathway with an All-Access Membership. Learn at your own pace, build real-world skills, and take the next step toward a career in cybersecurity.

PWPA