REVERSING, INGENIERÍA INVERSA

REVERSING, INGENIERÍA INVERSA

TEORÍA Y APLICACIÓN

GARROTE GARCIA, RUBEN / GARCIA TOME, ANTONIO (Ilustración)

30,90 €
IVA incluido
Entrega en 24/48h
Editorial:
RA-MA
Año de edición:
2017
Materia
Programación
Materia BIC
SEGURIDAD INFORMÁTICA
ISBN:
978-84-9964-706-7
Páginas:
370
Encuadernación:
Otros
Colección:
Informática
30,90 €
IVA incluido
Entrega en 24/48h
Añadir a favoritos

SOBRE EL AUTOR INTRODUCCIÓN CAPÍTULO 1. INTRODUCCIÓN A LA INGENIERÍA INVERSA 1.1 DEFINICIONES 1.2 MOTIVACIÓN 1.2.1 Descifrar algoritmos y/o especificaciones privadas 1.2.2 Agregar funcionalidades 1.2.3 Validación y verificación del software 1.2.4 Detección de vulnerabilidades 1.2.5 Análisis de malware 1.3 LIMITACIONES 1.4 ASPECTOS LEGALES 1.5 CUESTIONES RESUELTAS 1.5.1 Enunciados 1.5.2 Soluciones CAPÍTULO 2. COMPILADORES 2.1 TEORÍA DE COMPILADORES 2.2 FASES DE UN COMPILADOR 2.3 ANÁLISIS LÉXICO 2.3.1 Definición de términos 2.3.2 Especificación de componentes léxicos 2.3.3 Reconocimiento de componentes léxicos 2.3.4 LEX como analizador léxico 2.4 ANÁLISIS SINTÁCTICO 2.4.1 Gramáticas independientes del contexto 2.4.2 Arboles de análisis sintáctico y derivaciones 2.4.3 Analizadores sintácticos LR 2.4.4 Analizadores sintácticos LALR 2.5 ANÁLISIS SEMÁNTICO 2.6 GENERACIÓN DE CÓDIGO INTERMEDIO 2.6.1 Código de tres direcciones 2.6.2 Tipos de proposiciones de tres direcciones 2.7 GENERACIÓN DE CÓDIGO Y OPTIMIZACIONES 2.8 HERRAMIENTAS PARA LA COMPILACIÓN 2.9 CUESTIONES RESUELTAS 2.9.1 Enunciados 2.9.2 Soluciones 2.10 EJERCICIOS PROPUESTOS CAPÍTULO 3. RECONSTRUCCIÓN DE CÓDIGO I. ESTRUCTURAS DE DATOS 3.1 CONCEPTOS BÁSICOS SOBRE RECONSTRUCCIÓN DE CÓDIGO 3.2 VARIABLES 3.3 ARRAYS 3.4 PUNTEROS 3.5 ESTRUCTURAS 3.6 OBJETOS 3.7 CUESTIONES RESUELTAS 3.7.1 Enunciados 3.7.2 Soluciones 3.8 EJERCICIOS PROPUESTOS CAPÍTULO 4. RECONSTRUCCIÓN DE CÓDIGO II. ESTRUCTURAS DE CÓDIGO COMUNES 4.1 ESTRUCTURAS DE CÓDIGO 4.2 OPERADORES 4.3 CONDICIONALES Y BIFURCACIONES 4.4 FUNCIONES 4.5 CUESTIONES RESUELTAS 4.5.1 Enunciados 4.5.2 Soluciones 4.6 EJERCICIOS PROPUESTOS CAPÍTULO 5. FORMATOS DE FICHEROS BINARIOS Y ENLAZADORES DINÁMICOS 5.1 CONCEPTOS PRELIMINARES 5.2 BINARIOS ELF 5.2.1 Formato de ficheros 5.2.2 Cargador dinámico 5.3 FICHEROS BINARIOS PE 5.3.1 Formato de fichero 5.3.2 Cargador dinámico 5.4 CUESTIONES RESUELTAS 5.4.1 Enunciados 5.4.2 Soluciones 5.5 EJERCICIOS PROPUESTOS CAPÍTULO 6. ANÁLISIS ESTÁTICO: DESENSAMBLADORES Y RECONSTRUCTORES DE CÓDIGO 6.1 CONCEPTOS INICIALES 6.2 DESENSAMBLADORES 6.2.1 Conceptos básicos 6.2.2 Herramientas disponibles 6.3 RECONSTRUCTORES DE CÓDIGO 6.3.1 Herramientas disponibles 6.3.2 Hex-Rays Decompiler 6.4 CUESTIONES RESUELTAS 6.4.1 Enunciados 6.4.2 Soluciones 6.5 EJERCICIOS PROPUESTOS CAPÍTULO 7. ANÁLISIS DINÁMICO: DEPURADORES DE CÓDIGO 7.1 ASPECTOS GENERALES 7.2 CAJA NEGRA: ANÁLISIS DE COMPORTAMIENTO 7.2.1 Interceptación de comunicaciones 7.2.2 Monitorización de funciones del sistema 7.3 CAJA BLANCA: DEPURADORES DE CÓDIGO 7.3.1 Depuradores de código en Linux 7.3.2 Depuradores de código en Windows 7.4 CUESTIONES RESUELTAS 7.4.1 Enunciados 7.4.2 Soluciones 7.5 EJERCICIOS PROPUESTOS CAPÍTULO 8. APLICACIONES PRÁCTICAS 8.1 PUNTO DE PARTIDA 8.2 CASO PRÁCTICO 1: ANÁLISIS DE VULNERABILIDADES 8.3 CASO PRÁCTICO 2: ANÁLISIS DE FUNCIONALIDADES OCULTAS 8.4 CASO PRÁCTICO 3: ANÁLISIS DE UN FORMATO DE FICHERO DESCONOCIDO 8.5 CUESTIONES RESUELTAS 8.5.1 Enunciados 8.5.2 Soluciones

