YoVDO

Learning Assembly Language

Offered By: LinkedIn Learning

Tags

Assembly Language Courses Data Structures Courses Memory Management Courses Low-level Programming Courses

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
1. Preparing Your Assembler Environment
  • Introduction to assembly language
  • Setting up your development environment
  • Setting up GoAsm in the IDE
  • Developing an Enigma-like file encryptor
2. Coding in Assembler: I
  • 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
3. Coding in Assembler: II
  • 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
4. Completing the Enigmatic Encryptor
  • 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
5. Security Issues in Assembler
  • Writing a vulnerable assembler program
  • Taking control flow
  • Executing code from the data section
6. Using Assembly Language in Other Languages
  • Calling assembler from other languages
  • Using NASM
  • Calling assembler routines from C
  • Executing assembler in Python
Conclusion
  • What's next

Taught by

Malcolm Shore

Related Courses

Elementary Computer Org
Cabrillo 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