Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Hacking is the art of creative problem solving, whether that means finding an unconventional solution to a difficult problem or exploiting holes in sloppy programming. Many people call themselves hackers, but few have the strong technical foundation needed to really push the envelope.

Rather than merely showing how to run existing exploits, author Jon Erickson explains how arcane hacking techniques actually work. To share the art and science of hacking in a way that is accessible to everyone, Hacking: The Art of Exploitation, 2nd Edition introduces the fundamentals of C programming from a hacker's perspective.

The included LiveCD provides a complete Linux programming and debugging environment-all without modifying your current operating system. Use it to follow along with the book's examples as you fill gaps in your knowledge and explore hacking techniques on your own. Get your hands dirty debugging code, overflowing buffers, hijacking network communications, bypassing protections, exploiting cryptographic weaknesses, and perhaps even inventing new exploits. This book will teach you how to:

  • Program computers using C, assembly language, and shell scripts

  • Corrupt system memory to run arbitrary code using buffer overflows and format strings

  • Inspect processor registers and system memory with a debugger to gain a real understanding of what is happening

  • Outsmart common security measures like nonexecutable stacks and intrusion detection systems

  • Gain access to a remote server using port-binding or connect-back shellcode, and alter a server's logging behavior to hide your presence

  • Redirect network traffic, conceal open ports, and hijack TCP connections

  • Crack encrypted wireless traffic using the FMS attack, and speed up brute-force attacks using a password probability matrix

Hackers are always pushing the boundaries, investigating the unknown, and evolving their art. Even if you don't already know how to program, Hacking: The Art of Exploitation, 2nd Edition will give you a complete picture of programming, machine architecture, network communications, and existing hacking techniques. Combine this knowledge with the included Linux environment, and all you need is your own creativity.

Subscriber Reviews

Average Rating: 5 out of 5 rating Based on 1 Rating

"A Must Read!" - by Clive Nelson III on 13-MAR-2011
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I highly recommend this hook to anyone and everyone who's interested in the nitty-gritty details of hacking and/or exploit development/discovery.  The author starts off with the foundations of programming, and then quickly builds upon it by introducing the C programming language, compiling, debugging, CPU registers, and assembly language (and this is all within the first fifty pages!).  The book's code examples and exercises make it very easy to follow along, and are also included in the companion CD in case you don't have the time (or the desire) to re-type everything.  

As some of the concepts and topics (i.e. assembly language, cryptography, etc) may be a bit complex, the author has graciously included references for a lot of this material and encourages further research. In fact, the reference and sources section is one of the things I’m truly grateful for.

One last note, when working along with this book you’ll have to spend a lot of time in the Linux operating system and using the command line interface.  If you’re not used to using either of those, you’ll be more than comfortable by the time you’re done with this book.  

While this book certainly isn't for the faint of heart, keep at it until you can grasp the techniques and concepts presented and you're sure to do very well for yourself!  Good luck.

Report as Inappropriate


The publisher has provided additional content related to this title.


Visit the catalog page for Hacking: The Art of Exploitation, 2nd Edition

  • Catalog Page

Visit the errata page for Hacking: The Art of Exploitation, 2nd Edition

  • Errata

Download the supplemental electronic content for Hacking: The Art of Exploitation, 2nd Edition

  • Supplemental Content