Crackear programas con proteccion

Iniciado por nutriax, 23 Marzo 2009, 15:44 PM

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

nutriax

Hola, soy nuevo en el foro pero llevo bastante tiempo consultandolo y esta buenisimo...  :D
mas de una ves me saco del agua...
pero ahora estoy tratando de crackear un programa (logicamente con fienes academicos)... el programa es el **** *.** y me tope que cuando lo ponia en el olludbg (el .exe) se abria y se me cerraba, por lo cual me puse a investigar y lei que es por la proteciones que tiene que me detecta el debuger o el ollydbg.
paso siguiente me instale los siguientes plugins...
HideDebugger v1.23f
IsDebug&ExtraHide
HideDBG 
recomendados por pERICOTE
y puse a andar el exe en el ollydbg y vuolaaaa!!! no se cierra mas....  :o ;-)
dije bueno un problema menos... ahora seguimos a ver donde esta el cartelito que me dice "The key is ...." (segui participando!!!) cada ves que ingreso el serial.
pero pare la con f12 la corrida del programa y se paro en cualquier lado, por lo que asocio que o bien debe tener alguna proteccion o debe llamar a una libreria para comprobar el serial...  :¬¬ hice los mil y un intentos de encontrar el fuckin cartelito pero no hay forma... tambien probe con "search for" -> "all text references" pero nada ni aparece.
tambien busque sobre los programas para determinar que tipo de proteccion tiene pero no encontre... como se sabe si un programa tiene o no proteccion??? alguien me ayuda porque soy novato y con muchas ganas de aprender!!!
desde ya muchas gracias!!!

nutriax

tambien me olvide de decir que lo pase por el PEiD y me dice Nothing found * (se que el programa esta echo en visual c++).

nutriax

Aunque este solo como loco malo voy a postear los avances!!!  :laugh:
pude parar en donde me aparece el mensaje y es mas hasta pude cambiar que me aparezca el mensaje bueno cuando la clave es mala!!! pero no puedo cambiar el maldito salto que compara la real con la ingresada (por que no lo encuentro!!!)
dejo una foto de donde aparece el mensaje.

Imagenhttp://img211.imageshack.us/img211/1425/saltomensajemalo.png

OberonCracker

Parece interesante el tipo de proteccion que refieres. Realmente me gustaria probarlo con fines exclusivamente educacionales. A ver si nos das una direccion de donde bajarlo.

nutriax

Hola oberon!!! aca te dejo el link http://www.handheld-basic.com/dl_try.php de ahi bajas la ultima version que es la que tengo yo!.
te comento que avanze bastante!, como dije antes 1~ hay que poner todas las protecciones para que no reconozca el debuger, 2~ no se puede buscar el mensaje que nos dice que la clave es erronea, porque no guarda el string como constante!, intente ver como lo guarda pero no hay forma, no entiendo de donde lo saca a ese string, 3~ el numero de serie que genera lo genera para la maquina propia por lo que se fija en un millon de cosas como micro, sistema operativo, user, etc, etc, etc. 4~ lo pase por el PEiD y me dice que es desconocido, no se por que...
5~ llege a conseguir por donde mas o menos empieza a realizar los calculos para comprobar el serial, esto lo logre pensando que en algun momento que tengo lebantado el programa este lee el serial que genero de la memoria, por lo que lo busque en que parte estaba de la memoria y puse un bp para cuando accede a esa parte de la memoria, lo corri y vualaaaa!!!! encontre unas direcciones interesantes, estas empiezan a corroborar si numero de serie generado contiene caracteres legales, y hace cosas raras!, lo que no pude encontrar es en dodne mete y que proceso le realiza al serial que meti yo!! ya encontrando eso me faltaria serguir algunos pasos mas y despues negar el salto, pero no lo puedo sacar....
otra cosa veo que a las direcciones es como que las genera para realizar saltos!, esto me mato!!!
si les interesa aca les paso la direccion donde empieza a jugar con el serial generado!!!!
0045a6d8
espero que lo podamos descular a esto que esta interesante!!!  :¬¬

nutriax

Perdon me confundi la direccion que puse antes es de cuando lee la memoria cuando abre la ventana pero la direccion por la que pasa cuando hacemos click en aceptar es 0044560b

KJD

#6
Este programa lo necesitas para ti o es para practicar???

Lo mas sencillo, provaste cambiar el salto en 0042E54E para que no salte???, creo que si lo cambias probablemente quede registrado.

Ahora si lo que quieres es sacar un serial valido analiza la rutina que trabaja con el serial intruducido, no creo que sea demasiado complej.
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"

"Keyboard not Found, press F1 To Continue" WTF???

nutriax

Hola, y gracias por ayudar...
1- Es para aprender, soy bastante novato para esto...
2- si lo cambie ese salto, pero si te fijas unicamente cambia el mensaje pero no lo registra, si uno sale y reinicia el programa no pasa nada (aparece la ventana que dice Copia de evaluacion) mientras que tendria que decir algo asi como version profesional o algo por el estilo...
por eso pido ayuda porque estoy desconcertado y no se como segui, porque llegue a ese punto.
ahora otra observacion que vi es que hay dos cadenas unicode que son constante y supongo que es a lo que se tiene que llegar luegos de procesar el serial ingresado, estas cadenas son: "4jaei508jtbunah414qub8166at" y "1024628340621757567" y si cambio el serial introducido no cambian estas cadenas... eso me parece muy raro, salvo que procese despues el serial ingresado y lo compare con alguna de estas dos.
ahora voy a hacer los pasos inversos para ver de donde modifica la direccion de memoria que despues compara en el salto.
Alguien sabe si se puede poner un breackpoint en una determinada direccion  de pila? cuando se escribe o lee?
gracias a todos por intentar ayudar.

KJD

Para eso estamos para ayudar.

Ok si no se registro es solo informativo los mensajes, para poner breakpoints en pila o memoria haces click derecho en la pociion de memoria, y le das a Hardware Breackpoint, y ahi tienes on write, acces, o execution.

Las cadenas constantes muchas veces con trampas para crackers, si pones alguna comos erial, el programa se traba aun mas.
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"

"Keyboard not Found, press F1 To Continue" WTF???

nutriax

hola KJD, si exactamente eso es lo que intentaba decir que los mensajes son solo informativo, y te comento que en la memoria poner el breakponit si anda (es mas asi es como lo hacia) pero en la pila no me da la opcion de bp.
que me aconsejas que haga para encontrar el vendito salto?