Hacking, 2nd Edition: The Art of Exploitation | Jon Erickson
An introduction to hacking describes the techniques of computer hacking, covering such topics as stack-based overflows, format string exploits, network security, cryptographic attacks, and shellcode.