Reversing: Secrets of Reverse Engineering

From Wikipedia, the free encyclopedia
Reversing: Secrets of Reverse Engineering
AuthorEldad Eilam
CountryUnited States, Canada, China, Japan, EMEA
SubjectReverse engineering
PublisherWiley Publishing
Publication date
005.1 22
LC ClassQA76.758 .E35 2005

Reversing: Secrets of Reverse Engineering is a textbook written by Eldad Eilam on the subject of reverse engineering software, mainly within a Microsoft Windows environment. It covers the use of debuggers and other low-level tools for working with binaries. Of particular interest is that it uses OllyDbg in examples, and is therefore one of the few practical, modern books on the subject that uses popular, real-world tools to facilitate learning. The book is designed for independent study and does not contain problem sets, but it is also used as a course book in some university classes.[citation needed]

The book covers several different aspects of reverse engineering, and demonstrates what can be accomplished:

The book also includes a detailed discussion of the legal aspects of reverse engineering, and examines some famous court cases and rulings that were related to reverse engineering.

Considering its relatively narrow subject matter, Reversing is a bestseller that has remained on's list of top 100 software books for several years, since its initial release.[1][2]

Chapter Outline[edit]

  • 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.