Crackeando el Juego FeedingFrenzy

Bueno este tutorial es algo viejo pero vengo a compartirlo aquí con ustedes empecemos

Hola a todos soy Flamer y como estamos de vaca (vacaciones jajaja) vamos a practicar un poco y crear este tutorial para el grupo CracksLatinos bueno. Ase meses resolví un programa es un juego llamado FeedingFrenzy es una versión vieja no es la nueva que esta en la red ya que ase tiempo la descargue y no la había resuelto por que no tenia tiempo y tampoco cerebro jajajaja por que soy medio bruto y a beses medio pendejo bueno dejemos no de tonteras y empecemos… Fotos de la victima ya instalado y del instalador:







Objetivos: Crear el Keygen y Crear el crack Bueno no es necesario poner fotos del RDG Detector ya que no esta empacado. Lo abrimos con el ollyDbg y vemos lo siguiente:







Luego presionamos F9 y corre perfecto y aparece lo siguiente:







Luego presionamos control+F2 o clic en Debug y restart





Bueno como ven marque ese call en rojo por que es el call que carga la dll que es donde esta todo el código del juego, traceen con F8 hasta la línea 004D400E y con F7 para entrar al call y nos aparecerá lo siguiente:






Nos lleva hasta la línea 10003800 bueno ahora vamos a buscar en los string a ver que hallamos.





Como ben aparecen otros string de registration pero nos vamos a ir con el de la línea 10001852 y ponemos un break point en esa línea y damos F9 se detiene aquí:





Y luego traseamos con F8 hasta llegar ala línea 100018EA que es un Retn y el cual nos lleva ala línea 100022DC. Nota: lo que ase todo el código anterior es ver si el juego esta registrado Ahora llegamos a la línea 100022DC y traseamos un poco con F8 hasta la línea 100022E5 y vemos lo siguiente, un salto JE que si se cumple la condición salta y aparece la ventana de registro y si entra nos manda directo al juego





Como ven ya esta crackeado solo es cuestión de cambiar ese salto JE por JNZ y guardamos los cambios y ya tenemos nuestro juego crackeado. Bueno ya tenemos el juego crackeado nos queda crear el keygen para eso ejecutamos el juego y ponemos en el campo License Name:”polomon” y en el campo License code:”123456” y damos clic en Enter License Information, el cual nos manda el mensaje





Después damos clic en la M






Después damos clic derecho y clic en search







Y buscamos la palabra “polomon” y damos en ok y nos aparece lo siguiente:





Luego ponemos un Hardware Break point en la palabra “polomon” y ahora si damos clic en el botón Enter License Information y nos manda ala api donde es capturada la palabra “polomon” y para salir de hay traseamos con puro F8 hasta llegar al juego de nuevo Y llegamos hasta la dirección 100028D2,donde mas abajo es donde se genera el código del serial





Y como ven hay esta la api que captura el nombre bueno aguardamos en el notepad la dirección 100028D2 para que no senos olvide bueno seguimos.

Ahora quitamos el Hardware Break point ya que llano lo necesitamos y ponemos un Break point con F2 en la dirección 100028D2. Luego mas abajo en la línea 100028FE vemos un call y una línea arriba vemos un PUSH que carga ala pila el serial que pusimos y mas abajo en la línea 10002908 un salto JNZ, el cual no brinca, así que revisaremos ese call con F7 y vemos lo siguiente:






Como ven verifica si son números o letras y encada vuelta incrementa EDX que al final compara EDX con F que en decimal es 15 Así que ya sabemos el serial consta de 15 caracteres, así que ingresamos 15 caracteres y damos run. Como ven ahora en la dirección 10002908 el salto JNZ ya brinca






Y mas abajo en la línea 10002941 vemos otro call y mas arriba vemos unos PUSH que cargan ala pila el nombre y el serial que introducimos









Así que tendremos que revisar ese call con F7 a ver que encontramos Y observamos lo siguiente: Nota: Yo ingresare como nombre “polomon-AE” y serial “d87lm9m7r9mnmjf”






Pregunta si es mayúscula, minúscula y si es numero o guion se brinca al siguiente carácter. Bueno toma el primer carácter y si es minúscula suma EBX+ESI y el resultado se aguarda en EBX, luego en la siguiente línea multiplica EDI * 4 el resultado le suma EBX y le resta 20 y el resultado se almacena en EDI y así sigue en cada vuelta y almacenando todo en EDI Y si es mayúscula ase lo mismo la diferencia es que no sele resta 20. Saliendo del bucle el valor es guardado en EDI y será utilizado mas adelante, donde obtengo de “polomon-AE” = 006A94AD

