| || |
Join Date: May 2008
A keygen "key generator" is a small program that will generate a CD key or serial/registration number for a piece of software or cryptographic algorithm.
Typically software requests a serial number only during installation. The installation software applies an algebraic expression to the key entered to validate the key. As an example, the algorithm may define that a key entered must contain 5 numbers that have a checksum of 25, and that the key must also contain 3-5 letters that, when mapped into their numerical equivalents, have a sum of 42.
In order to write a keygen, the author typically uses a disassembler to look at the raw assembly code of the program they are writing the keygen for, checking either the software itself or the installer. Once they have access to the program's code, they can locate the subroutine(s) responsible for verifying that the key entered is valid. Using this knowledge, they can reverse engineer the algorithm used to generate valid keys, which is then incorporated into the keygen.