Posts filed under ‘Reverse Engineering’
What exactly is reverse engineering? In a general sense, reverse engineering is simply an effort to try and recreate the design of a product by examining the product itself. Reverse engineering is the process of asking “how did they do that?” and then trying to do it yourself. In terms of software however, reverse engineering involves examining what a piece of software does, and how it does it.
This book covers many diverse topics. It starts with a discussion of common “reverse engineering tools” such as disassemblers, decompilers, and debuggers. It moves along to discuss low-level details of common system architectures and file formats. It then proceeds to talk about details of the compilation process, and how high-level code becomes low-level instructions.
Unfortunately, the title “Disassemblers, Debuggers, System Architectures, File Formats, Compilers and Low-level code Generation” doesn’t roll off the tongue as well as “Reverse Engineering” does.