Hacking: The Art of Exploitation () is a book by Jon "Smibbs" Erickson about computer security and network security. It was published by No Starch Press in 2003, with a second edition in 2008. All of the examples in the book were developed, compiled, and tested on Gentoo Linux. Author and background information Jon Erickson is a computer security expert, with a background in computer science. As of 2011, he worked as a vulnerability researcher and computer security specialist in California. A bootable CD is included with the book which provides a Linux-based programming and debugging environment for the users. Content of 1st edition The content of Exploiting moves between programming, networking, and cryptography. The book does not use any notable measure of real-world examples; discussions rarely bring up specific worms and exploits. Programming The computer programming portion of Hacking takes up over half of the book. This section goes into the development, design, construction, and testing of exploit code, and thus involves some basic assembly programming. The demonstrated attacks range from simple buffer overflows on the stack to complex techniques involving overwriting the Global Offset Table. While Erickson discusses countermeasures such as a non-executable stack and how to evade them with return-to-libc attacks, he does not dive into deeper matters without known guaranteed exploits such as address space layout randomization. The book also does not cover the Openwall, GrSecurity, and PaX projects, or kernel exploits. Networking The networking segment of Hacking explains the basics of the OSI model and basic networking concepts, including packet sniffing, connection hijacking, denial of service, and port scanning. Cryptology The cryptology section of Hacking covers basic information theory, in addition to symmetric and asymmetric encryption. It winds out in cracking WEP utilizing the Fluhrer, Mantin, and Shamir attacks. Besides the basics, including man-in-the-middle attacks, dictionary attacks, and the use of John the Ripper; Hacking discusses quantum key distribution, Lov Grover's Quantum Search Algorithm, and Peter Shor's Quantum Factoring Algorithm for breaking RSA encryption using a very large quantum computer. Other Details The front cover of Hacking is the complete cycle, from reverse engineering to carry out the attack, of developing an exploit for a program that dies of a buffer overflow over long command line arguments. Content 2nd edition Introduction The introduction of the book states that hacking should only be done within the confines of the law, and only for productive reasons. 0x200