¿Por qué uno debe aprender el lenguaje ensamblador en estos días? A menos que seas desarrollador de sistemas operativos, es probable que no necesites escribir nunca en ensamblador: los compiladores modernos realizan optimizaciones mucho mejor de lo que lo hacen los humanos. Además, las CPUs modernas son dispositivos muy complejos y saber ensamblador no te dará un conocimiento exacto de su funcionamiento interno.

Sin embargo, hay al menos dos áreas en las que un buen conocimiento de ensamblador podría ayudarte: Primero, el análisis de malware/seguridad. Segundo, obtener una mejor comprensión de tu código compilado mientras lo depuras.

Ingeniería inversa para principiantes (en inglés 'Reverse Engineering for Beginners') es un libro gratuito de Dennis Yurichev dirigido a todos aquellos que quieran aprender a entender el código x86 (que representa la mayor parte de ejecutables en el mundo del software) y ARM creado por compiladores C/C++.

Descarga del libro: http://beginners.re/RE_for_beginners-en.pdf

Fuente: HackPlayers