- Paperback: 624 pages
- Publisher: Wiley; 1 edition (April 15, 2005)
- Language: English
- ISBN-10: 0764574817
- ISBN-13: 978-0764574818
- Product Dimensions: 7.3 x 1.5 x 9.2 inches
- Shipping Weight: 1.9 pounds (View shipping rates and policies)
- Average Customer Review: 4.6 out of 5 stars See all reviews (40 customer reviews)
- Amazon Best Sellers Rank: #152,539 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Reversing: Secrets of Reverse Engineering 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who bought this item also bought
From the Back Cover
Sometimes, the best way to advance is in reverse
If you want to know how something works, you take it apart very carefully. That's exactly what this book shows youhow to deconstruct software in a way that reveals design and implementation details, sometimes even source code. Why? Because reversing reveals weak spots, so you can target your security efforts. Because you can reverse-engineer malicious code in order to neutralize it. Because understanding what makes a program work lets you build a better one. You'll learn how here.
- Learn to read compiler-generated assembly language code for IA-32 compatible processors
- Decipher an undocumented file format or network protocol
- Understand when reverse engineering is legal, and whenand whyit may not be
- See how hackers use reversing to defeat copy protection technology
- Find out how to pull the plug on malicious code
- Determine how to prevent others from reversing your code, and find out how effective such steps can be
- Explore reverse engineering on the .NET platform and its assembly language, MSIL
- Observe the dissection of a real-world malicious program and see how the attacker used it to control infected systems
About the Author
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.
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
phrase, "reverse engineering", these days conjures up visions of crackers and other criminals breaking into websites and stealing private information. But for anyone serious about improving their programming skills, "Reversing - Secrets of Reverse Engineering" is a must read. For example, debugging and reversing activities are very close kin; you will improve your skill in tracking down and understanding bugs in your code by learning some of the techniques presented in this book.
The highlight of the book (for me) was Chapter 11 where the author presents step-by-step sessions in reversing progressively more difficult protection schemes. If you feel uncomfortable with this activity, rest assured that the author has neatly sidestepped some murky legal issues by using Internet examples created for this purpose and his own program, designed to illustrate some of the protection techniques presented in other chapters of his book. Another chapter, "Deciphering File Formats", uses this same trick by reversing an encryption program Mr. Eilam wrote for this purpose. The appendices are another valuable contribution where the discussion turns to common code patterns produced by most compilers and how to interpret and extract the last bit of information from them.
Minor nits - I wish the assembly listings were broken up to better highlight points made by the author in his discussions. It became very tedious to match addresses mentioned in his discourse with those in the listings and reduced the overall effectiveness of the material. Also, I was not able to find in the book what seemed to be bibliographical references to other works that were cited in discussions on decompilation and other
topics. But putting these small criticisms aside I highly recommend this book and wish something as comprehensive as this had been available years ago.
Having a fair bit of reverse engineering experience myself, I have found this book to be extremely concise and detaild -- and I have learned a fair bit of new material while reading it.
There is no dull moment in this book. The author (who is clearly a gifted writer) explains reverse-engineering-related topics in a fascinating and unique manner, and, within this work, he actually cements the way in which reverse engineering should always be taught. Written by a true master, the book is very pedagogic; every chapter is accompanied by detailed examples -- which make the discussed topics crystal-clear.
I would have given this book more than five stars, had I been able to -- and I can recommend it to every software deveopler without a trace of hesitation; actually, it is now that I have bought an additional copy as a gift to a friend. Rest assured that this book will be a crucial part in your collection of tech books, just like it is in mine.
To sum it all up (and as it becomes clear from the above written): I think that this book is a magnificent work of art (no less), and I would even dare to say that I enjoyed it more than any tech book I ever owned. With all the aforementioned complements and my vain attempts to describe the magnificence of this work, words still can't fully do justice to this book. HIGHLY RECOMMENDED.
Well written and very pedagogic, the book is useful even for experts. The only limitation (clearly stated in the back cover) is the full orientation toward the Microsoft's .NET platform (and of course the Windows/Intel realm).
Some chapters should be more deeply analyzed and the chapter 8 (Reversing Malware) is somewhat naive.
Even so, overall . . . 5 stars.
If you are in "secure code", this book is a MUST.
p.s. As an added value the book is so self-contained (no external sources needed) and so complete, that can be used as a quick but sufficient introduction to computer system architectures. To know more about the book try the "Search Inside" feature in this same page.
This book isn't just a theoritcal or academic book. You can learn the practical skills from it.
There are a few factual errors, and so, while this book can be used for bed-time reading, I wouldn't count on it as a reference.
Before people pounce on me for mentioning 'factual errors' and not substantiating them, let me draw their attention to the description of calling conventions in this book. This book mentions that cdecl and stdcall pass arguments in different orders (i.e left to right for cdecl and right to left for stdcall). This is just plain wrong. I wonder how this important detail could not be caught during editing, and technical review.