Reverse engineering (RE) is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation.
It often involves taking something apart and analyzing its workings in detail, usually to try to make a new device or program that does the same thing without copying anything from the original.