Learning Assembly Language
Offered By: LinkedIn Learning
Course Description
Overview
This course provides a hands-on introduction to programming in the x86 assembler and shows you how it can be used to access system functions through the Windows API.
Syllabus
Introduction
- Understanding low-level programming in assembler
- What you should know
- Introduction to assembly language
- Setting up your development environment
- Setting up GoAsm in the IDE
- Developing an Enigma-like file encryptor
- Setting up a program skeleton
- Understanding registers and memory
- Data types
- Using data structures
- The move and exchange instructions
- Extended move instructions
- Logical or bitwise operators
- Arithmetic operators
- Controlling the assembler flow
- Indirect addressing and pointers
- Console Input and output
- Challenge
- Solution
- Calling subprograms
- Working with floating point
- Managing arrays
- Adding plugs to the Enigmatic encryptor
- The Windows API
- More on the Windows API
- Calling the printf external function
- Executing system commands
- Jump tables
- Reading data files
- Adding a menu and jump table to the Enigmatic encryptor
- Reading and writing the Enigmatic configuration
- Ciphering the data
- Leveraging the x64 AES instructions
- Challenge: Decryption function
- Solution: Decryption function
- Writing a vulnerable assembler program
- Taking control flow
- Executing code from the data section
- Calling assembler from other languages
- Using NASM
- Calling assembler routines from C
- Executing assembler in Python
- What's next
Taught by
Malcolm Shore
Related Courses
Java Multithreading, Concurrency & Performance OptimizationUdemy Learn Assembly Language by Making Games for the Atari 2600
Udemy 16-Bit Virtual Machine in JavaScript
YouTube Build a 65C02-Based Computer From Scratch
YouTube Complete Modern C++ Programming - Beginner to Advanced
Udemy