Reverse Engineering 101

by Süleyman Petek 14. July 2015 23:43
The process of extracting the knowledge or design from anything human made. In fact the concept is n

The process of extracting the knowledge or design from anything human made. In fact the concept is not new. Before computers, in the time of industrial revolution, when the scientists were trying to resolve the atom or when doctors (are also still trying) were trying to explore the human body. The difference between computer reverse engineering and scientific reversing is that the first one is human made whereas scientific reversing is an exploration of a natural process.

Software is the most complex and popular element nowadays for reverse engineering. Like software engineering, software reverse engineering is a completely virtual process where you only have a CPU and your mind. Software reverse engineering unifies code inspection, problem solving and logical analysis.

In the meaning of security for instance, reversing can be used to identify encryption in the application and this way he can evaluate the level of protection for the application. Reversing is very important for IT security issues recently, as the increase of malicious software is unpreventable. And also crackers love it, as they analyze it to reproduce  without registration key ! 

Reversing can be useful  for software developers. Especially with the legacy, undocumented software, developers can use reversing to discover it. Some other case may be  to test the 3rd party code or even may be your competitor's code to find out how they are doing the work.

Namely, you can do the reversing in two scales:

  1. System Level Reversing
  2. Code Level Reversing
System level reversing involves obtaining information from operating system. Every application uses the operating system to interact with the outside world. Thats why it is really important for reversers to understand the operating system.
Code level reversing can be considered as an art. Reversing highly complex software requires a solid understanding of software development, CPU and operating system along with essential tools and techniques.

Some of you can ask if it is legal ? There is no clear cut answer to this question yet. Is it OK for others to see a competitor's intellectual property by reversing the product ? In my opinion, producers need to think about reverse protection, somehow you can see the reverse engineering as a benefit to show your product as it is working like a charm and harmless to people they use. It is up to you wherever you look from.

Generally, many products are protected by copyrights and patents. Patents are the stronger protection against copying since they protect the ideas behind the functioning of a new product whereas a copyright protects only its look and shape. Often a patent is no more than a warning sign to a competitor to discourage competition.

Tags: ,

IT Security


<<  May 2021  >>

View posts in large calendar