Reverse engineering is the process of discovering the technological principles of a human made device, object or system through analysis of its structure, function and operation.