elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Monitorear proceso hijo y saber cuando llama a una función específica.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Monitorear proceso hijo y saber cuando llama a una función específica.  (Leído 2,494 veces)
carlosclanguagedev

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Monitorear proceso hijo y saber cuando llama a una función específica.
« en: 14 Mayo 2013, 19:32 pm »

Hola quisiera saber si es posible hacer lo siguiente.

Actualmente hago lo siguiente en la aplicación.
Seteo en mi aplicación una variable de entorno.
Ejecuto otra aplicación como proceso hijo que hereda dicha variable de entorno.

El proceso hijo tiene la función getContent() que obtiene el valor de dicha variable de entorno.

Lo que quiero hacer es modificar el contenido de dicha variable desde el proceso padre justo cuando el proceso hijo llame a getContent.

Quiero ejecutar el proceso hijo en modo debug por así decirlo, poder monitorearlo, y cuando detecte que está llamando a la función getContent, injectarle el código para que setee en la variable de entorno el valor que yo desee.

Mi pregunta es si se puede, cómo puedo ejecutar el proceso hijo en modo monitoreo por decirlo de alguna manera?  y cómo saber desde el proceso padre cuando el puntero de ejecución del proceso hijo por así decirlo está en la entrada de una función específica.

Me encantaría poder aprender a hacer esto.


« Última modificación: 14 Mayo 2013, 19:37 pm por carlosclanguagedev » En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Monitorear proceso hijo y saber cuando llama a una función específica.
« Respuesta #1 en: 15 Mayo 2013, 16:35 pm »

ptrace() es lo que te hace falta.

Saludos.


En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
Arkangel_0x7C5


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: Monitorear proceso hijo y saber cuando llama a una función específica.
« Respuesta #2 en: 15 Mayo 2013, 22:44 pm »

Para estas cosas se suelen usar los hook(Ganchos)

Basicamente lo que se hace es localizar la direccion de la funcion que quieres enganchar y modificarla en tiempo de ejecucion para que salte a la funcion que tu necesites

Saludos
En línea

carlosclanguagedev

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Monitorear proceso hijo y saber cuando llama a una función específica.
« Respuesta #3 en: 16 Mayo 2013, 07:43 am »

Cómo podría hacer eso en windows más o menos Arkangel_0x7C5.
¿Podría detectar cuando el proceso hijo llame a la función GetEnvironmentVariable, y saber el parámetro que le está pasando???
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Atachearse a un proceso hijo de manera automática
Ingeniería Inversa
ukol 0 1,930 Último mensaje 26 Julio 2011, 20:47 pm
por ukol
como hacer que un proceso ejecutado por otro proceso no sea hijo
Programación General
z_ane_666 0 2,237 Último mensaje 8 Diciembre 2011, 02:36 am
por z_ane_666
como hacer que un proceso ejecutado por otro proceso no sea hijo
Programación C/C++
z_ane_666 2 3,821 Último mensaje 9 Diciembre 2011, 15:24 pm
por z_ane_666
proceso hijo en nueva terminal
Programación C/C++
Antiproton 1 1,816 Último mensaje 20 Octubre 2012, 22:39 pm
por marccamacho
Como Depurar un proceso hijo?
Ingeniería Inversa
Wd10 0 2,195 Último mensaje 29 Enero 2013, 19:41 pm
por Wd10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines