
Programación en ensamblador x86
Aprende a dominar el lenguaje ensamblador
Lo que aprenderás
- Lenguaje ensamblador X86
- Arquitecturas Intel 8086 y 80386
- Ataques de desbordamiento de pila
Requisitos
- Línea de comandos de Linux
Descripción
-
- En esta clase aprenderás el lenguaje ensamblador X86, las arquitecturas Intel 8086 y 80386, y todo lo que necesitas saber sobre la pila: ¿Qué es la pila? ¿Qué son las llamadas a procedimientos y cómo utilizan la pila para operar? ¿Cómo asignar estructuras de datos C en memoria? ¿Y cómo los hackers utilizan vulnerabilidades de código para realizar ataques de desbordamiento de pila y cómo proteger tu código contra dichos ataques? ¿Qué son las instrucciones SSE y cómo usarlas? Esta es la clase ideal para comenzar a aprender ensamblador X86, entender cómo funciona la compilación y cómo tu computadora compila y ejecuta código C. Durante la clase, también revisaremos múltiples ejemplos de código y los depuraremos utilizando la herramienta de depuración Gnu Debugger GDB. El proceso de compilación será revisado y entraremos en detalles en el código desensamblado para ver cómo funciona. Se explicarán todos los tipos de instrucciones X86 principales, como por ejemplo: instrucciones de salto, instrucciones aritméticas, instrucciones de movimientos y más. El final de la clase estará dedicado a los ataques de desbordamiento de pila, y cómo prevenir que el código vulnerable sea explotado por los atacantes. El requisito para la clase es un sistema linux en funcionamiento. Repasaremos los pasos de cómo instalar gdb y comenzar a convertir el código C en código ensamblador para depurarlo. Se listarán todos los comandos principales de GDB para que se tenga una visión completa de GDB.
Para quién es este curso:
- Estudiantes de Ingeniería Eléctrica
- Estudiantes de Ciencias de la Computación
- Cualquiera que quiera aprender sobre programación en ensamblador y arquitecturas Intel
-
Introduction
-
Intel Computer Architectures
-
Jump Instructions
-
Data Movement Instructions
-
The Gnu Debugger (GDB)
-
Arithmetic Instructions
-
Memory Allocation of C data structures
-
Stack Instructions
-
SSE
-
Stack Overflow Exploits