Luego seguimos en la línea 10001500 donde compara EBX con 64 que es 100 en decimal… por que ese 64 es por que mas adelante hay un array de 100 cadenas que se usaran para la comparación del serial en la línea 10001517 que es un call y entraremos con F7






Traseamos un poco con F8 y observamos lo siguiente






Seguimos traseando con F8 hasta la línea 10001215 donde compara el primer dígito del serial con cada dígito de esta cadena "ZXHYGKLQ9867WEPRCDSANMJBVFTU5342"---Cadena A para encontrar en que posición se encuentra el primer carácter de mi serial en la cadena A. donde el serial que ingrese es “d87lm9m7r9mnmjf” y como nombre “polomon-AE” Nota: a lo cual resumo que el serial solo puede contener los caracteres de la cadena A. Después de encontrar el dígito del serial en la cadena donde “d” de mi serial ocupa el lugar 17. Después agarra la primera letra de la cadena “WGQODIXJLT” que es W y la divide con 20 que en decimal es 32 y el residuo tiene que ser igual a 17 "ZXHYGKLQ9867WEPRCDSANMJBVFTU5342” Así que resumo que cada dígito del serial correcto tiene que ser igual a su posición en la cadena A a el residuo de la división de las cadenas del arrays y si no da la primera cadena del array la compara con la segunda y así hasta las 100 cadenas y una tiene que concordar sino el serial no es correcto. Nota: bueno si no sean dado cuenta la cadena del array solo tiene 10 dígitos y nuestro serial 15 así que la cosa sigue Bueno difícil de entender no y mas difícil es para mi explicarlo

Seguimos traseando con F8 y mas abajo en la línea 10001534 vemos que divide la suma que se obtuvo del nombre y que se aguardo en EDI que es 006A94AD y lo divide con 64 que en decimal es 100






y unas líneas mas abajo compara el residuo con el índice del array, si se uso la cadena 3 del array el residuo tiene que ser 3 y si es así sigue y unas líneas mas abajo compara EDI que tiene la suma del nombre con 186A0 que es en decimal 100000





Si es mayor no brinca y lo divide entre 2 hasta que sea menor a 100000 y de 006A94AD nos queda lo siguiente 0000D529 Y mas adelante vemos D529 que en decimal es 54569 y lo concatena con "QIKFUHUKOH”





Y queda así “QIKFUHUKOH54569”----cadena X Mas adelante en la línea 1000159D vemos que carga otra cadena es la siguiente: "KLGPRCQ98U53ANMJBVZ67WE42FTXHYDS"-----B Luego en la línea 100015B0 vemos que toma cada dígito de la cadena X y es dividida con 20 que en decimal es 32 y el residuo es la posición que recogerá de la cadena B para así formar una nueva cadena que llamaremos cadena Y : “VU3QW8W3J8W7WEF”




 
Bueno en la línea 10001607 vemos que toma cada digito del serial que ingresamos que es “d87lm9m7r9mnmjf” y busca su posición en la cadena A y si dio por ejemplo la posición 5 en la cadena B busca el carácter de la posición 5 y este carácter tiene que ser igual al carácter de la cadena Y




Y si todo sale correcto el programa queda registrado Bueno espero les halla gustado el tutorial que no fue nada fácil para mi explicar todo este enredo de cadenas y sin mas que decir mando saludos a los que siempre han estado presentes cuando publico y que responden mis dudas a mis amigos en la red a tincopasan en especial, FaQuiVer, PeterPunk, .::Under::. , Fly y a todos los CracksLatinos en especial a Ricardo y a los del foro del Hacker net Saludos De Flamer


Nota: Lo que no dije nunca y hasta ahora lo digo es que el algoritmo del programa lo hice crackme y como lo muestro en la imagen el keygen de el programa FeedingFrenzy funciona para el crackme X-Comercial









El Crackme X-Comercial lo pueden descargar de mi lista de crackmes.....si el AV lo detecta recuerden que es un falso positivo ya que todos mis archivos están limpios....por esa razón de ahora en adelante los haré en html y Vbscript para publicar su código....este keygen no pude rescatar su código fuente por esa razón lo publico así.....si dudan pueden ejecutar los programas en una maquina virtual bueno


Link del Keygen y Tutorial en PDF

https://www.mediafire.com/file/yecjv333bc4dpci/Crackeando_el_Juego_FeedingFrenzy.rar/file




Saludos Flamer