Reverse Engineering: 3 Aspects That You Must Know

The one thing about humans that is so great is that we are always curious about something. No matter what the topic is there is always going to be someone curious about it. It is this curiosity that leads us to bigger and better things. We see how something works on the inside and then we expand on it. The world of computers work the same way. The reason we have seen so much advancement in the past 20 years is that the more people who are exposed to the world of computing the bigger it becomes.

In the past, very few people had even heard of a computer never mind being able to operate one. So the world of computers became this mystical obsession that only few people were able to enter. That is not the case anymore. Ever since the advent of home computers at a cheap price, now people all over the world are able to enter the world of computers on their own. The biggest explosion of home computers came about because of the introduction of the World Wide Web.

But while most people focus on the computer itself and the internet, there are a few people out there who look deeper into the system. Their curiosity makes them wonder how the computer actually works. They also wonder how the software that runs on the computer actually works. So they dig deep inside of the system until they finally break something. But it is in the breakage where the discovery the heart of how it all works. Because with that breakage they are able to try and put it back together again. And once you are able to do that, you start to begin to understand how the system works entirely. It is these people who become what is known as reverse engineers.

What is a reverse engineer?

A reverse engineer is what I described earlier. Someone who wants to know how a piece of software or hardware works so they break it down so that they can see the process from the beginning to the end. Usually you have to break it down to the rawest components. From there you can see how the system interacts and you are able to form an actual opinion on how everything works. So what do you need to be a reverse engineer? That is what I am going to talk about for the rest of the article. Once you have these three aspects down you are on your way to becoming a reverse engineer.

1. Patience and Curiosity

These are the first two things that you need to become a reverse engineer. It takes a long time to be able to break down systems so you must be aware of that before you start. A lot of people out there claim that they want to become a hacker but once they see how much of the work is tedious they tend to back out. Being able to do what the best hackers do takes a lot of hard work and a lot of patience. If you want to be able to manipulate a system then you must be able to see how it works. That takes patience and curiosity. The curiosity will alleviate any boredom that you might feel when going through the tedious part of the process.

2. Knowledge of the underlying system

You cannot just start to rip something apart and expect to learn a lot from it. Sure you may be able to learn a little bit but to truly understand you have to learn from other people. You have to find manuals and books that will teach you what you are looking at. If you are looking at hardware then you must know what the individual components do that make up the system. If you are looking at broken down software then you must understand the assembly and the op codes that the dissambler has broken the software down to. Without that knowledge it will take you a long time to understand even one portion of the program never mind being able to dissect the whole thing. Knowledge of the components that make up the underlying system is a must and if you run into anything that you do not understand then you must want to look it up and learn more about it. And that leads me to my next point.

3. Always be willing to learn

When you decide to take on this field you can never stop wanting to learn. If you do then in less than 5 years your knowledge will be dormant and you will only work on past systems. Some people in the field are fine with that but most people want to be able to advance their knowledge. They want to be able to take themselves onto the next level and truly understand. That is what the business is all about for the people who work in it. The ability to be able to acquire knowledge and make a profit on it is what they all strive for. While money is important, most people in the business would do it for free if they had to.

Reverse engineering is a very rewarding field and if you are a curios person, one that will keep your interest for years and years.

About Lee Munson

Lee's non-technical background allows him to write about internet security in a clear way that is understandable to both IT professionals and people just like you who need simple answers to your security questions.

Trackbacks

  1. […] When you are first starting out you just want to get the basics under your belt. You do not want to worry about figuring out the little tricks and where everything is at. You just want to be able to run the dissassembler correctly and be able to read the output. It is that output that you are going to have to become real familiar with overtime. But once you start to learn the patterns of how to tell what a method is when it is in machine code form or where a static variable is held in that form as well then you will be able to move on the next level. You can also take advantage of looking at the simple version of the code to learn how to read the flags that is in the dissassembler as well. They will be able to help tell you what is in the registers of the CPU at any given time. […]

Speak Your Mind

*