| COMO CRAKEAR POR ESTADO+PORCINO |
| CAP�TULO IV. Haciendo de Cerrajeros -Generadores de Llaves (KeyGen)- Revival 2.1 |
Mayo 1998
| Indice |
| INTRODUCCI�N Generadores de Llaves �Es posible crear un Generador de Llaves? �Pos mu bien, pero que necesito pa hacer un Generador de Llaves? �Merece la pena hacer un Generador? Generador de Llaves para REVIVAL 2.1: Notas para los lectores |
|
INTRODUCCI�N �Saludos Familia! Aprovechando las vacas estivales me he decidido por escribir un bonito Generador de Llaves (en ingl�s KeyGen) para un �til programa de reparaci�n de discos duros y disquetes. Como siempre un poco de Teor�a para que podamos entendernos. |
|
Generadores de Llaves. La primera pregunta que responder es �qu� carajo es un Generador de Llaves? Suponed por un instante que sois unos de esos programadores perezosos y cegados por el dinero que ha construido un programa protegido con un n�mero de serie. Si alguien desea registrarse debemos pagar una cifra de dinero (peque�a o no) que har� engrosar nuestra cuenta. A cambio debemos de enviarle un n�mero de serie que desbloquee el programa. �Hasta ahora todo correcto, verdad?. �Pero como demonios se genera un n�mero de serie diferente para cada usuario? . La respuesta es: con un Generador de Llaves.Existen dos tipos de Generadores de Llaves: A- Dependientes de los datos del cliente. B- Independientes de los datos del cliente. El tipo A es el m�s extendido, el n�mero de serie se genera a partir del nombre del cliente y el de su direcci�n de correo (por ejemplo). As� dos usuarios tendr�n n�meros de serie diferentes, por que en principio sus datos personales son diferentes. El tipo B est� un poco en desuso, pero se siguen viendo por que son f�ciles de programar (recordad que los programadores son por naturaleza vagos y sin imaginaci�n). El mismo n�mero de serie es v�lido para cualquier cliente. En estos casos, el programador da un n�mero diferente a los clientes pardillos que compran su producto y reza para que no se lo den a nadie. |
|
�Es posible crear un Generador de Llaves? El programa Generador de Llaves est� normalmente en el ordenata del programador, entonces, �c�mo demonios puede un cracker construir un Generador ?. La respuesta es sencilla pero dif�cil (en general) de realizar. El programa debe verificar que el n�mero de serie que introducimos es v�lido y �sto s�lo puede hacerlo verificando ciertas propiedades que debe cumplir el n�mero de serie y que fueron establecidas por el Generador. �Un poco lioso verdad?, dicho de otra forma, el Generador es un codificador de n�meros de serie y en el programa s�lo existe un decodificador que descifra el n�mero de serie introducido. Vemos un sencillo ejemplo, suponed que nuestro Generador es el siguiente: N�meroSerie=(89934*4)*(nombre(5)) Donde nombre(5) es la quinta letra del nombre del usuario. EL n�mero 89934 es el llamado n�mero m�gico, un n�mero que es de agrado del programador (quiz�s el n�mero de veces que le ha su jefe le ha jodido) y que realmente es el coraz�n del Generador En el programa, para ver que el n�mero de serie es correcto se debe de verificar: (N�meroSerie/(4 /nombre(5)) = 89934 Como pod�is apreciar, lo que hay en el programa es la inversa del Generador, por tanto si invertimos la inversa podemos obtener el Generador de Partida. No os enga��is, este es un Generador sencillo, lo normal es que est� ultra enrevesao , lleno de n�meros m�gicos y operaciones aritm�ticas ex�ticas. Normalmente, las rutinas de verificaci�n realizan ciertas comprobaciones sobre la password de entrada. Generalmente pasan a may�sculas y buscan ciertos caracteres en ciertas posiciones. En caso de no encontrarlos la password no es v�lida. Esto da pie a un truco mu �til pa localizar di una forma directa la rutina. Pero esto lo veremos m�s adelante. |
|
�Pos mu bien, pero que necesito pa hacer un Generador de Llaves? 1.- Lo primero es aislar el c�digo del programa que verifica el n�mero de serie.Adem�s del c�digo que las funciones que son llamadas desde la rutina de verificaci�n (pa Saber que narices hacen). Normalmente las rutinas de verificaci�n hacen uso de peque�as rutinas: convertir a may�sculas,convertir letras en n�meros... 2.- Un conocimiento exhaustivo, repito, exhaustivo del la rutina de verificaci�n. Debemos saber TODO lo que hace y porqu� lo hace. Recordad que tenemos que invertir su funcionamineto y esto no lo podemos hacer si no sabemos como funciona. Este es el punto m�s delicado y el que consume m�s tiempo. Dependiendo de las paranoias del programador pod�is tardar horas o semanas. Se necesitan conocimientos de ensamblador y de operaciones aritm�ticas binarias 3.- Invertir el funcionamineto del Generador y crear con un compilador, por ejemplo de C nuestro propio Generador. |
|
�Merece la pena hacer un Generador? La respuesta es depende. Hacer un Generador no es nada sencillo, consume mucho tiempo y habilidades. Es mucho m�s f�cil parchear la rutina de verificaci�n para que acepte cualquier cosa.Pero las ventajas de crear un Generador son muy importantes, primera y ante todo es que realmente se est� cumpliendo con la filosof�a crack (ingenier�a inversa) al comprender y transformar el programa para que adapte a nuestras necesidades. Seg�nda ventaja son los conocimientos que se captan sobre todo a nivel ensamblador y de operaciones aritm�ricas con bits. Tercera y no m�s importante la satisfacci�n del trabajo artesano, bien hecho. Esa satisfacci�n que nos hace seguir adelante. La cuarta ventaja tiene que ver con la historia del Software. Puedes "coleccionar" las protecciones de tu programa favorito y ver la evoluci�n de su software. Y como quinta un fin pr�ctico, al final del proceso se obtiene un n�mero de serie v�lido, lo que te convierte en un usuario "legal" y problamente no tengas que crakear la pr�xima versi�n. |
|
Generador de Llaves para REVIVAL 2.1 Objetivo: REVIVAL 2.1 Este es un interesante programa que te permite recuperar ficheros
borrados de discos duros y disquetes que soporta FAT32 y NTFS. Tiene una
t�pica ventana de registro a partir de la cual podemos acceder
directamente a la rutina de verificaci�n de la pass. Esta rutina es
extremadamente sencilla e independiente de los datos del usuario, por eso
ha sido la elegida como demostraci�n. |
Utilizo n�meros aleatorios (random) para generar un n�mero de serie diferente cada vez que se ejecute e programa. Una �ltima curiosidad, donde creereis que guarda nuestra pass el programa. Si lanzais el La utilidad regmon (analiza todos los accesos al Registro dels Sistema) con el programa, podr�is apreciar que se accede a "HKEY_LOCAL_MACHINE\SOFTWARE\Revival\Revival\2.0\Serial" Poco imaginativo, �verdad?. Pod�is modificar este n�mero para evitar registraos y probad Con nuevas pass. |
|
Notas para los lectores. 1.- Los mensajes del tipo "Hazme el crack para ....", "Dime como de crackea....", "Dime donde puedo encontrar..." son autom�ticamente ignorados. El objetivo de estos art�culos es ense�ar a crackear no ense�ar a ser unos llorones ineptos que s�lo saben mendigar.2.- S�lo responder� a preguntas te�ricas sobre cracks, indicando algunas pistas que faciliten la labor. 3.- Narices, escribid art�culos sobre los programas que crackeeis. De nada sirve lo que aprend�is si no lo repart�s, se os pudre en el cabeza, palabra. 4.- Lamento no haber contestado a ciertos mails interesantes. Desde aqu� mis excusas. 5.- Si os ha servido para algo mis art�culos, no se�is vagos y mandad un mail indic�ndomelo. Mr_PinK & WKT ( WHISKEY KON TEKILA ) Esperamos vuestras opiniones, sugerencias y ensayos en [email protected] En breve analizaremos tipos de protecciones mucho m�s interesantes. Recordad bebed de la fuente, buscad a +ORC en la red. |