Software cracking uses reverse engineering. Reverse engineering involves taking a mechanical device, software program or electronic device apart, understanding its workings, and then attempting to create something out of that. It has been a common practice in the world of mechanics and electronics for a long time.
It has been the greatest challenge for most innovating tech companies (like Sony) for a very long time. The military has been using it for centuries, attempting to analyze the enemy's weapons and creating their own versions to combat them.
In the software industry, a very popular case was San Jose-based Phoenix Technologies, Ltd. reverse engineering the IBM BIOS to create their own compatible version. (You can read about it in this article by Mathew Schwartz, Reverse-Engineering, Computerworld, November 12, 2001)
Origins of Software Cracking
I need to first differentiate between software crackers and "crackers", the latter referring to malicious hackers, while the former referring to programmers who used reverse engineering to remove copy protection from the software.
Now that I have made that distinction, let me move on to the history of software cracking. It began in the 1980s with disk-based software copy protection schemes on the Atari 800, Commodore and Apple II systems. The software manufacturers used hardware schemes to prevent people from making copies. Game developers also attempted cheaper solutions like user-interactive copy protection which forced the users to enter some evidence that they had purchased the software, like for example, a word from the game manual. However most of these solutions suffered from BTO vulnerabilities, which are flaws in a copy protection system that makes a copy in which the protection is circumvented Better Than the Original in some way. The software developers were forced to come out with more innovative methods of copy protection.
Circumventing copy protection schemes was the biggest challenge out there, and it spawned the cracking scene. Soon software protection schemes would include hardware dongles, registration keys, keyfiles, Internet activation, etc. Crackers were always working to get ahead of the software developers, seemingly all for the glory and challenge.
The apparent disregard for laws to go one up against rivals in the cracking scene was interesting, considering that most never made money out of their efforts. It was a strive to possess the intangibles of social esteem and prestige, over any materialistic goods. It almost proved to the world that a coherent social structure is possible where materialism is not the reward.