Generador de claves ( argot keygen , kigen ) (del inglés keygen (pronunciado "kijen"), generador de claves ) es un pequeño programa que genera:
Los equipos de descifrado de software los ofrecen en varios sitios dedicados a distribuir software sin licencia. Dado que las licencias de la mayoría del software que usa claves de activación requieren la compra de códigos, generalmente es ilegal usar keygens para software propietario no pagado. Algunas leyes de derechos de autor (por ejemplo, la DMCA de 1998 en los EE. UU. y la cuarta parte del Código Civil de 2008 en Rusia) prohíben explícitamente los sistemas de derivación de DRM .
Los Keygen están escritos tanto por programadores individuales como por grupos de piratas informáticos como CORE, ORiON, ZWT, REVOLUTiON, XNTeam, Fight For Fun y otros que se especializan en piratería de software. A veces, estos grupos también se declaran incluyendo su nombre en la clave generada de forma abierta o encriptada.
Normalmente, la clave se aplica durante la instalación. El instalador aplica cálculos algebraicos a la clave ingresada para verificar su autenticidad. Por ejemplo, el algoritmo necesita determinar que la clave de entrada debe contener 5 números, cuya suma es 25, y que la clave también debe contener 3-5 caracteres, de modo que después de convertirlos en equivalentes numéricos, obtengamos la suma 42 .
Para escribir un keygen, el autor suele utilizar un desensamblador para ver el código fuente del programa en ensamblador , para lo cual se escribe el keygen, comprobando tanto el propio software como el instalador. Cuando obtiene acceso al código del programa, define una función responsable de verificar la autenticidad de la clave ingresada. Debido a esto, puede escribir el algoritmo utilizado para generar las claves reales incluidas en el generador de claves.
Además de los problemas legales, existen dos dificultades principales al usar keygens: la activación del producto y la verificación de claves en línea.
Es posible que las claves generadas por keygen no funcionen si el programa se usa en la red, incluida la descarga de actualizaciones también. Esto se debe a que el usuario debe verificar su número de serie cada vez que el programa se conecta al servidor , y la clave puede ser incorrecta por varias razones.
Una de las razones es que el atacante puede haber malinterpretado el algoritmo original, que era "lo suficientemente bueno" para instalar el software, pero no validó todas las claves generadas.
Otra razón es que los desarrolladores de software permiten claves que saben que se distribuyeron a los medios durante el desarrollo, o que se publicaron para el registro en línea, lo que hace que una clave criptográficamente correcta deje de ser válida.
Una tercera razón podría ser un algoritmo no publicado utilizado por el vendedor. Además del ejemplo anterior, los caracteres 0, 1, 9, C y K nunca se aceptan. El programa que verifica la clave en la computadora del usuario no es consciente de estas restricciones y aceptará la clave ingresada, pero la verificación en línea no será confirmada.
Las claves para los juegos MMO son diferentes. Por regla general, cada llave es única y se suministra con el producto de forma protegida, en sobres o tarjetas con tapa borrable. Por lo general, las claves se asocian con la cuenta del juego después de su uso, lo que conduce a su inutilidad. Por lo tanto, no suele haber generadores de claves para los MMORPG .
Los desarrolladores de software intentan evitar la piratería mediante la activación del producto, que requiere que el usuario se conecte a Internet o llame a un número de teléfono para continuar usando el software. Los keygen más nuevos también contienen un método para eludir la activación del producto. Algunos desarrolladores, como Adobe , incluyen activación telefónica, lo que requiere que el usuario reciba un código especial durante la llamada. Un método especial en keygen le permite ingresar el número emitido por el producto y generar un código de activación que se ingresa en el producto. Otros desarrolladores, como Norton, están trabajando en este problema y no incluyen esta función o dificultan la búsqueda del código. Esto hace que sea más difícil para los crackers escribir generadores de claves.
Algunos desarrolladores utilizan parte de la clave de licencia para restaurar el área cifrada de la memoria del programa para que pueda seguir funcionando. Por lo tanto, incluso si un atacante selecciona un algoritmo de acuerdo con el código desensamblado, se vuelve imposible descubrir la parte de la clave responsable de restaurar el código del programa en la memoria sin usar una clave de licencia comprada previamente.
Los Keygen están ampliamente disponibles, pero la legalidad de su uso varía internacionalmente.
Por regla general, los generadores de claves están escritos en lenguaje ensamblador y son de tamaño pequeño. A veces, los keygen funcionan en la línea de comandos , pero la mayoría de las veces se crean en forma de un programa con una interfaz gráfica original, que también es un medio de autoexpresión para el desarrollador de keygen.
Muchos generadores de claves tienen música de fondo (generalmente música de seguimiento ) que se reproduce durante todo el generador de claves (algunos tienen la capacidad de pausar la reproducción). Normalmente, la música se compone de tal manera que es posible realizar bucles. A veces, en computadoras sin controladores de sonido instalados, los keygen pueden no funcionar precisamente por la música. [una]
Al respecto, han aparecido portales completos, donde se recopilan melodías de varios keygen [2] y otro tipo de cracks :