Practical Reverse Engineering Introduction

What Is Reverse Engineering?

Reverse engineering is a technical black art; it is a forbidden technique that few dare to discuss; it is a recreational activity undertaken my computer hackers with just the right mix of smarts and mental instability.

One simple interpretation of reverse engineering is that it is the craft of taking something, anything, apart to understand how it works. That something can be a physical, mechanical object like a toaster or an automobile. It can also be a software program. Reverse engineering the latter is the focus of this site.

Personal History

When I first became keenly interested in RE years ago, I found that useful information was sparse. The information I could find was generally divided into 2 categories:
  1. Impenetrable, high-level, dry, academic papers, the focus of which was usually rather unclear (e.g., were they trying to to RE from binary code or from source code)
  2. Cracker sites with liberal doses of l33t-speak; the focus of these sites was more clear: To crack software copy restriction codes.
The latter was typically a little more useful than the former if you could get past the thick jargon. Alas, software RE tends to be primarily a self-taught skill. Hopefully, this site can give you some direction if you are genuinely committed to learning this arcane craft.

Prerequisites For Software Reverse Engineering

Is reverse engineering difficult? Oh yeah. Does it require expensive tools? It does not have to. Here are some basic things you will need to be a successful reverse engineer:

Site Focus

Just so you know, the articles on this site tend to focus towards reverse engineering technology related to electronic multimedia. This is because the maintainer of the site is primarily interested in multimedia technology.

Return to the main page