Reversing : The Hacker's Guide to Reverse Engineering

(ff) #1
3

This chapter provides some background information on reverse engineering
and the various topics discussed throughout this book. We start by defining
reverse engineering and the various types of applications it has in software,
and proceed to demonstrate the connection between low-level software and
reverse engineering. There is then a brief introduction of the reverse-engineering
process and the tools of the trade. Finally, there is a discussion on the legal
aspects of reverse engineering with an attempt to classify the cases in which
reverse engineering is legal and when it’s not.


What Is Reverse Engineering?


Reverse engineering is the process of extracting the knowledge or design blue-
prints from anything man-made. The concept has been around since long
before computers or modern technology, and probably dates back to the days
of the industrial revolution. It is very similar to scientific research, in which a
researcher is attempting to work out the “blueprint” of the atom or the human
mind. The difference between reverse engineering and conventional scientific
research is that with reverse engineering the artifact being investigated is man-
made, unlike scientific research where it is a natural phenomenon.
Reverse engineering is usually conducted to obtain missing knowledge,
ideas, and design philosophy when such information is unavailable. In some


Foundations


CHAPTER


1

Free download pdf