Ein Key generator (auch KeyGen, Keygen oder Keymaker, wörtlich Schlüsselgenerator) ist ein Computerprogramm, das automatisch nach einem Algorithmus Lizenzschlüssel für andere Programme erstellt.[1]
Obwohl die Verwendung von mit Key-Generatoren erstellten Lizenzschlüssel in der Regel nicht gestattet ist – solange der Ersteller nicht eine Lizenz des Programmes besitzt – existieren derartige Generatoren. Generatoren waren vor allem Ende der 1990er- und in den frühen 2000er-Jahren verbreitet und sind im Internet für verschiedene Programme verfügbar. Es existieren auch Pseudo-Keygeneratoren, die nur eine bestimmte Anzahl von Lizenzschlüsseln gespeichert haben und diese per Zufall ausgeben. Entsprechend präperierte Key-Generatoren werden auch zur Verbreitung von Schadprogrammen genutzt (z. B. Backdoors, Viren, Würmer, Keyloggern etc.).[2]
Im Laufe der 2000er-Jahre bauten Softwarehersteller häufiger einen Schutz in Form einer Produktaktivierung[1] ein, wodurch Key-Generatoren seltener zum Freischalten des Programmes benutzt werden können: Der eingegebene Lizenzschlüssel wird in einer Datenbank gesucht. Falls er schon vorhanden ist, oder nicht vom Hersteller generiert wurde, wird das Programm nicht freigeschaltet. Der entsprechende Lizenzschlüssel gilt als blacklisted. Frühe Beispiele sind Windows XP oder Computerspiele von Valve, die nur mit der Software Steam über das Internet freigeschaltet werden können.
Moderne KeyGens sind häufig in der Lage, diese zusätzlichen Sicherheitsmechanismen zu umgehen. Über zusätzliche Funktionalitäten, wie z. B. der Generierung von Aktivierungscodes oder Memory-Patches über virtuelle Server Emulationen werden die Überprüfungsmethoden der Software-Hersteller außer Kraft gesetzt.[3] In diesen Fällen werden Elemente eines Cracks mit denen eines KeyGens vermischt.