ACERCA DEL AUTOR PRÓLOGO INTRODUCCIÓN PARTE 1. CAPÍTULO 1. CONCEPTOS BÁSICOS Y EXPECTATIVAS DEL CURSO 1.1 FUNCIONAMIENTO DE WINDOWS, MENSAJES Y EVENTOS 1.2 ¿PARA QUÉ PODEMOS USAR EL LENGUAJE ENSAMBLADOR? 1.3 NUMERACIÓN Y CÁLCULO ARITMÉTICO 1.4 RESUMEN AUTOEVALUACIÓN 1.5 EJERCICIOS CAPÍTULO 2. LENGUAJE ENSAMBLADOR 2.1 EJERCICIO 2.2 DESCARGA E INSTALACIÓN DE MASM32 / EASY CODE 2.3 REGISTROS DEL SISTEMA 32BITS 2.4 DIRECTIVAS DEL LENGUAJE, ESTRUCTURA DEL PROGRAMA 2.5 TIPOS DE DATOS 2.6 INTRODUCCIÓN A LAS API?S DE WINDOWS 2.7 MOVER DATOS A REGISTROS Y VICEVERSA 2.8 OPERACIONES MATEMÁTICAS SIMPLES 2.9 OPERACIONES DE PILA CAPÍTULO 3. LENGUAJE ENSAMBLADOR: PROCEDIMIENTOS, DEFINICIÓN Y USO CAPÍTULO 4. LENGUAJE ENSAMBLADOR: OPERADORES Y DIRECTIVAS RELACIONADAS CON LOS DATOS 4.1 OFFSET 4.2 ADDR 4.3 PTR 4.4 TYPE 4.5 SIZEOF CAPÍTULO 5. LENGUAJE ENSAMBLADOR: OPERACIONES CON BANDERAS CAPÍTULO 6. LENGUAJE ENSAMBLADOR: INSTRUCCIONES DE DESPLAZAMIENTO 6.1 MULTIPLICAR POR DESPLAZAMIENTO CAPÍTULO 7. LENGUAJE ENSAMBLADOR: INSTRUCCIONES DE TRANSFERENCIA DE CONTROL 7.1 INCONDICIONALES 7.2 CONDICIONALES TRADICIONALES 7.3 CONDICIONALES MASM32 7.4 ITERATIVAS TRADICIONALES 7.5 ITERATIVA MASM32 CAPÍTULO 8. LENGUAJE ENSAMBLADOR: INSTRUCCIONES MANEJO DE CADENAS 8.1 PREFIJOS DE REPETICIÓN 8.2 MOVER CADENAS 8.3 COMPARAR CADENAS 8.4 BUSCAR EN CADENAS 8.5 TRANSFERENCIAS ENTRE CADENAS Y REGISTROS CAPÍTULO 9. MODOS DE DIRECCIONAMIENTO CAPÍTULO 10. RESUMEN Y FASE DE VIDEO TALLERES 10.1 EJERCICIOS VARIOS PARA MASM32 10.2 PROYECTO FINAL MASM32 CAPÍTULO 11. ANEXO I. INTEGRACIÓN CON LEGUAJES DE ALTO NIVEL 11.1 COMO REALIZAR DLL EN ENSAMBLADOR 11.2 PYTHON INTEGRACIÓN 11.3 LA COMUNIDAD DE PYTHON 11.4 VB.NET INTEGRACIÓN PARTE 2 CAPÍTULO 12. INTRODUCCIÓN 12.1 ¿QUÉ ES EL REVERSING O INGENIERÍA INVERSA? 12.2 ¿QUÉ ES UN COMPILADOR? 12.3 LIMITACIONES 12.4 ¿QUÉ DICE LA LEY, RESPECTO AL REVERSING? 12.5 EJERCICIOS 12.6 RESULTADOS CAPÍTULO 13. INTRODUCCIÓN A OLLYDBG 13.1 DESENSAMBLADOR/CÓDIGO 13.2 REGISTROS 13.3 DUMP 13.4 PILA/STACK 13.5 RELACIÓN DE TECLAS Y BOTONES MÁS USADOS CAPÍTULO 14. RECONSTRUCCIÓN DE CÓDIGO NATIVO 14.1 CÓDIGO NATIVO, VARIABLES Y ESTRUCTURAS 14.2 EJECUTANDO CÓDIGO NATIVO, CON OLLYDBG 14.3 CÓDIGO NATIVO, VARIABLES Y ESTRUCTURAS II 14.4 PROCEDIMIENTOS Y VARIABLES LOCALES 14.5 ESTRUCTURAS DE CONTROL CONDICIONALES 14.6 ESTRUCTURAS DE CONTROL ITERATIVAS 14.7 ESTRUCTURAS DE CONTROL REPETITIVAS 14.8 FORMULARIOS 14.9 FICHEROS BINARIOS PE CAPÍTULO 15. API?S SIGNIFICATIVAS CAPÍTULO 16. PRACTICAS CON SUPUESTOS EN CÓDIGO NATIVO 16.1 BUSCANDO CADENA EN CÓDIGO NATIVO 16.2 PONIENDO PARCHES (?PATCHES?) 16.3 EJERCICIO 16.4 CIFRADO DE TEXTO POR XOR 16.5 ANULAR OBJETIVO POR API (INTERMODULAR CALLS) 16.6 EJERCICIOS 16.7 ANALIZANDO SHELLTER, UN MALWARE REAL CAPÍTULO 17. RECONSTRUCCIÓN DE CÓDIGO INTERMEDIO 17.1 MICROSOFT INTERMEDIATE LANGUAGE 17.2 ANALIZANDO BINARIO DE CÓDIGO INTERMEDIO VB.NET 17.3 EXEINFOPE 17.4 INTRODUCCIÓN A .NET REFLECTOR CAPÍTULO 18. PRÁCTICA CON SUPUESTO EN CÓDIGO INTERMEDIO
La Ingeniería Inversa, se refiere al estudio detallado de las funciones de cualquier archivo binario, paso a paso, con el fin de descubrir cuál es el código responsable por su funcionamiento. Es una de las disciplinas más gratificantes dentro de la seguridad informática. Esta obra te explica de forma secuencial como poner en práctica esta materia a través de explicaciones claras y didácticas, acompañados de ejemplos y ejercicios de autoevaluación. En la primera parte aprenderás el lenguaje de más bajo nivel legible que existe, el lenguaje Ensamblador, y lo harás comenzando desde cero con este orden: ? A moverte por el mundo de las API de Windows. ? A enlazar Ensamblador con lenguajes de alto nivel como Python y VB.Net. ? A crear su propia Shell Inversa en Ensamblador y conectarla con Python. ? A crear sus propias DLL. En la segunda parte asimilarás a interpretar los programas compilados y aprenderás: ? A interpretar ficheros Binarios PE. ? A poner puntos de ruptura. ? A crear sus propios parches o cambios en un binario. ? A cifrar texto por XOR. ? A reconstruir código intermedio. ? A analizar un binario contaminado por Malware real. Además, con esta obra tendrás acceso a 40 videos y supuestos prácticos descargables desde la web del libro que complementan al contenido y que están indicados en el libro.