ESTUDIO COLECTIVO DE DESPROTECCIONES
WKT Tutorialz Site
WKT
Programa Quick Heal v5.20 w95 / w98 / wNT
Descripcion Antivirus
Tipo Shareware 30 dias
Url http://www.quickheal.com
Protecci≤n Numero de serie
Dificultad 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
Herramientas Softice4.01
Objetivo Simular estar registrados
Cracker Kolgado
Fecha 13 de Octubre de 1999

 

Introduccion

Ponemos un numero cualquiera,control-d y nos salta el softice,bpx getdlgitemtexta
pa' probar y x, volvemos al programa,le damos ok y nos salta de nuevo el soft,un f12 y estamos en la rutina del programa,a partir de ahi podemos seguir dos caminos,
analizar minuciosamente y ver como se comporta el codigo(útil si queremos un KeyGen.),o probamos darle fanaticamente f10 hasta que nos aparezca el mensaje de "error en el codigo" o algo por el estilo.

 

Al Ataque!!!!!!!!!!!!!!!!!
Para no complicarnos demasiado(y porque tambien soy bastante nuevo para un keygen),probemos nuestra suerte con la segunda opcion.
Le damos f10 19 veces, y a la 20 nos aparece la ventana "incorrect unlock code",le damos aceptar y aparecemos en:

:00408D27 6880134400 push 00441380

* Possible StringData Ref from Data Obj ->"Incorrect unlock code."

:00408D2C 6818244400 push 00442418
:00408D31 E824D30100 call 0042605A

* Possible Reference to Dialog: DialogID_0066, CONTROL_ID:0458, ""
|
:00408D36 6858040000 push 00000458 "AQUI APARECEMOS"
:00408D3B 8BCE mov ecx, esi
:00408D3D E8C7580100 call 0041E609
:00408D42 85C0 test eax, eax
:00408D44 7504 jne 00408D4A
:00408D46 33C0 xor eax, eax
:00408D48 EB03 jmp 00408D4D

El call inmediatamente arriba de donde aparecimos fue el que provocó el mensaje, por lo tanto,
busquemos un poco arriba para ver q' tenemos(hay q' buscar algun salto condicional).

:00408CB0 50 push eax
:00408CB1 51 push ecx
:00408CB2 E86ECDFFFF call 00405A25
:00408CB7 83C408 add esp, 00000008
:00408CBA 83F801 cmp eax, 00000001
:00408CBD 7564 jne 00408D23 "LA CLAVE"
:00408CBF E833CEFFFF call 00405AF7
:00408CC4 E8438EFFFF call 00401B0C
:00408CC9 663D0200 cmp ax, 0002
:00408CCD 7549 jne 00408D18
:00408CCF FF761C push [esi+1C]

No necesitamos ir muy lejos y nos encontramos un jnz 00408d18 y un poco mas arriba jnz 00408d23,ahora bien, esto no nos dice nada por si solo,
asi que analicemos un poco.Si nos fijamos en jnz 00408d23(en w32dasm jne) nos damos cuenta de que en caso de hacer el salto apareceriamos unas cuantas
instrucciones antes de nuestro famoso call q' produce el mensaje de error,exactamente en:

:00408D21 EB31 jmp 00408D54

:00408D23 6A30 push 00000030 "AQUI"
:00408D25 8BCE mov ecx, esi

* Possible StringData Ref from Data Obj ->"Error"
|
:00408D27 6880134400 push 00441380

* Possible StringData Ref from Data Obj ->"Incorrect unlock code."
|
:00408D2C 6818244400 push 00442418
:00408D31 E824D30100 call 0042605A "NUESTRO MARTIRIO"


Tambien podemos notar que inmediatamente arriba de push 30 esta un jmp que evitaria pasar por el call "de los lamentos".
por lo que a simple vista pareceria ser que nuestro 00408cbd jnz 00408d23 seria lo q' distingue de estar o no registrados.Pero antes de sacar conclusiones a la ligera,probemos.
Ponemos un bc*,y luego un bpx en 00408cbd,le damos control-d,le damos ok de nuevo a nuestra ventana de Registro y nos baramos en el bpx que hemos puesto.
Vemos que realmente va a saltar,como suponiamos,asi q' probemos,total no perdemos nada (creo).En le softice le damos r fl z y se convierte "magicamente" en un "no jump".
Ok el momento de la verdad,le damos bc*, y luego x, y pam!!!, un lindo mensaje... "Quick Heal has been upgrade to a complete..."No sweat.Ni siquiera necesitamos parcharlo,solo un cambio en un salto en tiempo de ejecucion y listo.
Esperando que les sirva de ayuda.Atte. Kolgado.
PD:Esta es la manera mas facil y es genial para los nuevos,si se animan le pueden dar con el keygen. Gracias a todos los spanish reversers...
FreeMind.


[ Entrada | Documentoz GenΘricoz | WKT TEAM Main Site ]
[ Todo el ECD | x Tipo de Protecci≤n | x Fecha de Publicaci≤n | x orden AlfabΘtico ]