La capacidad de invertir el proceso de compilado de un código fuente, siendo capaz de convertir un conjunto de números binarios en código fuente entendible por una persona con conocimientos de programación, sin más herramientas que la vista, es sin duda una gran cualidad que diferencia a los profesionales entre sí. El objetivo principal del libro es dotar al lector de las herramientas necesarias para poder llevar a cabo labores de ingeniería inversa por sus propios medios y comprendiendo en cada momento lo que sucede, sin toparse con barreras técnicas a las que no pueda enfrentarse. En esta obra el autor pone en práctica todo lo aprendido con casos reales y resueltos paso a paso, como la explotación de un fallo de seguridad, la detección de una puerta trasera y la generación de un fichero con formato válido habiendo proporcionado tan solo el binario que lo valida. También el lector encontrará un repaso por la historia de la ingeniería inversa, teoría de compiladores, estructuras de datos y de control (x86 32 y 64 bits y ARM), funcionamiento de los desensambladores y depuradores bajo Linux y Windows, formatos de ficheros PE y ELF, funcionamiento de cargadores dinámicos también en Linux y Windows El objetivo del libro sin duda, es proporcionar de recursos al lector para afrontar los diversos retos con una buena base teórica y técnica para dotarlo de razonamiento sobre cada problema y en cada caso.

Artículos relacionados

  • APRENDER REACT CON 100 EJERCICIOS PRÁCTICOS
    MONTESERÍN, PABLO / MONTESERIN FERNANDEZ, PABLO
    Si le interesa ampliar su conocimiento en Javascript, React es la mejor tecnología para aprender. La relación entre el esfuerzo destinado a aprenderla y lo que podrá hacer después con ella es muy positiva. Además, React está ampliamente extendida y es demandada en infinidad de puestos de trabajo. Gracias a los 100 ejercicios prácticos que encontrará en este libro: o Comprender...
    En stock

    21,90 €

  • PROGRAMACIÓN EN GO 2ED
    MACÍAS LLORET, MARIO
    Incremente su cotización profesional con uno de los lenguajes de programación de Google con más empuje de la última década: Go. Go es el lenguaje presentado por Google en 2009, concebido y diseñado para aumentar la productividad y la calidad de su propio software. Su rapidez y ligereza no obvian las características deseables de todo buen lenguaje de alto nivel: expresividad, l...
    En stock

    24,80 €

  • ESTRUCTURAS DE DATOS Y ALGORITMOS
    Los algoritmos y las estructuras de datos son las herramientas básicas que necesita todo programador para construir aplicaciones que resuelvan problemas. Conocer uno (o varios) lenguajes de programación no es suficiente. Las estructuras de datos te permitirán organizar la información que el programa maneja, buscando la mayor eficiencia en espacio o en tiempo, según las necesida...
    En stock

    22,95 €

  • PYTHON PARA FILOSOFO
    ANDRES LOMEÑA
    La programación y la filosofía pueden llegar a ser igual de abstractas, aunque ambas son capaces de converger e iluminarse mutuamente: la filosofía ayuda a visualizar y clarificar las ideas, mientrasque la programación enseña a razonar de una forma sistemática y creativa. ...
    En stock

    14,96 €

  • DISEÑO DE ARQUITECTURAS NET ORIENTADAS A MICROSERV
    SERRANO VALERO, RAMON
    La mejor arquitectura es aquella que resuelve su problema de software. Ahora, tiene a su disposición el manual con el que aprender a diseñar, de forma sencilla y autónoma, arquitecturas basadas en microservicios. Gracias a este libro, dejará atrás los contratiempos al trabajar con monolitos, como el alto acoplamiento dentro de un mismo sistema o la baja escalabilidad al resolv...
    En stock

    28,50 €

  • PROGRAMACIÓN DINÁMICA
    COTTA PORRAS, CARLOS
    La programación dinámica es una técnica de diseño algorítmico de carácter general con un amplísimo abanico de aplicaciones. A diferencia de otros esquemas algorítmicos en los que la capacidad analítica del problema y creatividad en la concepción de una solución pueden llegar a jugar un papel importante, la programación dinámica puede abordarse de manera muy sistemática mediante...
    En stock

    10,00 €