--

ESTUDIO COLECTIVO DE DESPROTECCIONES
WKT Tutorialz Site
WKT
progrAmA Submission Wizard 4 W95
DEsCripCi≤n Programa para Promoci≤n de pßginas web.
tipo Shareware
protECCi≤n Lφmite de 30 dφas de uso, con opci≤n para registrarse.
DiFiCultAD 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
hErrAmiEntAs SoftIce 3.22
CrACkEr Mr.Brown
FEChA Julio de 1998

Introducci≤n
Hay una opci≤n para registrarse, en donde hay que introducir s≤lo la clave, pero no ning·n nombre.
Pero la clave debe calcularla en funci≤n de "algo"(normalmente es el nombre), lo cual no he rastreado. O puede ser alg·n valor del registro, .....

El objetivo serß conseguir una clave vßlida que nos permita registrarnos correctamente.

De todas maneras, por el tipo de programa que es (da de alta webs en buscadores), puede que los fabricantes de este software hagan alg·n tipo de comprobaci≤n al conectar con ellos.
Tan s≤lo, que lo sepas, y tu sabrßs si corres el riesgo... ;-)

Por mi parte, me interesaba esta desprotecci≤n ya que el programa estß hecho en Visual Basic 5, y tenφa curiosidad en ver como se podφa hacer, ya que estos pgms se basan en las llamadas a la DLL del V.Basic, lo que los hace mßs engorrosos de seguir.

Al Atake
Arrancar el Pc con el SoftIce 3.22, con el fichero WinIce.Dat debidamente configurado. (Ver "Introducci≤n al SoftIce" en la secci≤n de Documentos GenΘricos para mßs informaci≤n)

Por ser un programa de V.Basic5, debemos tener tambiΘn en el WinIce.Dat :
EXP=c:\windows\system\msvbvm50.dll
(Ver "Visual Basic5 con SoftIce" en la secci≤n de Documentos GenΘricos para mßs informaci≤n)

La idea es tan simple que no tenφa muy claro si funcionarφa, pero ha ido biΘn. ;-DDD

Si despuΘs de introducir una clave, nos dice si es correcta o no, entonces es que la compara con alg·n otro valor.
Si podemos ver los dos valores que compara, y uno es la clave que nosotros hemos escrito, pues el otro es la clave correcta.
Si no encontraramos nuestra clave, serφa porque ha sido encriptada, pero no es el caso para este programa.

Asφ pues, nos interesa interceptar el programa en cuanto haga esa comprobaci≤n de la clave. (PeroGrullo Rulez ;-)
Lo primero que se me ocurre despuΘs de echarle un vistazo a las funciones de msvbvm50.dll, es probar con un BreakPoint para __vbaStrCmp

O sea, pasito a pasito tenemos :
Ejecutamos el Submission Wizard, vamos a la pantalla de registro y ponemos una clave cualquiera (Ej:ECD IntroCracking)
Ctrl+D para ir al SoftIce, y ponemos el BreakPoint con BPX __vbastrcmp (ojo, que hay dos subrallados delante de vba)
Ctrl+D para volver al Submission W., y le damos al bot≤n "Save Registration Key".

Ok, el BPX hace efecto, y nos hallamos en el c≤digo de la msvbvm50.dll.
Con F12 se llega al c≤digo del SubWiz4w, en 137:48F5A9
Unas linias mßs arriba hay unos push con los parßmetros para llamar a __vbaStrCmp.

  0137:0048F59B  mov     ebx, [MSVBVM50!__vbaStrCmp]
  0137:0048F5A1  push    eax
  0137:0048F5A2  push    43ADE8
  0137:0048F5A7  call    ebx    
Asφ que pongo un BreakPoint antes de que se produzca la llamada a la funci≤n que compara.
(doble click en 137:48F59B, o BPX 137:48F59B)
El BreakPoint anterior ya se puede desactivar (BD 0) si todavφa no lo habΘis hecho.

Ctrl+D para seguir la ejecuci≤n del programa, y nos dice que registration invalid,
Como ya tenemos puesto un BreakPoint, le volvemos a dar al bot≤n "Save Registration Key".

Estaremos en el SoftIce en :48F59B, y ahora sφ localizamos facilmente los valores a comparar.
Uno estß en EAX, y el otro en 43ADE8. (Antes tambiΘn los hubieramos podido encontrar, pero asφ se ve mßs claro).
Con D EAX vemos la primera cadena. Son los 2 primeros caracteres de la clave que hemos puesto.
Mientras que con D 43ADE8 vemos los 2 primeros con los que compara. (Mmmmm ;-)

Como somos un poco mal pensados, apuntamos en un papel las letras que se ven en :43ADE8
En mi caso hay 9 letras(todas en may·sculas) separadas por puntos(.) repartidas desde :43ADE8 hasta :43AE17
Quitamos los BreakPoints (BD *), y seguimos ejecutando (G).

Otra vez en la pantalla de Registro, aunque esta vez ya serß la ·ltima. ;-)
Ponemos la clave que nos hemos apuntado, y nos dirß "Thank you for registering...."

Como supongo que la clave debe variar seg·n el ordenador, no creo que sirva de nada que dΘ la que a mi me ha salido.
Asφ pues si estßs interesado, recuerda aquello de ...."El movimiento se demuestra andando" ;-)



[ 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 ]