Beginning with a basic primer on reverse engineering-including computer internals, operating systems, and assembly language-and then discussing the various applications of reverse engineering, this book provides readers with practical, in-depth techniques for software reverse engineering. The book is broken into two parts, the first deals with security-related reverse engineering and the second explores the more practical aspects of reverse engineering. In addition, the author explains how to reverse engineer a third-party software library to improve interfacing and how to reverse engineer a competitor's software to build a better product. The first popular book to show how software reverse engineering can help defend against security threats, speed up development, and unlock the secrets of competitive products Helps developers plug security holes by demonstrating how hackers exploit reverse engineering techniques to crack copy-protection schemes and identify software targets for viruses and other malware Offers a primer on advanced reverse-engineering, delving into "disassembly"-code-level reverse engineering-and explaining how to decipher assembly language
Eldad Eilam is a consultant in the field of reverse engineering. He assists clients with operating system and in-depth software reverse engineering, and has devoted several years to developing advanced reverse engineering techniques.
Foreword. Acknowledgments. Introduction. Part I: Reversing 101. Chapter 1: Foundations. Chapter 2: Low-Level Software. Chapter 3: Windows Fundamentals. Chapter 4: Reversing Tools. Part II: Applied Reversing. Chapter 5: Beyond the Documentation. Chapter 6: Deciphering File Formats. Chapter 7: Auditing Program Binaries. Chapter 8: Reversing Malware. Part III: Cracking. Chapter 9: Piracy and Copy Protection. Chapter 10: Antireversing Techniques. Chapter 11: Breaking Protections. Part IV: Beyond Disassembly. Chapter 12: Reversing .NET. Chapter 13: Decompilation. Appendix A: Deciphering Code Structures. Appendix B: Understanding Compiled Arithmetic. Appendix C: Deciphering Program Data. Index.