Cómo crackear el WinZip - ByGIBA - (03Págs)

download Cómo crackear el WinZip - ByGIBA - (03Págs)

If you can't read please download the document

Transcript of Cómo crackear el WinZip - ByGIBA - (03Págs)

Cmo crackear el WinZip?Es bastante sencillo. Este fue mi primer CraCk y no lo logre solo, lo logro primero mi amigote BacH que luego me gui a m. Yo llegue por mi cuenta pero no lo hubiera logrado sin su ayuda, as que GRACIAS BacH! Otra persona a la que debo dar crdito es a KarlitoxZ que con sus expedientes crackee unos programas y me di cuenta de que no era difcil; y por supuesto al Dios del CRACK +OrC que me ilumino en esta vida ciberntica de ignorancia. Hoy en da esta la versin 7 del WinZip, la que yo crackee fue la 6.3 que es igual que la nueva, solo que la nueva tiene la posibilidad de usar un serial logrado con el 6.3 y otro nuevo con un formato distinto. Tratare de explicarles este sencillo CraCk usando el 6.3 porque tiene menos vueltas, pero luego intenta con el 7.0 que exactamente igual o instala el 7 sobre el anterior y todava seguir registrado :-). Para comenzar necesitamos el WinZip instalado, su copia de seguridad y el Soft-Ice. Si no sabes lo que es el Soft-Ice lo nico que puedo decirte es que busques informacin acerca de lo siguiente: ASSEMBLER, INGENIERIA INVERSA, DESENSAMBLADOR, DEBUGGER y consigas los manuales del Soft-Ice que se pueden bajar gratis desde NuMega y es lo mejor que puedes hacer (nos solo debes bajarlos, sino que DEBES LEERLOS). Con el Soft-Ice cargado y corriendo ejecutamos el WinZip y nos aparece una pantalla diciendo que les paguemos (si claro...jajaja) para que esta ventana no aparezca mas, y podemos ver que el botn que dice Agree va cambiando de posicin para que uno no se acostumbre de memoria a hacer clic en determinado lugar de la pantalla; tambin vemos que la hot key cambia de posicin y que nunca esta seleccionado como default para que con tocar enter Agreemos a lo que dice (a propsito: nunca lo he ledo!). Esta pantalla es muy fastidiosa cuando uno esta acostumbrado a manejarse con zips todo el tiempo, pero no es solo ese el problema, el programa que hace los Self-Extract o zips autodescomprimibles le agrega al exe generado una pantalla que advierte que ese self-extract ha sido generado con una versin no registrada del WinZip. Ahora que ya tenemos un motivo para molestarnos en reventar el programa dado que no podemos o no queremos pagarlo por algn motivo moral que no quiero discutir, vamos a dedicarnos a joderlo! Bien, ahora hay que ver como sacar esta pantalla de aqu y como hacer que el self-extract no tenga esa ventana, para esto PODRIAMOS:A) Trazar el programa hasta el momento en que presenta la pantalla y ponerle un RET dentro del CALL o

NOPearlo para que la pase de largo ya sea en el WinZip.exe como en cada uno de los SELF-Extract que hagamos :-( B) En caso de no estar dentro de un CALL podramos buscar una comparacin al principio del programa que se fije si esta o no registrado y el JNE por un JE o algo as :-( C) Desensamblarlo en cdigo muerto con el DASM y buscar a travs de las Strings References :-( D) Desensamblarlo al vuelo y obtener un numero de registro valido:-)

Motivos por el cual no lo haremos del modo a: A) No es una forma muy inteligente de hacerlo (adems de que es muy difcil y yo no pude) y eso de andar patcheando cada self-extract es engorroso.

B) El o los programadores del WinZip no son tan tontos como quisiramos, si se mandaron algo tan practico

y que se presta a ser usado tanto como el WinZip no haran algo lamer, y de hecho no lo hicieron.

C) Perseguir Strings References es MUY molesto dado que tiene MILES y de las miles 40 interesantes pero

ninguna que realmente ayude dado que las que queremos no estn aqu.D) Oh, s! esto es lo mejor. Este es el mtodo ms aceptable dado que al obtener un numero de serie ya nos

