--

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" ;-)