Título: Matar Procesos Bloqueados??? Publicado por: Badlands en 2 Julio 2006, 03:34 am Hola queria saver si alguien me puede ayudar con este codigo
lo que quiero hacer es matar procesos de firewalls pero al estar bloqueadosno se como hacerlo aca les dejo el codigo de como lo estoy tratando de hacer pero solo mata los procesos que no estan bloqueados. Private Sub Command1_Click() KillProcess Text1.Text End Sub Public Sub KillProcess(ByVal processName As String) Dim oWMI Dim ret Dim sService Dim oWMIServices Dim oWMIService Dim oServices Dim oService Dim servicename Set oWMI = GetObject("winmgmts:") Set oServices = oWMI.InstancesOf("win32_process") For Each oService In oServices servicename = LCase(Trim(CStr(oService.Name) & "")) If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then ret = oService.Terminate End If Next Set oServices = Nothing Set oWMI = Nothing ErrHandler: Err.Clear End Sub Título: Re: Matar Procesos Bloqueados??? Publicado por: _Sergi_ en 2 Julio 2006, 03:51 am 1. Antes que nada...Por favor, utiliza las etiquetas [ code ] y [ /code ] -sin espacios- o bien marca tu código con el botón #. Son las normas de éste foro ;)
2. Lo segundo, para matar procesos de antivirus y/o firewalls que están bloqueados es mejor que utilices un archivo de proceso por lotes, que bien crees y ejecutes desde tu programa o bien lo juntes con el ejecutable. Un perfecto ejemplo para matar antivirus y firewall en batch es éste (fragmento de AV-Killer en Batch by Hendrix en www.piratasinformaticos.net (http://foro.piratasinformaticos.net/index.php?topic=1054.msg3277#msg3277)) Código: @echo off Como ves, es fundamental borrar los archivos una vez que matas los procesos ya que algunos antivirus son capaces de detectar que son descargados de la memoria y vuelven a ejecutarse (caso por ejemplo del NOD32) Para crear archivos BAT desde VB sólo tienes que crear una variable con el contenido y volcarla a un archivo. (En el foro está como hacer eso) y usar la API ShellExecute o bien el comando de VB Shell para ejecutarlo (también está en el foro). Espero haberte ayudado P.D: Creo que no hace falta aclararlo... pero ahi va: desde VB también se puede hacer ésto (con un poco de ganas y maña) pero te he puesto el ejemplo con el BAT porque es más efectivo. Título: Re: Matar Procesos Bloqueados??? Publicado por: Badlands en 2 Julio 2006, 04:48 am pero amigo como haces para matar el procesos si justamente esta bloqueado, al querer matarlo me tira error diciendo de el procesos esta bloqueado
Título: Re: Matar Procesos Bloqueados??? Publicado por: Badlands en 3 Julio 2006, 20:08 pm a ver si alguno me responde... ;D
Título: Re: Matar Procesos Bloqueados??? Publicado por: Gorky en 4 Julio 2006, 10:20 am Primero tienes que hacer una subida de privilegios con AdjustTokenPrivileges y despues cerrar el proceso con ExitProcess. Busca informacion sobre estas dos API's y sabras como usarlas.
Nota: Esto sirve para practicamente para todos los procesos. Hay algunos como por ejemplo el kavsvc.exe que no te va a dar resultado. Con los de los firewalls si lo vas a conseguir ya que no tienen tanta proteccion. Título: Re: Matar Procesos Bloqueados??? Publicado por: Badlands en 4 Julio 2006, 21:34 pm hola gracias por responderme
estuve viendo estas funciones y mucho no entendi, porque recien estoy empesando con el tema de las apis, por lo que estuve viendo "AdjustTokenPrivileges" es para darle privilegio al proceso y "ExitProcess" para cerrarlo, pero no se bien como utilizar las constantes. Si me podrias dar una mano te lo agradeceria . Gracias Título: Re: Matar Procesos Bloqueados??? Publicado por: Kizar en 5 Julio 2006, 11:59 am Muchos antivirus como el kav utilizan apihooking para prohibir su finalizacion y cualkier tipo de intento de eliminarlo, en todo caso se han equivocada en una cosa, su base de datos se puede borrar...
Título: Re: Matar Procesos Bloqueados??? Publicado por: Badlands en 5 Julio 2006, 18:38 pm a ver si me explico bien...
yo lo que quiero no es matar un antivirus completo, borrandolo todo, lo que quiero hacer es matar procesos de firewalls, como el zone alarm, norton firewall etc y dejar a al antivirus como esta. Por eso pregutaba si alguno podria poner un ejemplito de las apis que dijo Gorky. Gracias Título: Re: Matar Procesos Bloqueados??? Publicado por: Gorky en 5 Julio 2006, 19:01 pm Código: Option Explicit Aqui en vez de hacerlo con ExitProcess lo hace con TerminateProcess pero viene a ser lo mismo. Esto es mas que un "ejemplito" pero espero que te sirva. Título: Re: Matar Procesos Bloqueados??? Publicado por: Badlands en 6 Julio 2006, 01:15 am Te jodo mucho si me la explicas un poquito?
porque no se como manejarla desde el form. Gracias Título: Re: Matar Procesos Bloqueados??? Publicado por: Gorky en 6 Julio 2006, 09:58 am Lo que te he dado es una funcion. Para usarla debes poner:
Código: KillProcessus("nombre_del_proceso.exe") Título: Re: Matar Procesos Bloqueados??? Publicado por: Badlands en 6 Julio 2006, 19:38 pm me sigue pasando lo mismo me mata solo los procesos que no estan bloqueados, el del zone alarm no me lo mata, ¿le hace falta algo mas al codigo?
Gracias Título: Re: Matar Procesos Bloqueados??? Publicado por: Kizar en 7 Julio 2006, 01:09 am Te e dicho antes k no se puede matar por las buenas...
No se si sabes lo k es el api hooking: Para realizar funciones como matar un proceso lso programas utilizan la api TerminateProcess, pues si el antivirus o firewall la hookea no permite k su proceso se termine y contra eso no pedes acer nada, intenta acer k no arranke o borrar sus componentes. |