Intentando Crackear un Crackme

Iniciado por neuronm, 2 Noviembre 2009, 13:21 PM

0 Miembros y 1 Visitante están viendo este tema.

neuronm

Bueno, primero me presento ya que soy nuevo en esta comunidad,
me llamo Pedro, y estoy intentando crackear el software Magix Samplitude Music Studio 16 D-version.
Mi profesion es la composicion musical, concretamente bandas sonoras, asi que como se puede entender no tengo mucha idea sobre el crakeo.
He estado leyendo algunos tutoriales que he encontrado por la red, pero al final siempre me pasa lo mismo,- no me entero de la misa ni la mitad -.
Bien, solo se que el exe de dicho programa esta hecho EN Microsoft Visual C++ 6.0, por lo que dice el Peid. Despues intenté abrirlo con el w32dsm y no lo habre, asi que probé con el idapro, y si lo hace, aunque no se ve como se deberia,- creo -.
Bueno, no se si esto que he expuesto correspondera aqui, pero si alguien me pudiera hechar una mano, se lo agradeceria eternamente, y cuando digo una mano, no me refiero a que me faciliten el serial o el crack, sino a que me guien para hacerlo yo mismo.
Muchas gracias a quien me lea.

tena

pesa mucho el instalador, asi que te voy ayudar viendo los avances que tengas..

Primero que todo bajate el ollydbg

http://www.ollydbg.de/odbg110.zip

y abri ahi tu archivo ejecutable del prog....

Bueno segun lo que dice softonic es funcional por 7 dias

Limitaciones de la versión de prueba:
Funcional durante un periodo de 7 días

Dinos lo que te muestra al ejecutar el programa, si hay nags, si te pide que te registres, lo que te dice el cartelito cuando intentas registrarte, etc.. algo como para empezar.

slds

neuronm

Muchas gracias tena por contestar.
Procedamos; te muestro la captura de pantalla, cuando ejecuto el software ya instalado en el HD.

Bien, cuando abro el exe del samplitud ya instalado, con el Olly, este se detiene o mejor dicho se pausa sin haber presionado F9 en esta linea,

Y despues de presionar F9 se vuelvea a pausar en esta otra,

Como habras podido apreciar, en la primera imagen, pide un serial, pero no muestra ningun mensaje de error al insertar cualquier cifrado, ya que nos informa directamente que "No ha sido ingresado un numero de serie valido aun".
He podido abrir el exe con el w32dasm, y he buscado entre el texto dicho mensaje no apareciendo por ningus sitio.....
Tu me diras.

LSL

yo utilizo, para manejarme en windows el TotalCommander que es gestor de carpetas y archivos mucho mas potente que el explorador de windows.
El TotalCommander tiene muchas opciones añadidas que si las enfocamos al crackeo me sirven de ayuda, por ejemplo tiene el buscador clasico de archivos, pero tambien se puede buscar archivos que contengan un texto especifico, pudiendo seleccionar entre varios formatos de texto, ascii, unicode, hexadecimal, etc.
Bueno, pues aprovechando esta circunstancia, he buscado en la carpeta de instalacion el texto "No ha sido ingresado un número de serie válido aún", y me lo ha encontrado en el fichero UnlockDialog_ES.ini

IDS_VERSION_PROTECTION_UNLOCK_DLG_STATE_NO_VALID_SERIAL_NUMBER="No ha sido ingresado un número de serie válido aún."

que quiere decir esto, que el programa para su traduccion en varios idiomas, coge el texto original IDS_VERSION_PROTECTION_UNLOCK_DLG_STATE_NO_VALID_SERIAL_NUMBER y lo sustituye por el de "No ha sido ingresado un número de serie válido aún."

entonces ya sabemos que el text strings que tenemos que buscar en el programa es IDS_VERSION_PROTECTION_UNLOCK_DLG_STATE_NO_VALID_SERIAL_NUMBER
una vez localizamos con F2 le ponemos un breakpoint, para que el olly pare cuando lo seleccione. Cuando lo selecciona lo guarda en otra dirección de memoria, que normalmente es de donde luego lo utiliza por lo que en esa direccion donde ha sido movido le volvemos a poner un break point en access, a partir de hay vamos traceando con F8 ó control+F8 hasta que en algun CALL salte la ventana de registro, una vez salta en ese call ponemos otro breakpoint con F2 y reiniciamos el programa con Control+F2, pulsamos F9 y cuando para en ese call, entramos con F7 y volvemos a tracear con F8, asi vamos repitiendo la operación hasta llegar al ultimo call interno donde vemos que ahi es donde aparece la ventana de registro, en ese ultimo call o antes de llegar a el probamos con los saltos je, jne, etc. para ver en cual evitamos la nag y sigue corriendo el programa (si en vez de correr nos da un error o se cierra, probamos con otros saltos o a cambiar los valores de comparación). Si miramos las comparaciones que hacen saltar o no, puede que encontremos el lugar de la variable de memoria donde anota que el programa está registrado.
Saludos.

LSL.

tena

Ok, tambien podes poner un bp an la api GetPrivateProfileString
para ver cuando lee ese valor del parametro... y cuando lo escribe con WritePrivateProfileString...

slds

neuronm

Bien señores:
Ademas de que sigo regocijandome en mi ignorancia con vuestras respuestas, como ya dije, - me pierdo facilmente -.
Se que cuando arranco el exe en olly se pausa en una line y tras pulsar F9 se detiene en 7C812AEB   5E               POP ESI, aqui es en donde emerge la ventanita de registro.
Pues aunque he ido intentando hacer lo que explicabais, y no lo consigo, vi que en esta ultima linea que se detiene, que cuando hago clic con el boton derecho del raton y se despliega el menu de olly, elijo la opcion - go to - next -, me lleva hasta esta otra linea




Y mi pregunta es...¿ puede ser que se se asigne un serial, a cada software descargado, por el nombre que tenga el pc en donde se instala ?.
Si fuése asi, ¿ como se haya ?.
Siento muchisimo que os involucreis, y no os imaginais lo que me gustaria teneros cerquita de mi casa, os lo agradezco mucho.

neuronm

Como tengo algo de tiempo me he entretenido mirando en el registro de win, y me aparece esto




No se si servira de algo, pero por si acaso.

tena

Puede que al serial lo obtenga haciendo operaciones sobre el id del disco duro, para obtener ese dato usa la api GetVolumeInformationA.

slds

neuronm

seria mucho que me lo explicaras paso por paso, imagina que no tengo ni pajolera idea, - weno aunque esto ultimo si que es cierto -.

tena

Tiene un timer que controla el edit del serial, entonces si quieres intentar buscar el serial vete a la api SendMessageA, CTRL+G y ahi escribes el nombre de la api.

Al caer cliclea boton derecho y elige bp conditional log
en las opciones pon en condition MSG==WM_GETTEXT para que pare cuando obtiene lo que se escribe en el edit, tilda la opcion de que se pause sobre la condicion.

slds