Ayuda en Ollydbg

Iniciado por keydisk1972, 3 Octubre 2012, 23:03 PM

0 Miembros y 2 Visitantes están viendo este tema.

keydisk1972

Buenas noches,
Les agradecería a las personas que manejan y conocen como funciona el Ollydbg, como hacer para colocar un breakpoint en un programa exe que es llamado por otro.
Les cuento el programa principal, que es un exe creado en visual basic 6, llama a otro ejecutable, también realizado en visual basic 6, el cual tiene las subrutinas de comprobación del serial, y no se como colocar un breakpoint para tracear dicho programa llamado y que es el que comprueba el serial.
Un saludo y gracias por su ayuda.

karmany

Es que depende. Por ejemplo el primer programa puede que esté depurando al segundo.

¿Se puede ejecutar individualmente el segundo o es necesario siempre ejecutar el primero?

jEUDi17

Bueno de cualquier forma, si este "el programa" llama a otro porgrama para hacer la comprobracion de el serial.

Se me parece a un crackme que logre, pero fue demasiado.

Pero este no llama a otro, si no a una DLL.

Para mi fue un dolor de cabeza.

Bueno tambien puedes investigar primero con un "w32dasm" Creo yo?

Estaba viendo un programa en Borland C++ que llamaba a "ProgramaDAT.exe"

Para comprobar que la aplicacion que esta siendo modificada, no este abierta mas de 1 vez.


Porque no recolectas datos, por ejemplo tracea un poco con Ollydbg

asta donde te ejecuta la otra aplicacion para comprobar el serial.

Creo yo, no obligadamente tiene que ser un BP.

Puesdes usar "Memory-Map" y buscar el serial malo "123AB" y poner un BPM on access.

Bueno la verdad si pasaras el programa o talvez algo.

Para intentar o averiguar que hacer.

Saludos y hasta luego.

Dios te bendiga!
En paz me acostaré y asimismo dormiré; Porque sólo tú, Señor, me haces vivir confiado.


keydisk1972

El programa llamado es un exe, no un dll, y debe llamarlo el programa principal ya que la ventana y textos que me aparecen cuando escribo un serial erroneo se encuentran en las strings del programa llamado, además de encontrarme en el subrutinas con nombres curiosos como validarlic, comprobarlic, y por el estilo.
Claro con el Ollydbg, puedo seguir el programa principal pero cuando llama a este lo ejecuta de golpe y no puedo ver que hace en su interior.
Les agradecería si me pueden dar una pista de como parar en el ejecutable llamado para tracearlo, y ver que hace con los datos que le debe pasar el programa principal.
El ejecutable secundario que se denomina SVRPCJ.EXE, no hace nada por él mismo cuando lo ejecutas.
Gracias por vuestra ayuda.

MCKSys Argentina

Cuando el programa esta por ejecutar el segundo (fijate si lo hace usando CreateProcess o ShellExecute), lo paras con un BP, miras la linea de comandos, abres otro olly con esa misma linea de comandos y haces que el primero saltee la ejecucion del otro exe (fijate que api usa y en base a eso que debes hacer para que continue la ejecucion) y listo.

Deberas mirar el segundo EXE para ver donde realiza las comparaciones y la forma en que se comunica con el otro EXE (pipes, files, etc)

Saludos!
MCKSys Argentina

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


keydisk1972

Gracias por las respuestas, y en relación a la respuesta "abres otro olly con esa misma linea de comandos y haces que el primero saltee la ejecucion del otro exe", te agradecería que me pudieras recomendar un tuto donde se explica como hacer eso o si me puedes decir como se hace, ya que a esto no llego, ni se como hacerlo.
Gracias por la respuesta y un saludo.

MCKSys Argentina

Cita de: keydisk1972 en  7 Octubre 2012, 02:18 AM
te agradecería que me pudieras recomendar un tuto donde se explica como hacer eso o si me puedes decir como se hace

Recuerdo algunos tutoriales unpacking de safedisc y armadillo que te explican como hacer algo parecido a lo primero, pero es algo que sale con la experiencia.

Lo que debes hacer es analizar primero cómo ejecuta el segundo EXE.
Luego debes buscar la forma de hacer lo mismo (ejecutar el segundo EXE), pero bajo Olly.
Una vez hecho esto, el 2º EXE estará corriendo y podrás examinar la comunicacion de ambos con el fin de determinar la rutina de registracion.

El cómo hacer estas cosas debes descubrirlas por experiencia propia, pues depende MUCHO de cómo esté implementado todo el mecanismo.

Además, de esta forma, aprenderás 100 veces más que cualquier tutorial que puedas leer...

Saludos!
MCKSys Argentina

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


keydisk1972

Les agradecería si me pueden dar otra pista de que es el pipe, y luego no encuentro las apis CreateProcess o ShellExecute, con lo cual existe otra manera de pasar datos al programa de registro? Gracias por sus repuestas.

MCKSys Argentina

Pipes: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365780(v=vs.85).aspx

Las 2 APIs no son para comunicarse, sino para ejecutar el segundo proceso...
MCKSys Argentina

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