Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: juan1970 en 10 Febrero 2014, 20:55 pm



Título: Ayuda programa
Publicado por: juan1970 en 10 Febrero 2014, 20:55 pm
Buenas a todos, aunque soy nuevo por aquí ya he realizado algunos trabajos leyendo los fantasticos manuales de navaja, pero quiero pediros ayuda sobre un programa que se me resiste.
El programa es original con licencia y todo en funcionamiento, el problema es que utilizo tarjetas para los clientes, he estado buscando con ollidbg el messagebox que me sale y no hay manera de encontrarlo. Mediante Reshacker he abierto una dll donde estan escritos todos los textos y allí si que sale.

Yo lo que quiero es hacer que aunque caduquen sigan funcionando las tarjetas. Con ollydbd lo unico que he conseguido ver es lo siguiente.



Haber si alguien sabe por donde seguir.
Gracias.


Título: Re: Ayuda programa
Publicado por: tincopasan en 11 Febrero 2014, 14:23 pm
lo primero que se me ocurre es que deberías seguir debuggeando hasta la linea BDABBA donde hay un salto jge después de la comparación, lo más probable es que el salto siempre tenga que realizarce, por lo cual lo podés reemplazar por un jmp y probar o si no tiene que realizarce cambiarlo por nop, eso sería a primera vista lo más fácil de probar


Título: Re: Ayuda programa
Publicado por: juan1970 en 12 Febrero 2014, 11:17 am
Gracias por tu consejo, pero haciendo eso me pasa igual, me salta el cartel de tarjeta caducada. Otra opción que estoy barajando es aumentar el tiempo para que caduque más tarde, es decir aumentar los dias, pero tampoco encuentro la cadena donde poder modificarlo.
Alguna sugerencia.


Título: Re: Ayuda programa
Publicado por: .:UND3R:. en 12 Febrero 2014, 14:58 pm
Tracear el programa, memory on execution al presionar registrar, análisar el código, no siempre antes de una referencia se debe invertir un salto y se soluciona el programa.


Título: Re: Ayuda programa
Publicado por: juan1970 en 12 Febrero 2014, 16:16 pm
No te entiendo muy bien.
He visto que hay varias referencias en las que compara las fechas, asi que no se si tendria que modificar todas o con solo la del aviso cuando pongo la tarjeta.
He realizado una prueba cambiando la fecha al 2020 del pc y haciendo una tarjeta nueva, luego he vuelto a poner la fecha correcta y en la ficha me sale la caducidad de la tarjeta para 2020, pero cuando la pongo en el lector me salta el cartelito de caducada.

El problema que tengo con olly es que no veo el mensaje de error en los string. Voy a explicar como funciona el programa, el programa arranca correctamente, tiene todas las funciones por que tiene su licencia. Este programa lleva un lector de tarjetas y el error me sale cuando introduzco una caducada, por lo que no se como parar el ollydbg en ese punto.


Título: Re: Ayuda programa
Publicado por: xaps en 13 Febrero 2014, 02:05 am
Ejecuta el programa y adjunta ollydbg al proceso y provoca que salga el mensaje de error. En ese momento deberías ver algún tipo de retorno en la pila de la llamada al msgbox. Puedes empezar por ahí.


Título: Re: Ayuda programa
Publicado por: juan1970 en 13 Febrero 2014, 10:39 am
Ejecuta el programa y adjunta ollydbg al proceso y provoca que salga el mensaje de error. En ese momento deberías ver algún tipo de retorno en la pila de la llamada al msgbox. Puedes empezar por ahí.

Me puedes explicar un poco como hacer eso de adjuntar ollydbg al proceso?


Título: Re: Ayuda programa
Publicado por: xaps en 13 Febrero 2014, 11:12 am
Me puedes explicar un poco como hacer eso de adjuntar ollydbg al proceso?
File/Attach...


Título: Re: Ayuda programa
Publicado por: juan1970 en 13 Febrero 2014, 12:06 pm
Gracias xaps.

Entonces primero ejecuto el programa y una vez abierto abro el ollydbg y abro mediante attach el programa en cuestión, pero ahi me quedo ya no se como hacer que salte el mensaje por que al estar abierto con ollidbg no puedo abrir la ventana del programa, me falta hacer algo?

gracias de nuevo.


Título: Re: Ayuda programa
Publicado por: juan1970 en 13 Febrero 2014, 12:50 pm
Haber si ayuda esto, he encontrado la dll donde esta el texto que sale cuando pongo las tarjetas caducadas, es esta.




Título: Re: Ayuda programa
Publicado por: .:UND3R:. en 13 Febrero 2014, 14:53 pm
Eso es un resource (.rc) eso no servirá de nada, entiende no todo es buscar un texto y listo, debes hacer un atach y poner un on execution, tal como te comenta otro usuario.

Si hubieras leido ricardo narvaja es decir el FAQ!!!!!!!!!!!!
Te darías cuenta que están preguntado algo muy sencillo, lo cual demuestra tu desinterés y solo deja en tela tu lucrocidad frente a este software, personalmente aunque no sepa mucho NO te ayudaré.


Título: Re: Ayuda programa
Publicado por: juan1970 en 13 Febrero 2014, 15:41 pm
Eso es un resource (.rc) eso no servirá de nada, entiende no todo es buscar un texto y listo, debes hacer un atach y poner un on execution, tal como te comenta otro usuario.

Si hubieras leido ricardo narvaja es decir el FAQ!!!!!!!!!!!!
Te darías cuenta que están preguntado algo muy sencillo, lo cual demuestra tu desinterés y solo deja en tela tu lucrocidad frente a este software, personalmente aunque no sepa mucho NO te ayudaré.

Si que me he leido el FAQ, pero todo lo que he probado no he conseguido descubrir nada, escribo aquí preguntando a gente con más experiencia por si se me escapa algo que yo no se ver.
El programa es mio en propiedad por que he pagado por él pero me gusta saber por que tiene ciertas partes capadas.
Si NO quieres ayudarme estas en tu derecho, pero como moderador tendrias que tener un poco más de respeto sobre la gente que escribe en este foro pidiendo ayuda o consejo.

Gracias.


Título: Re: Ayuda programa
Publicado por: .:UND3R:. en 14 Febrero 2014, 02:03 am
Concuerdo contigo por eso mismo nunca he querido ofenderte o he querido cerrar el post, solo demuestra más esfuerzo, en ricardo narvaja (tuto), está todo bien explicada tu duda, saludos y suerte


Título: Re: Ayuda programa
Publicado por: juan1970 en 16 Febrero 2014, 21:46 pm
No lo puse en el primer mensaje pero el programa esta hecho con VB6.
He intentado abrirlo con smartcheck pero me da error. Sigo con ollydbg y los manuales de COCO, pero sigo atascado.


Título: Re: Ayuda programa
Publicado por: xaps en 17 Febrero 2014, 13:33 pm
Tutorial de ASM (MASM): http://win32assembly.programminghorizon.com/tutorials.html

Saludos


Título: Re: Ayuda programa
Publicado por: sasske en 18 Febrero 2014, 14:22 pm
Gracias xaps.

Entonces primero ejecuto el programa y una vez abierto abro el ollydbg y abro mediante attach el programa en cuestión, pero ahi me quedo ya no se como hacer que salte el mensaje por que al estar abierto con ollidbg no puedo abrir la ventana del programa, me falta hacer algo?

gracias de nuevo.

No me quiero meter con poca experiencia pero mi opiñon es:

Siguiendo con lo que dijo xaps, lo mejor seria abrir todo, antes de provocar la ventana abrir el ollydbg y luego seguir traceando(F8) hasta provocar la ventana de "error" y ahí sigues traceando hasta el RETN de esa ventana, y tiene que llevarte si o si abajo de donde se provoco que se tire la ventana, y tarde o temprano si seguís traceando, y si seguís mirando para arriba y entendes el código, a pesar de otras cosas que tal vez estén para marear, tiene que estar cerca la comprobación, o tal vez un par de RETN después esta la comprobación...

