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
The book is amazing in every aspect. I learned so much (in understanding x86 assembly code, packers, anti-debugging techniques, ...) only by reading the book. Although it's a bit outdated I recommend this book without hesitation.
This book is a great starting point for anyone who is interested in understanding reverse engineering. I really liked the examples and all the explanation about most of the common topics like cracking and etc.
Really good introduction to reverse engineering. Not too hard, but still contains a lot of very useful material. Prior familiarity with assembly definitely helps.
One thing that drives me nuts is when an author treats its readers like novices, then doesn't explain more difficult portions of the material.
... reading a book is an exercise in self-reflection. I read this book cover to cover. The author isn't showing you how to play patty cake. The author takes more of an academic approach and expects that you (the reader) will dig into the material more on your own. His job is more like a lecturer. Your job is to put in the work to understand what's going on.
I love the fact that the author wrote the code for all the examples and then reflects upon what he wrote by approaching the problem from a variety of angles, including how code compiles differently on various compilers, and that this really is difficult.
He also spends a lot of time (almost too much time) dedicated to the ethics. Sounds like a lawyer at the publishing company wanted to cover someone's tushies.
The author is amazingly smart. And the stuff he covers isn't simple. It's been YEARS since I've touched assembly. I understood maybe half the book? But that's not the book's fault, that's just the reality when you read but don't play in IDA Pro. //
I enjoyed reading Reversing, it was fun and educational.
Problem with this book is that it didn't meat my expectations. It covers a lot of information but it is hard to be as a reference for future reversing (which I hoped to get from ~800 pages). I hoped to get more information related to security, copy-protections and how to break them (knowing is the path to fixing...).
That said, Mr. Eilam put a lot of effort and knowledge into one archive that no one else could have compiled before, and truly - is a lone book on a very broad knowledge base that covers reverse engineering in particular (in contrast of malware analysis or assembley books)
Overall - Very solid book and recommended to all that are into reversing. Novice to experts can find some valuable information in it.
Great for the technically-minded reader, but can go a bit over the head for those inexperienced with low-level hardware. A light background in computer engineering and/or hardware is suggested before reading, but not completely necessary. The text doesn't go into excruciating detail, but gives you enough information to find your way around. Highly informative for a comp. eng. major like me!
The things I learned from MOSFET to digital circuits to microchips to microprocessors to assembly languages to high level languages all made much more sense after reading it. I did not however learn to reverse engineer software but that is besides the point. The book is dense, it requires the reader to be familiar with many aspects of digital electronics and computer science.