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

The Computing Technology Inside Your Smartphone
Cornell University via edX
Computer Architecture
Indian Institute of Technology Madras via Swayam
Computation Structures 2: Computer Architecture
Massachusetts Institute of Technology via edX
Product Design and Manufacturing
Indian Institute of Technology Kanpur via Swayam
Foundations to Computer Systems Design
Indian Institute of Technology Madras via Swayam