Any time you install a program, it creates an executable used to launch the program (we'll call this the "launcher").
When you buy a program and install it on your computer, the program's "launcher" will have some sort of built-in copy protection feature. One simple example is when you buy a computer game, you are required to insert the CD/DVD in the drive to play it.
A "Crack" is simply term used to describe a patched version of the original program launcher which bypasses the program's copy protection features. So according to the original example, you would be able to play the game without the CD/DVD in the drive.
This is one example of software piracy. 99% of the time, "cracked" software is used by people who have illegally downloaded software, in order for them to be able to run the program on their computer without the required CD/DVD (which they obviously don't have).
Sometimes when you buy a program in-store (we'll use the game example again), it will comes with a special "registration key".
This registration key will look like a complicated set of numbers and letters. Each key will allow you to register that program. Since every key is unique, it is wise to keep that registration key in a safe place, because you are only given one per copy of the program.
How do the software companies make these "keys"? Usually through a complex mathematical algorithm. The program you bought will allow only keys which follow this algorithm, which is why you can't just type in any random set of digits you wish ().
Say you knew this algorithm, and created a small executable which would create an infinite number of keys which followed the algorithm. That would be called a "keygen". Now you can illegally download the program you want, and register it with a generated registration key (if it requires one). This is software piracy.
As you can guess, this is illegal.
Hope this helps clear some of the confusion for some of you. Not everyone knows exactly what a "keygen" or "crack" exactly is.
Edited by D-FRED-BROWN, 29 June 2011 - 03:31 PM.