Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ver peticiones a un programa Dos que recibe desde otro.

Estas en el tema de Ver peticiones a un programa Dos que recibe desde otro. en el foro de C/C++ en Foros del Web. Hola a todos, tengo un programa que funciona en DOS, que es llamado por otro progamado en c++. Lo que quisiera es poder ver qué ...
  #1 (permalink)  
Antiguo 29/09/2012, 18:26
Avatar de Etherman  
Fecha de Ingreso: abril-2011
Mensajes: 93
Antigüedad: 13 años
Puntos: 2
Ver peticiones a un programa Dos que recibe desde otro.

Hola a todos, tengo un programa que funciona en DOS, que es llamado por otro progamado en c++.
Lo que quisiera es poder ver qué información envía este al que funciona en dos.
¿Cómo podría guardar estas peticiones en un simple txt con fecha?
Un saludo.
  #2 (permalink)  
Antiguo 12/10/2012, 18:09
Avatar de Etherman  
Fecha de Ingreso: abril-2011
Mensajes: 93
Antigüedad: 13 años
Puntos: 2
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

Se me ocurre que se podría crear un exe que sustituyese el original y que guardase las peticiones en un txt.
¿Que os parece?
  #3 (permalink)  
Antiguo 12/10/2012, 20:05
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

Mmm, no se como trabajan esas cosas, deberias investigar sobre la libreria windows.h y comenzar a renegar con las api´s del sistema, se hara con un hook o algo por el estilo (es decir algo que dice que pasa por un lugar, o algo asi, explicado en pocas palabras).
__________________
Mi pagina Web: http://www.actiweb.es/simplecreations/
Desarrollo de Juegos para PC en 2D
  #4 (permalink)  
Antiguo 13/10/2012, 06:58
Avatar de Etherman  
Fecha de Ingreso: abril-2011
Mensajes: 93
Antigüedad: 13 años
Puntos: 2
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

Debe de existir una solución más sencilla, además que mis conocimientos son muy pobres. Posteo aquí la duda, pero no sé si es aquí donde tiene que estar.
Simplemente poder monitorizar, o guardar la petición que se hace al programa. .exe
Podría reemplazar el ejecutable por otro que sea capaz de guardar cualquier cosa que se le envíe, para posteriormente renombrarlo con el mismo nombre que el original, y que este haga de "chivato". Guardando la peticion en un txt. (por decir algo)
Pienso que podría exista algún programa comercial capaz de hacer cosa tan útil.
No tengo la menor idea de si se puede hacer esta especie de ingeniería inversa. Sólo estoy teorizando.
  #5 (permalink)  
Antiguo 13/10/2012, 08:15
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

"...Debe de existir una solución más sencilla..."

No, no hay solucion sencilla; lo que tu llamas programas bajo win se llaman procesos, puedes consultar una lista de procesos hasta dar con el que lleva el nombre de proceso (o tambien la ruta) del 'programa' que quieres monitorizar (esto se usa normalmente para evitar dobles ejecuciones de una misma aplicacion, p.ej. puedes abrir varias instancias del bloc de notas pero solo una del wmp), cuando ya tienes el identificador del proceso puedes acceder a datos como el identificador del proceso que inició este otro, flags de depuración, identificador de sesion, y los argumentos de la linea de comandos que es lo que estas buscando

harryarcoiris: tampoco es necesario usar hooks: los hooks se usan para datos generados al momento (entradas por teclado, mouse, los sniffers de red tambien son una especie de hook), pero los datos de un proceso se guardan a parte y son accesibles mientras ese está activo (observa que en cualquier momento de una aplicacion puedes consultar los argumentos de inicio, por eso tienen que estar en algun sitio). Podrias crear un hook para recibir notificaciones de ejecucion (WH_SHELL) y (supongo no lo he probado) de ahi sacar identificadores de proceso y de ese acceder a los datos

Seguramente hay por ahi algo ya echo, y no es cuestion de malware ni nada de eso. De echo es muy probable que ya tengas instalado un programa que lo hace, se llama administrador de tareas :) , en la pestaña de procesos vas al menu de opciones ver columnas, y activas linea de comandos.

Saludos
vosk
  #6 (permalink)  
Antiguo 13/10/2012, 08:34
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

no pude activar lo de lineas de comandos. Pero puse todas las posibles opciones, ahora tengo mucha mas informacion de lo que pasa en cada proceso.

Gracias, vosk!
__________________
Mi pagina Web: http://www.actiweb.es/simplecreations/
Desarrollo de Juegos para PC en 2D
  #7 (permalink)  
Antiguo 13/10/2012, 09:06
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

Gracias a ti por tener en cuenta mi comentario

En el taskmgr seleccionas la pestaña de procesos, luego vas al menu ver / seleccionar columnas / linea de comandos; lo estoy probando en windows 7, a lo mejor las opciones del taskmgr varian en diferentes versiones de windows

Saludos
vosk
  #8 (permalink)  
Antiguo 13/10/2012, 12:22
Avatar de Etherman  
Fecha de Ingreso: abril-2011
Mensajes: 93
Antigüedad: 13 años
Puntos: 2
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

Hola vosk, me gustaron tus respuestas, estuve mirando y claro, no veo nada, supongo que no sale reflejada la linea de comandos ni el programa, ya que se ejecuta en cuestión de microsegundos. ¿hay algo que se pueda hacer?
Un saludo.
  #9 (permalink)  
Antiguo 13/10/2012, 16:33
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

Ok ahora te entiendo, lo que te he comentado no sirve porque no sabes el momento en que se ejecuta (si estuviese corriendo p.ej. 1 minuto ya sería otra cosa). Creo que la solucion pasa por los hooks que te comentó harryarcoiris para saber cuando se ejecuta la aplicacion, y luego recuperas los datos del proceso.

Para recuperar los datos del proceso puedes ver un ejemplo completo y la explicacion de lo que hace cada cosa en esta web: http://wj32.wordpress.com/2009/01/24...-of-processes/

Y para los hooks tampoco deberias tener problemas para encontrar algun ejemplo en google o donde quieras. Todo esto no es cosa fácil, suerte con ello.

Obviamente puedes crear una aplicacion de multiprocesos con bucles inutiles o abrir todas las aplicaciones que se te ocurran para relentizar al maximo tu equipo y que la ejecucion del proceso que quieres monitorizar sea lo mas larga posible, pero es una solucion poco elegante, mejor que no lo hagas.

Saludos
vosk
  #10 (permalink)  
Antiguo 14/10/2012, 13:45
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: Ver peticiones a un programa Dos que recibe desde otro.

Cita:
Obviamente puedes crear una aplicacion de multiprocesos con bucles inutiles o abrir todas las aplicaciones que se te ocurran para relentizar al maximo tu equipo y que la ejecucion del proceso que quieres monitorizar sea lo mas larga posible, pero es una solucion poco elegante, mejor que no lo hagas.
No, es un poco arcaico, jajaja.

Che, y que es lo que hace tu programa, tal vez asi encontremos alguna forma mas facil de darnos cuenta como hacerlo.
__________________
Mi pagina Web: http://www.actiweb.es/simplecreations/
Desarrollo de Juegos para PC en 2D

Etiquetas: fuente, msdos, peticiones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:01.