From creating a sentence, fussing up your codes, using a stapler, reconstructing your car engine or anything that involves the methodology of taking the pieces of objects, putting them apart and reuniting them again to form a thing. The concept in a compendious way is called “REVERSE ENGINEERING” which is called as to ruin something in order to understand by building clones or improvising it.
II. TOOLS USED IN REVERSE ENGINEERING
Reverse Engineering also known as Back engineering, is defined as the process of knowledge extraction from anything man-made and reproducing and analyzing it in detail. This process is accomplished by making use of the following tools which are described below:
- Disassemblers: It is a user-interactive friendly format that is used to convert binary into assembly code, extract strings and import/export functions.
- Debuggers –We can set breakpoints and edit the assembly code at run time where we analyze the binary and allow the reverser to step through line by line in the code to investigate and expand the functionality of a disassembler.
- Hex Editors – Binary can be viewed and changed as per the requirements.
- PE and Resource Viewer – The executable specific data is used to initialize, support and run the binary code on the machine.
It has taken a positive direction towards creation of descriptive information from the original data.
The goal for obtaining such information varies right from social, criminal to economic actions depending on the situation wise. Sometimes, when one can’t recollect how some cyber-crime was done, this requires the reverse engineer to work it out, detect, crack and remove it themselves. In some cases this process can be considered as a re-documentation of legacy systems where it could be used to create new products.
III. REASONS FOR REVERSE ENGINEERING
1. Interfacing: It is required when negotiation is required to be established between two or more systems.
2. Military espionage: Crime of a prototype and developing it into a similar or better product.
3. Saving Money: Finding out what the electronic pieces are and sparing the user whilst purchase of a separate product.
4. Technical Intelligence: Competitive platform among users.
5. Academic Purposes: To understand and improve the designs.
6. Bug Fixing: To fix the legacy of a software which may no more be supported by its creators.
And there are many more such examples like improvising of documentation shortcomings, obsolence, software modernization, etc.
IV. REVERSE ENGINEERING IN LIFE
It plays a more vital role in the computer aided design (CAD) which involves measurement by using laser scanners, structured light digitizers and then reconstruction of an object into a 3D model. Hybrid Modelling is also an important example played under this. It is also used by businesses to bring existing physical geometry and analysis of various products.
It is mainly used in the software security. This kind of engineering is used to ensure that the systems are not prone to any faults or errors to prevent malicious people or things from accessing it which herby has led to the promotion of an ethical background.
As well it has helped the creators to add/remove features without knowing the source code and to implement new techniques on the system as well as made the analysis and study of virus easy and understandable.
Protocols are a set of rules that describe how a particular thing is to be followed. It is of two types – Message Format which involved analysis of protocol implementations and State-Machine which involves interactive probing of sequential messages and the offline approach demonstration. Other components include encryption or hash functions as well try to detect buffers in memory holding unencrypted packets.
- SMART CARDS
It is a destructive way where layer by layer is grinded by the attacker, to obtain crucial information with the help of an electron microscope. This method is called bus scrambling. Whereas in some cases, it is uncertain whether attacks against the PIN cards to replicate encrypted data which would cost an effective attack on the multi – authentication factor.
Often used to Xerox other nations technologies or any intelligent information so as to analyze and implement them in an improvising way to use it for them.
V. USES OF REVERSE ENGINEERING
- As an academic tool.
- To bring cheap compactible goods into the market.
- Improvise effective software among different databases and OS.
- Uncover uncoordinated features of commercial products.
VI. METHODS OF REVERSE ENGINEERING
- Observation and assessment of mechanisms of the working devices.
- Dissection and study of inner workings of mechanical devices.
- Comparison of actual device to our observations and try improving it.
VII. LEGAL IMPLEMENTATION OF REVERSE ENGINEERING
- Copyright – Look and shape of a product a protected under this.
- Patent – The idea and the functioning are protected here.
But, it is conducted in a sequence –
- Paid visit by a team of engineers for investigation and analysis of the product.
- Information is given to the second party who does not have any knowledge of the product.
- The second party then builds the product based on the given data with same end effect but with different approach.
VIII. Is REVERSE ENGINEERING UNETHICAL?
There is a huge debate over this topic. The first argument against it, is that of intellectual property and that of why should companies spend that much to gather intellectual property which might be reverse engineered by competitors at a fraction of the cost.
Reverse engineering is legal as long as another party or group does not exploit or explicitly copy another product is it in any field, where the ethical and legacy debate is sure to endure because it infringes on one’s intellectual property.