Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: olevlove en 26 Abril 2010, 19:00 pm



Título: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: olevlove en 26 Abril 2010, 19:00 pm
Hola,
Perdona mi atrevimiento, pero es que estoy desesperado.

He estado intentando crackear un programa en VB pero soy muy negado.
Pensé que era facil pero no hay manera.
La aplicación en sí sólo funciona 15 minutos, luego la aplicación se cierra automáticamente.
Quisiera saber donde demonios puedo poner en vez de 15 minutos a 100000000 minutos.

En los textos encontré donde se finaliza el programa poniendo en msgbox "Time limit for demo...blabla"
Cambio este valor por NOOPs (en la parte del msgbox) y no me aparece el mensaje pero me sale del programa.
Se que este programa después del msgbox lee un fichero .bin y escribe un valor en el mismo y luego se cierra el programa. (Esto del fichero bin da igual no me importa. No es problematico)

Resumen: No se como decir que pare (Stop) el programa o que vuelva a algun sitio cuando se acaba el tiempo.

Otra opción que he barajado era la de poner mas minutos pero no encuentro donde está ese contador.
¿Puedes ayudarme?

¿Si fuera posible, pudieras realizar un tutorial para los casos que funcionan sólo x minutos?

El fichero exe es este:
http://www.megaupload.com/?d=DVTSZFSO


Muchas gracias de antemano.
Un saludo


Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: MCKSys Argentina en 26 Abril 2010, 21:56 pm
A ver si te podemos dar una mano...

PD: Para la próxima, basta con que postees aquí. No hagas spam en los privados...  :P


Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: MCKSys Argentina en 26 Abril 2010, 23:03 pm
Prueba cambiar los siguientes bytes con un editor Hexa:

Buscar:
Código:
66 83 3D 80 04 52 00 00 0F 84 C7 00 00 00

Reemplazar por:
Código:
66 C7 05 80 04 52 00 FF FF 90 90 90 90 90

Asegúrate de hacer una copia de seguridad del original antes!  ;)

Saludos!

PD: Ah! Con ese parche ya debería andar, pero si quieres ampliar los minutos, usa VBReformer. En el form frmMainClient, aumenta el valor de la propiedad Interval del timer tmReg. Esos son milisegundos, así que, como está, demora 4 segundos en disparar el evento que cuenta...


Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: olevlove en 26 Abril 2010, 23:30 pm

En breve pruebo el tema, ya que hay que esperar esos 15 min.
¿Puedes decirme como has llegado a esa conclusion?
Se que el tiempo es oro, pero
¿puedes darme un minitutorial para yo realizarlo en las proximas versiones?

Muchas Gracias, y perdona por las molestias.



Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: MCKSys Argentina en 26 Abril 2010, 23:42 pm
El EXE no está protegido, así que si lo abres con VBDecompiler verás el código. Yo lo he usado sólo pasa saber dónde empiezan los eventos de proggie, y así poder ubicarlos en Olly.

De todas formas, si buscas en Olly la cadena que te muestra cuando expira, ubicarás rápidamente la rutina que hace el trabajo sucio.

Fíjate que todo el asunto es sólo para poner una variable en TRUE. La variable es: 520480

Busca las referencias y lo verás...

Saludos!


Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: olevlove en 27 Abril 2010, 00:25 am
Hola de nuevo.
Funciona perfectamente. Parece mas fácil de lo que pensaba.
Voy a investigar un poco...
Muchiiisimas gracias
Un saludo y perdona por las molestias.




Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: MCKSys Argentina en 27 Abril 2010, 00:26 am
No hay por donde...  :xD


Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: olevlove en 27 Abril 2010, 02:09 am
Perdona de nuevo,
Con el editor Hexadecimal realicé este cambio y funcionó perfectamente.

Estoy intentando hacerlo yo con tus respuestas, y tengo este problemilla:
Dices que la variable es: 520480
Es correcto la encuentro en el OLLY y el VBdecompiler.
Y veo la comparacion en el OLLY: CMP WORD PTR DS:[520480],BX

Problema:
No se donde cambiar la variable, para que salte esa comparacion.
Y tampoco sé como hacer
66 83 3D 80 04 52 00 00 0F 84 C7 00 00 00
por
66 C7 05 80 04 52 00 FF FF 90 90 90 90 90

Perdona si estoy preguntando tonterias.
Un saludo.


Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: MCKSys Argentina en 27 Abril 2010, 02:58 am
Lo que está cambiando el parche, está en 4D0CB0. Pon un BP ahi, cuando Olly pare, reemplaza los bytes que te dije y verás cómo funciona el parche...  ;)

Saludos!


Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: olevlove en 27 Abril 2010, 20:26 pm
Conseguido. Ya entendí todo el proceso.

Bueno esta era la version antigua 8.5.2
Voy a intentarlo con la Nueva version que han sacado 8.5.3

Muchas gracias espero conseguirlo con la Nueva Version.

Mil gracias y de verdad perdona si te he molestado.

Un saludo


Título: Re: Ayuda programa en VB que solo funciona 15 minutos y quiero que dure infinito.
Publicado por: MCKSys Argentina en 27 Abril 2010, 22:28 pm
Una vez mas: No hay por dónde...  :xD :xD :xD

Saludos y Suerte!