
En esta sección se le explica al alumno en qué consiste el curso y que aprenderá de él.
Los ejercicios y dudas, me las podéis hacer llegar por aquí.
Módulo 1, introducción a ingeniería inversa.
Que es un procesador.
Que dice la ley.
Limitaciones.
Introducción al programa de depuración OllyDBG.
Este programa se usara durante todo el curso, es importante comprender su funcionamiento.
En este módulo aprenderá a ver como estructuras de control como condicionales, repetitivas... se ven en Ensamblador.
Siga estudiando Variables y estructuras, agregaremos puntos de ruptura.
Seguimos estudiando estructuras y funciones de análisis de OllyDBG, como el DUMP....
Procedimientos, variables locales...
Estructuras de control condicionales e incondicionales.
Instrucciones de control Iterativas, carga y uso de pila.
Estructuras de control repetitivas, cadenas de texto...
Aprenda como Windows gestiona los programas. Aprenda que Windows se mueve todo por medio de mensajes.
Formularios.
Estructura de ficheros PE. Como trata Windows los ficheros binarios......
APIS mas significativas, sobre todo para el estudio de malware.
Practicas con código Nativo.
Aprenda a poner "parches" en sus binarios.
Aprenda a buscar por textos, APIS.
Aprenda como se ofusca un binario.
Analice un malware.
Aprenda cifrado por XOR, un cifrado muy fácil de realizar en ensamblador.
Analice a Shellter, un malware real.
Solicite la maquina virtual para el análisis.
Aprenda a depurar binarios interpretados.
Utilidades o herramientas para análisis de binarios.
Practicas con supuesto de código intermedio.
Introducción a netreflector.
Final del Curso.
La Ingeniería Inversa, es una de las disciplinas más bonitas y complejas dentro del mundo de la informática. Esta disciplina está muy relacionada con la forensia, por ejemplo, a la hora de saber cómo se ha comportado un malware dentro de un ordenador.
Este curso, pretende ser lo más práctico posible.
Aprendizaje e interpretación de programas compilados, tanto como binarios puros o interpretados.
En este módulo Aprenda a:
· Ficheros Binarios PE.
· Poner puntos de ruptura (memoria, anular objetivos por API, por cadenas….)
· Aprender a crear sus propios parches o cambios en un binario.
· Cifrados de texto por XOR.
· Reconstrucción de código intermedio.
· Analice un binario contaminado por Malware real.
El contenido del curao, le dará los conocimientos necesarios para alcanzar un nivel medio, y poder usar desensambladores y depuradores como IDA Pro, OllyDBG, Inmmunity Debugger, WinDBG….
Es recomendable tener conocimientos de ensamblador.
El lenguaje ensamblador, o assembler es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de computador física. Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son portables.
Curso con el que aprenderá a programa en un lenguaje de bajo nivel, que le permitirá hacer desarrollos o utilidades, interactuando con el propio sistema operativo. Aprenda a crear sus programas sin necesidad de usar un lenguaje interpretado, sus programas serán poco pesados y muy rápidos. Muy útil para programadores de utilidades, ciberseguridad, ingeniería inversa. Aprenda a usar las API de Windows, podrá realizar aplicaciones que trabajen con ganchos (hook), socket, memoria, procesos… Conecte sus utilidades con lenguajes de alto nivel.