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