Reverse Engineering INTRODUCTION
What is Reverse Engineering
Reverse Engineering : the reproduction of another manufacturer’s product following detailed examination of its construction or composition.
Applying the above definition into our context, it would mean breaking a software apart in order to copy it, or reconstruct(modify) it.
Outlook of Reverse Engineering
Reverse Engineering is a tough field and speciality. Knowledge is sparse, experts are scarce. You may have a stackoverflow for programming but there is no comparable equivalent for reverse engineering. Although SO has a reverse engineering sub, it is still a small community whose scale cannot be compared to the community of programmers. Hence, it requires a lot of self-research and independence. Oh and did i mention this ? As you progress in this field, the less people are able to help you. You are on your own !
Use Cases for Reverse Engineering
There are generally 5 use cases for reverse engineering. 3 good ones, 2 bad ones.
Good use case
- Software security analysis
- Malware analysis
- Code recovery (although this is not common but it is a legitimate use)
Bad use case
- Cracking
- Hacking e.g game hacking
How to Reverse Engineer
Learning how to reverse engineer requires a great deal of patience, perseverance and logical thinking. If you are not passionate about this, you will probably struggle even more, just to give up in the end.
Reverse Engineering requires you to have programming experience, preferably that of a lower-level language like C or Assembly, in order to understand a program’s logic and manipulate it. Also, if you have programming experience, you should have experience with debugging your software – this will come in handy.
For the actual how to reverse engineer, you can see/look out for my various tutorial series that i plan to start on reverse engineering
CONCLUSION
With that, I hope you have a better grasp of what reverse engineering really is. If you are as passionate as I am about this, don’t give up !
Be First to Comment