Reverse Engineering is a term used to describe the process of re-constructing an existing product accurately, for the purpose of manufacturing more of the same kind or modifying it to improve upon its design.

Reverse engineering also means, taking apart an object to see how it works in order to duplicate or enhance the object. The practice, taken from older industries, is now frequently used on computer hardware and software