| Introduction to Reverse Engineering Software |
Introduction to Reverse Engineering Software
Author(s) : Mike Perry, Nasko Oskov Publication Date : February 2004 Terms and Conditions:
Book excerpts: This book is intended to give you an overview of Reverse Engineering under both UNIX (with a focus on GNU/Linux) and Microsoft Windows. Most likely you will be initially interested in only one side or the other, but it is always a good idea to understand two different perspectives of the same idea. Reverse engineering discussed in this book is simply the act of figuring out what software that you have no source code for does in a particular feature or function to the degree that you can either modify this code, or reproduce it in another independent work. In the general sense, ground-up reverse engineering is very hard, and requires several engineers and a good deal of support software just to capture the all of the ideas in a system. However, we'll find in this book that by using tools available to us, and keeping a good notebook of what's going on, we should be able to extract the information we need to do what matters: make modifications and hacks to get software that we do not have source code for to do things that it was not originally intended to do. Intended Audience: This book is written at a level such that anyone who has taken an introductory computer science course (or has read the book Teach Yourself X in 21 days, where X is C or C++) should be able to understand all the material and work through all of the examples. However, a data structures course (or a book that explains at least AVL trees, Hash Tables, Graphs, and priority queues), and a software engineering course (or even better, the book Design Patterns) would be very helpful not so much in understanding the following material, but more so in your ability to make the guesses and leaps needed to effectively reverse engineer software on your own. This book will teach you a large amount about how your computer works on a low level, and the better an understanding you have of that, the more efficient programs you can write in general. If you don't know assembly language, at the end of this book you will literally know it inside-out. While most first courses and books on assembly language teach you how to use it as a programming language, you will get to see how to use C as an assembly language generation tool, and how to look at and think about assembly as a C program. |
ndaru
Site Admin
|
||||||||||||||||||
|
|
|||||||||||||||||||
|
Powered by phpBB © phpBB Group
Design by Vjacheslav Trushkin for phpBBStyles.com.
phpBB SEO
Content © FreeTechBooks.com
Design by Vjacheslav Trushkin for phpBBStyles.com.
phpBB SEO
Content © FreeTechBooks.com