olvidamos por completo de modificar el ejecutable y del self-extract. Primero que nada consguete unas hojas de papel y un lpiz, porque para no olvidarse nada lo mejor es anotarlo y ms cuando se trata de direcciones o nmeros en Hexa. Seguimos observando al programa y vemos que para registrarnos podemos usar esta nag screen o podemos ir a About -> Register WinZip; donde aparece una pantalla que pide un nombre y un serial. Lo que DEBEMOS lograr pueden ser dos cosas: o que frene en el momento en que genera nuestro serial, para lo cual debemos perseguir al NOMBRE, o que frene cuando compara el serial valido con el que pusimos nosotros. Lo ms sencillo es parar en la comparacin dado que esto nos da tambin la posibilidad de patchear el programa mas tarde para que la comparacin de bien aunque sea cualquier serial y porque para hacer la comparacin deber apuntar directamente al serial nuestro y al valido. Ahora escribimos un nombre, yo uso el mo, +GiBa y luego un serial cualquiera como por ej. 12121212. Tocamos Ctrl+D para pasar al Soft-Ice. Ahora podemos hacer un break en hmemcpy o buscar en la memoria nuestro numero de la suerte, los comandos serian: para el break en hmemcpy: BPX hMemCpy para buscar el numero: >S 0 l FFFFFFFF '12121212' o sino >S CS:IP l FFFFFFFF '12121212' Si usamos el BPX presionamos Ctrl+D y seguimos, si usamos la bsqueda haremos lo siguiente: BPR direccion_de_respuesta direccion_de_respuesta+8 RW esto hace que el programa pare en el momento en que lea o escriba sobre los caracteres a los cuales les pusimos el break. Presionamos Ctrl+D Seguimos: Presionamos en el botn de aceptar y el Soft-Ice salta. si usamos el bpx hmemcpy tocamos F8 hasta llegar a un REPZ MOVSD lo cual copia desde ESI nuestra clave mgica a ES:DI, que es dentro de una variable del programa. Si usamos el bpr ya estamos en el REPZ MOVSD as que continuamos. Agregamos un BPR ES:DI ES:DI + 8 RW para que pare cuando lea nuestro serial desde la variable del programa para algo que puede ser, tal vez, la comparacin deseada. Mandamos un G para que siga el programa y salta una vez, despus de observar, aqu vemos que cuenta los caracteres que tiene nuestro serial, que es interesante mas no importante. Mandamos otro G y aparecemos en un lugar con lo siguiente: 00457A1C 00457A1E 00457A20 00457A22 00457A23 00457A25 OR AL,AL JZ 0045794E MOV AL, [ESI]

-->en la direccin ESI esta el serial verdadero y pone la primer letra en el byte low de EAX, AL INC ESI -->le suma 1 a ESI para apuntar a la prxima letra, que ser comprobada si la primera es valida. MOV AH, [ADI] -->en la direccin EDI esta el serial nuestro y pone la primera letra en el byte high de EAX: AH. INC EDI -->le suma 1 a EDI para apuntar a la prxima letra.

00457A26 00457A28

CMP AL,AH JZ 00457A1C

--> COMPARA EL SERIAL VERDADERO CON EL NUESTRO -->si es valido continua.

Esto es lo que queramos: esto toma un carcter en ESI y lo pone en AL y luego toma uno en EDI y lo pone en AH; entonces los compara y si alguno difiere se va a donde dice que es incorrecto. SI, es aqu. Si vemos lo que hay en EDI con un memory dump ( D EDI ) vemos que esta nuestro 12121212 y si miramos en ESI (D ESI) vemos algo espectacularmente bello, que en mi caso con mi nombre es :C98C0363. Huiiaa!, esto parece un serial y lo esta comparando con el mo. Ajammmm...YEAH! lo copiamos en nuestro cerebro (o mejor en un papel) y deshabilitamos todos los breakpoints con BC *. Nos hechamos otro go con G y nos aparece la pantalla de error, aceptamos y volvemos a poner los datos con el nombre exactamente igual al anterior y con el numero que tenemos. Es necesario que te diga lo que sucedi? Bueno, te acabas de registrar manito! No mas pantallas al inicio, no mas self-extracts delatores ni naa. En realidad este es un CraCk muy sencillo y es muy raro encontrar este tipo de comparacin tan obvia en otro lado, pero siempre son muy parecidas. No seas tan lamer de utilizar mi nombre y numero de Serial porque en ese caso eres ms tonto de lo tu mismo crees y no mereces este archivo. Espero que mis pobres conocimientos te sirvan para algo y entiendas los pasos y el funcionamiento de este CraCk.

Dios salve a +OrC, el amo mximo del CraCk.

Escrito por GiBa. Ezkracho Team