X86 Assembly Programming

Learn How to Master Assembly Language

5.00 (1 reviews)
Udemy
platform
English
language
Hardware
category
instructor
15
students
1.5 hours
content
Feb 2022
last update
$29.99
regular price

What you will learn

X86 Assembly Language

Intel 8086 and 80386 Architectures

Stack Overflow Attacks

Description

During this class you will learn X86 Assembly Language, the 8086 and 80386 Intel Architectures, and everything you need to know about the Stack:  What is the Stack ? What are procedure calls and how procedure Calls are using the Stack to operate? How to allocate C data structures in Memory ? And How Hackers use code vulnerabilities to operate Stack Overflow Exploits and how to protect your code against such attacks. What are SSE Instructions and how to use them ? This is the ideal class to start learning X86 Assembly, understand how compilation works and how your computer compiles and executes C code. During the class we will also review multiple code examples and debug them using Gnu Debugger GDB debugging tool. The compilation process will be reviewed and we will go in details into the disassembled code to see how it works. All major X86 Instructions types will be explained, as for example: jump instructions, arithmetic instructions, mov instructions and more. The end of the class will be dedicated to stack overflow attacks, and how to prevent vulnerable code to be exploited by attackers. Requirements for the class is a working linux system. We will go through the steps of how to install gdb and start turning C code into assembly code for debugging. All major GDB commands will be listed so that a comprehensive view of GDB is given. 

Screenshots

X86 Assembly Programming - Screenshot_01X86 Assembly Programming - Screenshot_02X86 Assembly Programming - Screenshot_03X86 Assembly Programming - Screenshot_04

Content

Introduction

Introduction
Historic Background of X86 Intel Processors
Turning C into Object Code

Intel Computer Architectures

The 8086 Processor
The 80386 Processor
Integer Registers (IA32)
Processor State (IA32)
Conditions Codes
Byte Ordering

Jump Instructions

The different Jump Instructions
Example Use of a Jump Instruction

Data Movement Instructions

The mov Instruction
Memory Addressing Modes
Address Computation Instruction

The Gnu Debugger (GDB)

Basic GDB Commands
Example Use Cases of GDB

Arithmetic Instructions

Basic Arithmetics
Arithmetic Expression Example
Floating Point Instructions

Memory Allocation of C data structures

Array Allocation
Structure Allocation
IA32 Linux Memory Layout
Operating Modes

Stack Instructions

What is the Stack?
Push and Pop Instructions
Procedure Call
Procedure Return
Linux Stack Frame
Register Saving Conventions

SSE

What is SSE ?
SSE Registers
SSE Instructions

Stack Overflow Exploits

Vulnerable Code
Buffer Overflow: Stack Example
Buffer Overflow Exploit

Charts

Price

X86 Assembly Programming - Price chart

Rating

X86 Assembly Programming - Ratings chart

Enrollment distribution

X86 Assembly Programming - Distribution chart
3351826
udemy ID
7/21/2020
course created date
3/18/2022
course indexed date
Bot
course submited by