Autoplay
Autocomplete
Dark Mode
Speed
Previous Lesson
Complete and Continue
Assembly 101
Course Intro
Course Intro (7:35)
Why You Should Learn Assembly
Lesson Formats and Where to Get Code Samples (3:03)
Getting Help and Course Discord (1:19)
Intro to Computer Engineering
👨🏫Section Intro (2:31)
👨🏫Numbering Systems (Decimal, Binary, Hex) (12:29)
👨🏫How Processors Work Part 1/3 (7:34)
👨🏫How Processors Work Part 2/3 (12:12)
👨🏫How Processors Work Part 3/3 (9:18)
👨🏫Intro to the intel 8086 (6:47)
✏️Check-In Quiz
8086 Development Setup
🖥️Downloading Resources (1:23)
🖥️Ubuntu VM Setup (6:07)
🖥️8086 Web Emulator Installation (7:55)
🖥️8086 Web Emulator Intro (4:34)
Registers, MOV and Interrupts
👨🏫8086(x86-16) General Purpose Registers (5:03)
👨🏫Assembly Syntax (4:04)
🖥️MOV (7:27)
1️⃣0️⃣1️⃣0️⃣Code Challenge (0ff0 f00f) (4:44)
1️⃣0️⃣1️⃣0️⃣Code Challenge Solution Code
🖥️Interrupts (8:38)
✏️Check-In Quiz
🖇️Section Code Samples
Interacting With Memory
👨🏫8086 Memory Segmentation (8:00)
🖥️MOV in/out of memory (8:14)
👨🏫Endianness (6:27)
🖥️Data Directive (14:06)
🖥️Hello World! (9:05)
🖥️Pointers (10:24)
🖥️The Stack (9:59)
1️⃣0️⃣1️⃣0️⃣Code Challenge (Don't Print This. Print This.) (5:33)
1️⃣0️⃣1️⃣0️⃣Code Challenge Solution Code
✏️Check-In Quiz
🖇️Section Code Samples
Arithmetic Operations
🖥️ADD (5:36)
🖥️ADD with Carry Flag (7:19)
🖥️SUB (3:36)
🖥️Signed Numbers and Borrow Flag (14:17)
🖥️MUL (5:33)
🖥️DIV (6:25)
🖥️Bitwise Boolean Logic (8:14)
✏️Check-In Quiz
🖇️Section Code Samples
Accepting User Input
🖥️Accepting Single Char via Keyboard (3:45)
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Number Input) (9:43)
1️⃣0️⃣1️⃣0️⃣Coding Challenge Solution Code
🖥️Accepting Multiple Chars Via Keyboard (13:26)
✏️Check-In Quiz
🖇️Section Code Samples
Conditional Statements
🖥️CMP (5:18)
🖥️JMPs (14:15)
🖥️Chaining JMPs (10:23)
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Number Guessing Game) (12:11)
1️⃣0️⃣1️⃣0️⃣Coding Challenge Solution Code
✏️Check-In Quiz
🖇️Section Code Samples
Loops
🖥️Looping (12:53)
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Looping Number Guessing Game) (10:09)
🖥️Coding Challenge #1 Solution Code
🖥️LODS (9:01)
🖥️STOS (8:16)
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Number Addition) (14:57)
Coding Challenge #2 Solution Code
✏️Check-In Quiz
🖇️Section Code Samples
Functions
🖥️Functions (10:29)
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Number Addition DNRY) (11:03)
1️⃣0️⃣1️⃣0️⃣Coding Challenge Solution Code
✏️Check-In Quiz
🖇️Section Code Examples
x86-16 Capstone Challenge
1️⃣0️⃣1️⃣0️⃣Coding Challenge (The Cyber Mentor Coding Challenge) (13:42)
1️⃣0️⃣1️⃣0️⃣Coding Challenge Solution
✏️Check-In Quiz
🖇️Section Code Samples
Intro to x86-64
👨🏫Section Intro (3:14)
👨🏫AMD64 Programmer's Manual (4:04)
x86-16 to 32 to 64 Register Changes (12:55)
🖥️Revisiting helloworld.c (10:38)
🖥️Assembling and Linking (7:47)
🖥️Using GDB (11:02)
🖥️Function Epilogues and Prologues (9:22)
🖥️Position Independent Code (11:23)
🖥️Syscall (4:59)
🖥️Write Syscall (12:39)
🖥️Using Make (7:13)
🖥️Read Syscall (11:15)
🖥️NASM (6:02)
✏️Check-In Quiz
🖇️Section Code Samples
x86-64 Functions
👨🏫AMD64 System V Application Binary Interface (12:44)
🖥️x86-64 Linux ASM Boilerplate (3:26)
🖥️Interacting With Memory (14:05)
🖥️Memory Alignment (9:32)
🖥️Functions and Global Variables (8:00)
🖥️Passing Args Via Registers Part 1 (5:13)
🖥️Passing Args Via Registers Part 2 (6:38)
🖥️Passing Args Via Stack (11:18)
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Don-t Print X) (9:13)
1️⃣0️⃣1️⃣0️⃣Coding Challenge Solution Code
✏️Check-In Quiz
🖇️Section Code Samples
The Cyber Mentor Coding Challenge - x86-64 Assembly Version
1️⃣0️⃣1️⃣0️⃣Coding Challenge Details and Hint (4:36)
1️⃣0️⃣1️⃣0️⃣Coding Challenge Solution (14:50)
🖇️Section Code Samples
Memory Safety
🖥️Reviewing Stack Overflow Source Code (10:55)
🖥️Investigating Stack Overflow with GDB (6:50)
🖥️Basic Stack Overflow Exploit (11:54)
🖥️Mitigating Stack Overflow Vulnerability (17:09)
🖥️Writing Shellcode Part 1 (11:08)
🖥️Writing Shellcode Part 2 (9:44)
🖥️Avoiding Bad Characters (8:01)
🖥️Disabling Memory Corruption Protections (11:39)
🖥️Stack Smashing with Shellcode (13:44)
🖥️Reversing Shellcode (2:39)
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Privilege Escalation) Details and Hints (2:08)
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Privilege Escalation) Solution (19:38)
✏️Check-In Quiz
🖇️Section Code Samples
Course Outro
Course Outro (3:02)
Acknowledgements
1️⃣0️⃣1️⃣0️⃣Coding Challenge (Number Addition)
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock