Reverse engineering
Reverse engineering of software can be accomplished by various methods.