Learning Assembly Language
Offered By: LinkedIn Learning
Course Description
Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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
Elementary Computer OrgCabrillo College via California Community Colleges System XRP 101: Introduction to the Experiential Robotics Platform
Canvas Network Comp Architecture w/ Assembly
City College of San Francisco via California Community Colleges System Computer Architecture & Org
Chaffey College via California Community Colleges System Computer Architecture
Codecademy