Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: RayHack en 15 Marzo 2014, 16:41 pm



Título: [C++] ¿Como verifico si X archivo esta en curso y como terminarlo?
Publicado por: RayHack en 15 Marzo 2014, 16:41 pm
Buenas amigos quisiera una pequeña ayuda con una duda que tengo.

¿Como puedo saber si X .dll esta en curso?

Bueno estaba buscando información al respecto de esto pero no encuentro exactamente lo que busco, quiero verificar si hay X dll en curso y si es asi arrancar mi dll y cuando la X dll se cierre entonces la mia por igual.

PD: No necesito que me hagan el código si no que funciones se usarian, por ejemplo como verificar, ejecutar y terminar una dll.

Un saludo y muchas gracias.


Título: Re: [C++] ¿Como verifico si X archivo esta en curso y como terminarlo?
Publicado por: El Benjo en 15 Marzo 2014, 18:18 pm
Las Dll no se arrancan ni se destruyen sólo se transforman. XD

No, hablando en serio, una dll no está realmente en ejecución, debido a que éstas no poseen una función main. Que estén o no en memoria depende del sistema operativo, es decir, si tú necesitas una función dentro de la dll no debes preocuparte de si otra aplicación la está utilizando, la dll sólo se cargará en memoria una vez, independientemente de cuantas aplicaciones la estén utilizando.

Creo que en todo caso lo que buscas es saber que procesos están en ejecución. De ser así la función que estás buscando es "EnumProcesses".

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


Título: Re: [C++] ¿Como verifico si X archivo esta en curso y como terminarlo?
Publicado por: x64core en 15 Marzo 2014, 18:29 pm
GetModuleHandleW/PEB para saber si una dll esta cargada en el proceso. Windows muy rara vez descarga sus DLLs.
Puede que estes interesado en EnumProcessModules aunque la verdad dependiendo de la tarea que quieras realizar podrias usar Hooking
entre otras cosas más.


Título: Re: [C++] ¿Como verifico si X archivo esta en curso y como terminarlo?
Publicado por: RayHack en 16 Marzo 2014, 16:00 pm
Muchas gracias a los dos por sus ayudas,  utilicé GetModuleHandleW y me funcionó perfecto.

Un saludo y muchas gracias.