Let us start with an example. One day you get into your garage and find on the workbench a ‘black box’. Stricken by curiosity, you build up an urge to discover what it ‘is’ and what it ‘does’. You start with an inspection of the box’s dimensions, color. Then you try to find its purpose and then how it operates. Not satisfied, you try to open it, break it apart, piece by piece in an attempt to understand what each component does and build up a pattern of how they would all interact together as one system. Finally you reach the end of your inquisition. You now fully (or partially) understand the box. This very approach is termed as Reverse Engineering.
Reverse engineering, also known as back engineering, is the process where a man-made object is dismantled completely to reveal its architecture, design or to extract knowledge from the object about its functioning and structural integrity.
There might be innumerable reasons to adopt reverse engineering process. Some of the common cases are as follows: