Keygen

This is an old revision of this page, as edited by GrayApple (talk | contribs) at 19:25, 27 June 2007 (Action Taken By Software Developers). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A keygen (a portmanteau of "key generator") is a small program that will generate a CD key or serial/registration number for a piece of software or cryptographic algorithm.

File:Elgamal.jpg
An example of a keygen.

Keygens are made available by software cracking groups for free download on various websites dedicated to software piracy.

How they work

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.

Problems with keygens

Aside from ethics and legality, there are two major issues in using keygens: Product activation and online key verification.

Keys generated with a key generator may not work with software that is used online, including downloading software updates. This is because the user must confirm their serial number every time the software connects to the server, and the key may be invalid for various reasons. One reason is that the cracker may have misinterpreted the original algorithm, creating a key that was "good enough" to let the software be installed, but not letting all possible future generated keys be valid. Another reason may be that the software developers only accept keys that they know were distributed with the media during production, or had been issued with an online registration, causing a cryptographically correct key to still be denied. A third reason could be a secondary unpublished algorithm that is used by the vendor, e.g., to extend the previous example, the characters 0, 7, 9, C, and K are never allowed. The software that confirms the key on the user's machine does not know these numbers and characters are not allowed, and will accept the keygen output, but the online confirmation fails. One final reason, used primarily with games with online support, is that the keygen creates a valid key, but the key is already in use by either the person who is using the key legally or someone whose keygen program generated the same key.

Action Taken By Software Developers

Software Developers have tried to stop losing revenue by making something called Product Activation which requires you to connect to the internet/ call a number to make a Program usable. Newer day keygens, also contain a method to bypass the product activation. Some software manufacturers like Adobe include telephone activation which requires you to give a special code when you call. A special method on Keygens allows you to type the number given by the product and generate the activation code and you would then type that into the software. Some software developers, such as Norton, have worked around this by not including this feature making it harder for hackers to write a activation code. In recent success a team called Team EDGE cracked Norton 360 via this method. First you disconnect your internet connection and make Norton 360 try to connect to the internet twice. Then on the third failure, Norton 360 will open your web browser. You would close it and press the Click Here To Activate Button. As if by magic a telephone activation screen appears in Norton 360. The keygen changes files from the Norton 360 to a previous version of Norton to enable product activation. Then you would follow the Telephone Activation Steps. most products now have activation notification, which means when the product is activated the developers of the software are notificated when, were and how their product was activated. if the keygen is identified, the developers may punish the user with the full extent of the law, which may be 1. a £500,000 fine for both copyright and theft 2. Imprisonment for 15 years or 3. both Imprisonment and fine.

Origins and cultural impact

Keygens are often "decorated" in a nice way, often incorporating ASCII or ANSI art images as well as mostly "oldschool" Tracker music.