Libro gratis "Ingeniería Inversa para principiantes"
Uno podría preguntarse por qué es necesario que haya diferencias entre el código máquina y un lenguaje de programación.El texto de arriba es un fragmento traducido de "Reverse Engineering for Beginners", también conocido como RE4B, un libro escrito por Dennis Yurichev (yurichev.com) para todo aquel que quiera introducirse en la ingeniería inversa del software. Una obra impresionante que cubre desde los fundamentos más importantes hasta los más avanzados y que incluye multitud de ejemplos con distintos lenguajes y para distintas arquitecturas.
La respuesta radica en el hecho de que los seres humanos y las CPUs no se parecen - es mucho más fácil para los seres humanos utilizar un lenguaje de alto nivel como C/C++, Java, Python, etc., pero es más fácil para una CPU usar un nivel mucho más bajo de abstracción.
Tal vez fuera posible inventar una CPU que pueda ejecutar código de un lenguaje de programación de alto nivel, pero sería mucho más compleja de la CPU que conocemos hoy. De un modo parecido, es muy incómodo para los seres humanos escribir en lenguaje ensamblador debido a que es de bajo nivel y difícil de escribir sin cometer un gran número de molestos errores. El programa que convierte el código de alto nivel en ensamblador se denomina compilador
Además es gratuita bajo licencia Creative Commons Attribution-NonCommercial-NoDerivs 3.0.
Contenidos:
Descarga versión completa en inglés:
Contenidos:
- Temas en profundidad: x86/x64, ARM/ARM64, MIPS, Java/JVM.
- Temas tratados: Oracle RDBMS, Itanium, copy-protection dongles, LD_PRELOAD, stack overflow, ELF, win32 PE file format, x86-64, critical sections, syscalls, TLS, position-independent code (PIC), profile-guided optimization, C++ STL, OpenMP, win32 SEH.
Descarga versión completa en inglés:
Existe también una versión reducida, aproximadamente 6 veces más pequeña (~150 páginas) para todos los que quieran tener una rápida introducción a la ingeniería inversa. Ésta no contiene nada sobre MIPS, ARM, OllyDBG, GCC, GDB, IDA, no tiene ejercicios, ejemplos, etc.
Sitio web del libro: http://beginners.re/
Fuente: HackPlayers
Sitio web del libro: http://beginners.re/
Fuente: HackPlayers
Buenisimo Muchas Gracias por el aporte
ResponderBorrar