programita

Iniciado por ana6, 22 Mayo 2010, 06:45 AM

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

ana6

Hola LSL


bueno te cuento que creo que lo e echo bien y puedo decirte que anun no funciona en cuanto al tiempo sigue paranadose.


alos 7 minutos me pide que registre el dongle.


si tienes lo que has echo como comentastes que no tienes bluetooth mandamelo y lo pruebo con el mio aqui tengo 2.




ana

LSL

#31
los controles Timer (tiempo), cuando se producen en este programa ejecutan el evento TimerTimer, dentro de ese evento como puedes ver no tenemos ningun salto que evite el mensaje de registrar, asi que hay que buscar el salto antes de que se produzca el evento TimerTimer, para evitar este evento.

Una manera facil de pillar donde esta la call que llama al evento TimerTimer, es ver donde regresamos despues de terminar el RETN envento. Asi que pones un BP (con F2) en el Retn de salida del TimerTimer que está en 0065F35F, con esto paras el programa cuando corra en dicha linea de código, continuas traceando con F7, y cuando caigas en un código que justo en la linea anterior tengas una call, ese es el retorno de la call encargada de ejecutar el evento, asi que miras un poco mas arriba que tienes que tener una comprobación y un salto condicional que puede evitar la call que llama al evento timertimer.

Dime donde se encuentra esa call, y termino el minimanual que he comenzado.
Saludos.

LSL.

MCKSys Argentina

Tute! Tute! Tute!   ;D ;D ;D
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


LSL

;) pronto estará el tute, pero como ana6 está aprendiendo a hacer su primer debugging para arreglar fallos de programación, primero le he puesto solo las imágenes para que vaya interpretando que es lo que ven sus ojos, y que su imaginación vuele libre, ... :D.

Además para completarlo, como ana6 si tiene mochilas bluetooth nos tiene que decir con los datos que ya tiene, cual ó cuales son las call que inician el procedimiento "timertimer" una vez transcurre un tiempo de ejecución.

Saludos.

LSL.

ana6

#34
Hola LSL

Te comento que antes de 7E398A10 esta la call 7E398A0B




ana

LSL

en ese codigo, todavia estás fuera del codigo principal del programa, porque estás en el modulo USER32 (librerias de windows), tienes que seguir traceando pulsando F8 hasta volver a caer en el modulo con el nombre del programa, fijate en la barra de titulo del Olly que te informa en que modulo estás.
En esa posición actual dentro del USER32, si pulsas Alt+F9 el olly debe parar al volver al modulo desde donde se llamó a la call principal.
Saludos.

LSL.

LSL

Saludos.

LSL.

ana6

#37


esta es la call

LSL

Ahi estas dentro del procedimiento "HandleMessage", en ese momento continuas con F8 hasta pasar el Retn de 004FFF70 y despues segun la ventana del Stack, vas a retornar a 0050028A y a su salida retornaras a 0066BEDC (en las dos call anteriores a estas direcciones de retorno se llama al procedimiento "run" que es muy comun durante todo el proceso del ejecutable, por lo que creo que si sigues por ahi vas a terner que tracear muchos bucles hasta volver a continuación de la call que ejecutó el procedimiento "timertimer" que es el que te muestra el mensaje de regristrar.

Asi que vamos a centrarnos en los datos que nos da olly cuando tengamos parado el programa en el comienzo del procedimiento TimerTimer, pones un BreakPoint con F2, en 0065F25C.
Cuando este ahí parado, fijate en el registro ESP, y en su puntero del Stack, que te dirá la dirección de Retorno, (fijate en la imagen que puse antes de ejemplo).


Saludos.

LSL.

ana6