Espero haberte ayudado, S2

PD: Yo te aconsejo ir escribiendo todas las direcciones en un bloc de notas, y seguramente el programa tenga mas de 1 protección, así que, no saques el breackpoin de la MsgBoxA porque posiblemente una vez la ventana de error te lleve desde un tipo de comprobación, y luego te lleve desde otra, y tenes que sobrepasar todas!

Espero haberme explicado bien ^^ S2


Título: Re: Ayuda programa
Publicado por: juan1970 en 18 Febrero 2014, 17:16 pm
Gracias sasske.
He cargado el programa en olly y lo he echo correr, ha cargado correctamente, una vez en marcha, introduzco una tarjeta para que me salte el error y olly ma salta a esta pantalla.




Título: Re: Ayuda programa
Publicado por: .:UND3R:. en 18 Febrero 2014, 18:15 pm
Espera a que muestre el mensaje, luego antes de poner aceptar pone una Memory on Execution en la sección .code para que veas que operación realiza tras presionar el botón, con ello las instrucciones anteriores podrían indicar la bifurcación que genera la alerta, en caso contrario, intenta buscar referencias en el OEP, si no funciona, intenta llegar a un punto intermedio antes de mostrar la alerta, quizás en ese entonces de desofuscaron las Strings, otra manera es tomar como referencia una excepción, quizás desde ella puedes buscar referencias o poner BP, como dice apuramafo, las posibilidades son infinitas, al igual que la documentación, todo está en la creatividad y el tiempo que le dediques, saludos.


Título: Re: Ayuda programa
Publicado por: juan1970 en 20 Febrero 2014, 12:34 pm
Seguimos por aquí. Despues de realizar eso y pulsar boton me manda a esta dirección.


Veo varias llamadas y un par de saltos un jmp y un jge.
Por donde seguiriais.


Título: Re: Ayuda programa
Publicado por: sasske en 20 Febrero 2014, 15:34 pm
Seguimos por aquí. Despues de realizar eso y pulsar boton me manda a esta dirección.
[/URL]

Veo varias llamadas y un par de saltos un jmp y un jge.
Por donde seguiriais.

Tracea todos, y encontra con paciencia el que sea, aunque si, aveces es un poco de instinto, pero fijate, puede ser un call, adentro de otro call, adentro de otro que esta adentro de otro, asique tenes que tracear todo :P

S2


Título: Re: Ayuda programa
Publicado por: juan1970 en 20 Febrero 2014, 23:42 pm
Buenas a todos, aunque soy nuevo por aquí ya he realizado algunos trabajos leyendo los fantasticos manuales de navaja, pero quiero pediros ayuda sobre un programa que se me resiste.
El programa es original con licencia y todo en funcionamiento, el problema es que utilizo tarjetas magneticas para los clientes y estas caducan, he estado buscando con ollidbg el messagebox que me sale y no hay manera de encontrarlo. Mediante Reshacker he abierto una dll donde estan escritos todos los textos y allí si que sale.

Yo lo que quiero es hacer que aunque caduquen sigan funcionando las tarjetas. Con ollydbd lo unico que he conseguido ver es lo siguiente.



Donde compara las fechas y indica menor o igual a 0, pero ahí me pierdo.
Haber si alguien sabe por donde seguir.
Gracias.

Mirando esto queria haceros una pregunta, seria posible cambiar por un numero mayor? ese es el tiempo que tardan en caducar. toma el dato del primer dia de la tarjeta. Esto seria mas facil.


Título: Re: Ayuda programa
Publicado por: MCKSys Argentina en 21 Febrero 2014, 00:48 am
Si es posible, aunque tambien podrias cambiar el operador de comparacion para que siempre devuelva True...  ;)

Saludos!


Título: Re: Ayuda programa
Publicado por: juan1970 en 21 Febrero 2014, 11:36 am
Si es posible, aunque tambien podrias cambiar el operador de comparacion para que siempre devuelva True...  ;)

Saludos!

Lo he cambiado pero sigue igual, puede que tome el dato de otro sitio. Para cambiar el tema de los dias que dato tenia que buscar.

Gracias.


Título: Re: Ayuda programa
Publicado por: Gh057 en 21 Febrero 2014, 11:58 am
Hola juan1970, por favor fíjate en tu última respuesta, estás indicando que haz modificado el "dato" que no funciona y que lo puede tomar de otro lugar, cuando  lo que te indicó MCKSys Argentina es que modifiques la condición que compara dicho dato... hay una gran diferencia conceptual.

Por favor revisa nuevamente el tutorial ya que en él se explican de una manera muy gráfica los distintos operadores y como interactúan con los registros, también profundiza con el link brindado por xaps sobre ensamblador, no deberías tener mayores problemas con bypassear dicha sentencia, modificarla como te indicaron o bien buscar en donde decrementa...  en fin hay muchas maneras de realizarlo. Saludos.   


Título: Re: Ayuda programa
Publicado por: juan1970 en 21 Febrero 2014, 12:27 pm
Gracias Gh057.
El problema es que no veo donde realiza la comparación, lo que he hecho es cambiar un salto que hay más arriba.
Soy bastante nuevo en esto, he realizado algunos faciles, pero este no se por donde cojerlo. He mirado muchos ejemplos, pero casi todos consisten en buscar seriales.
Este al estar en VB6 me desconcierta un poco.
Para gente esperta como vosotros esto debe ser facil de hacer, pero para gente inexperta hay conceptor que  :rolleyes:
Que seria más facil, esto o modificar el dato para que tarden más en caducar?

Gracias a todos, seguire con esto haber si saco algo en claro.


Título: Re: Ayuda programa
Publicado por: Gh057 en 21 Febrero 2014, 12:55 pm
y... es cuestión de gustos! depende hasta donde entiendes y que es lo primero que encuentras... entiende que extender la caducidad es eso, estirar el problema; eliminar dicho control sería lo ideal. Sigue por favor los consejos y sobre todo las indicaciones de .:UND3R:.,  el tutorial de ricardo narvaja al inicio del foro es excelente, empieza de nuevo ya que necesitas reafirmar conceptos.

hoy en día la aplicación de un debugger sobre ingeniería inversa puede darte un gran avanze en la curva de aprendizaje, pero debes leer y fijar lo básico sino estás cayendo en el facilismo que te permitirá a corto plazo seudo-progresar, pero a la larga terminarás estancándote. saludos.


Título: Re: Ayuda programa
Publicado por: juan1970 en 7 Marzo 2014, 11:32 am
Bueno después de mucho mirar y mirar, lo he conseguido. Gracias a todos.
Lo único que tenia que hacer era cambiar el salto a otra dirección después del mensaje, lo tenía delante de los ojos y no he sabido verlo. Gracias de nuevo.


Título: Re: Ayuda programa
Publicado por: Gh057 en 7 Marzo 2014, 11:47 am
excelente me alegro juan1970 jejeej ese es el punto; cambiar el enfoque y volver a mirar. saludos!


Título: Re: Ayuda programa
Publicado por: .:UND3R:. en 7 Marzo 2014, 16:10 pm
No me había percatado que se había logrado, muy bien mis felicitaciones :)


Título: Re: Ayuda programa
Publicado por: sasske en 7 Marzo 2014, 18:32 pm
Bueno después de mucho mirar y mirar, lo he conseguido. Gracias a todos.
Lo único que tenia que hacer era cambiar el salto a otra dirección después del mensaje, lo tenía delante de los ojos y no he sabido verlo. Gracias de nuevo.


Suerte para tus futuros cracks :p

S2


Título: Re: Ayuda programa
Publicado por: juan1970 en 7 Marzo 2014, 19:43 pm
Gracias de nuevo.