Reverse engineering is “the process of discovering the technological principles of a mechanical application through analysis of its structure, function and operation. That involves sometimes taking something apart and analyzing its workings in detail, usually with the intention to construct a new device or program that does the same thing without actually copying anything from the original.” – Wikipedia