This article needs additional citations for verification.(June 2014)
A key generator (key-gen) is a computer program that generates a product licensing key, such as a serial number, necessary to activate for use of a software application. Keygens may be legitimately distributed by software manufacturers for licensing software in commercial environments where software has been licensed in bulk for an entire site or enterprise, or they may be distributed illegitimately in circumstances of copyright infringement or software piracy. Illegitimate key generators are typically distributed by software crackers in the warez scene and demoscene. These keygens often play "Keygen music", which may include the genres dubstep or chiptunes in the background and have artistic user interfaces.
A software license is a legal instrument that governs the usage and distribution of computer software. Often, such licenses are enforced by implementing in the software a product activation or digital rights management (DRM) mechanism, seeking to prevent unauthorized use of the software by issuing a code sequence that must be entered into the application when prompted or stored in its configuration.[better source needed]
Many programs attempt to verify or validate licensing keys over the Internet by establishing a session with a licensing application of the software publisher. Advanced keygens bypass this mechanism, and include additional features for key verification, for example by generating the validation data which would otherwise be returned by an activation server. If the software offers phone activation then the keygen could generate the correct activation code to finish activation. Another method that has been used is activation server emulation, which patches the program memory to "see" the keygen as the de facto activation server.
A multi-keygen is a keygen that offers key generation for multiple software applications. Multi-keygens are sometimes released over singular keygens if a series of products requires the same algorithm for generating product keys. In this case, only a single value encoded within the key has to be changed in order to target a different product.
Unauthorized keygens that typically violate software licensing terms are written by programmers who engage in reverse engineering and software cracking, often called crackers, to circumvent copy protection of software or digital rights management for multimedia.
Many unauthorized keygens, available through P2P networks or otherwise, contain malicious payloads. These key generators may or may not generate a valid key, but the embedded malware loaded invisibly at the same time may, for example, be a version of CryptoLocker (ransomware).
Antivirus software may discover malware embedded in keygens; such software often also identifies unauthorized keygens which do not contain a payload as potentially unwanted software, often labelling them with a name such as Win32/Keygen or Win32/Gendows.
A key changer or keychan is a variation of a keygen. A keychan is a small piece of software that changes the license key or serial number of a particular piece of proprietary software installed on a computer.