Keygen

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 developed and distributed illegitimately in circumstances of copyright infringement or software piracy.

Illegitimate key generators are typically programmed and distributed by software crackers in the warez scene. These keygens often play music (taking from the tradition of cracktros), which may include the genres dubstep, chiptunes, sampled loops or anything that the programmer desires. Chiptunes are often preferred due to their small size. Keygens can have artistic user interfaces or kept simple and display only a cracking group or cracker's logo.

Software licensing
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.

Key verification
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.

Multi-keygen
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.

Authors and distribution
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.

Keygens are available for download on warez sites or through peer-to-peer (P2P) networks.

Malware keygens
Keygens, available through P2P networks or otherwise, can 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.

HackTool.Win32.HackAV
A program designed to assist hacking is defined as HackTool.Win32.HackAV or not-a-virus:Keygen from Kaspersky Labs or as HackTool:Win32/Keygen by Microsoft Malware Protection Center. According to the Microsoft Malware Protection Center, its first known detection dates back to July 16, 2009. The following security threats were most often found on PCs that have been related to these tools:
 * Blackhole exploit kit
 * Win32/Autorun
 * Win32/Dorkbot
 * Win32/Obfuscator

Keychan
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.