elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:24  


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)
| | |-+  API TerminateProcess function
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: API TerminateProcess function  (Leído 1,202 veces)
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
API TerminateProcess function
« en: 10 Octubre 2011, 12:18 »

El problema es que no se obtener el handle del proceso y la verdad es que he estado investigando bastante sobre el asunto...Os dejo la pagina de msdn para que lo mireis:http://msdn.microsoft.com/en-us/library/ms686714%28v=vs.85%29.aspx

como obtengo el handle de un proceso?me podriais poner un ejemplo sobre como ejecutar esta API?

Gracias a quien pueda echarme un cable  :P

Un saludo


En línea

Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.391


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: API TerminateProcess function
« Respuesta #1 en: 10 Octubre 2011, 14:08 »

OpenProcess.


En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: API TerminateProcess function
« Respuesta #2 en: 10 Octubre 2011, 16:58 »

si el proceso lo abris con OpenProcess, haces lo que tengas que hacer con el proceso y despues cerras el handle con closehandle  ::)

ah y antes de llamar a terminateprocess tenes que haber llamado a createprocess  ::)

« Última modificación: 10 Octubre 2011, 17:00 por dewolo » En línea
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.391


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: API TerminateProcess function
« Respuesta #3 en: 10 Octubre 2011, 17:03 »

ah y antes de llamar a terminateprocess tenes que haber llamado a createprocess  ::)

No necesariamente, podes matar procesos creados por otros procesos.
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: API TerminateProcess function
« Respuesta #4 en: 10 Octubre 2011, 17:37 »

Gracias a ambos,pero me estoy haciendo un lio...xD

A ver con openprocess abro un proceso,pero si resulta que el proceso esta abierto y quiero terminarlo ¿como lo hago?¿No teneis por ahi un ejemplo sencillo de como terminar uno? :-\

Un saludo
En línea

Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.391


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: API TerminateProcess function
« Respuesta #5 en: 10 Octubre 2011, 17:38 »

Vos preguntaste como obtener el HANDLE al proceso, ya sabias que funcion usar para terminarlo  ;)
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: API TerminateProcess function
« Respuesta #6 en: 10 Octubre 2011, 17:49 »

Sí,la función para terminarlo sé cual es,pero entonces,el handle sería la función openprocess? La verdad es que no me está quedando claro esto xD

Te pongo un ejemplo que estoy leyendo:

Código
HANDLE Process;
DWORD PID;
process=OpenProcess(PROCESS_ALL_ACCESS,false,PID);

Pero no sé si estará bien,supuestamente asi tengo el handle llamado process,no?

Perdona si es una tonteria lo que estoy diciendo  :xD

Un saludo
En línea

Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.391


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: API TerminateProcess function
« Respuesta #7 en: 10 Octubre 2011, 17:51 »

Si, con OpenProcess abris un HANDLE a un proceso existente pero el PID (Process Identifier) es un parametro de entrada asi que tenes que darle valor, no puede estar indefinido como ahora.
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: API TerminateProcess function
« Respuesta #8 en: 10 Octubre 2011, 18:09 »

Pero entonces,¿como termino un proceso,como por ejemplo el explorer?Si el pid lo se entonces estoy terminando un proceso el cual yo he creado o tengo constancia de ello,en cambio,si por ejemplo,quiero eliminar el PID del explorer...¿Se tendria que buscar otra API para encontrarlo?  :huh:

un saludo
En línea

Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.391


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: API TerminateProcess function
« Respuesta #9 en: 10 Octubre 2011, 18:14 »

No, saber el PID no implica que lo hayas creado ni mucho menos.

Taking a Snapshot and Viewing Processes.
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: API TerminateProcess function
« Respuesta #10 en: 10 Octubre 2011, 20:51 »

Puff...Bueno ok

Entonces mirare codigos e intentare hacer unas cuantas,asi no alargo mas el tema  :xD

Gracias de todas maneras EI  ;)

Un saludo
En línea

Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.391


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: API TerminateProcess function
« Respuesta #11 en: 10 Octubre 2011, 21:44 »

De nada, ahi te deje el ejemplo de como enumerar los procesos en ejecucion (con lo cual obtenes cualquier PID), usando OpenProcess obtenes el HANDLE y despues usas TerminateProcess.
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Karman


Desconectado Desconectado

Mensajes: 657



Ver Perfil WWW
Re: API TerminateProcess function
« Respuesta #12 en: 11 Octubre 2011, 05:51 »

un ejemplo (no probado) pero que en cualquier caso con ligeras modificaciones debería funcionar:

Código
DWORD dExplorerPid;
HWND hExplorer=FindWindow("Progman",NULL);//explorer window class
if(hExplorer&&GetWindowThreadProcessId(hExplorer,&dExplorerPid)){
 HANDLE hExplorerProc=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dExplorerPid);
 if(hExplorerProc){
   TerminateProcess(hExplorerProc,0);
   CloseHandle(hExplorerProc);
 }
}

S2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
function en vb
Programación General
Frost 4 494 Último mensaje 31 Julio 2004, 02:06
por WiNSoCk
Ayuda con error de flujo de datos ->"is neither function nor member function; "
Programación C/C++
pasteles 1 904 Último mensaje 9 Septiembre 2008, 00:53
por Kasswed
No me va (Function)
PHP
Erik# 5 1,001 Último mensaje 20 Noviembre 2008, 20:48
por Erik#
[C] PEFileSize function
Programación C/C++
The Swash 4 668 Último mensaje 27 Enero 2011, 01:16
por The Swash
Duda si hookear TerminateProcess
Programación C/C++
t4r0x 3 407 Último mensaje 14 Febrero 2012, 12:18
por Eternal Idol
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines