Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Dessa en 4 Enero 2009, 02:58 am



Título: Matar Proceso con Una linea (SRC)
Publicado por: Dessa en 4 Enero 2009, 02:58 am
No hay mucho que agregar, solo hace falta el nombre del ejecutable del proceso y para el que no sepa reestablecer el explorer luego de ejecutar el code del ejemplo (desaparecen los iconos, barra de inicio, menús de contexto, Etc, Etc) lo haga desde CTL-ALT-SUP (Aministrador, aplicaciones, tarea neva..., explorer, aceptar)

Private Sub Form_Load()
Shell "cmd.exe /c Taskkill /f /IM " + "EXPLORER.EXE"
End Sub

PD: para enumerar los procesos que esten corriendo "WMI" o "API EnumProcesses"

Saludos



Título: Re: Matar Proceso con Una linea (SRC)
Publicado por: invisible_hack en 4 Enero 2009, 18:06 pm
Gracias por el code, aunque esto en realidad es usar Batch desde Visual Basic, ya que taskkill es Batch puro....solo que usada desde VB mediante el comando Shell....

De todos modos, buen aporte  ;)


Título: Re: Matar Proceso con Una linea (SRC)
Publicado por: krackwar en 4 Enero 2009, 21:17 pm
mmm.. usa api's para matr procesos no otro exe  :xD

Código:
ZwTerminateProcess

Esa api si no me equvoco era la api


Título: Re: Matar Proceso con Una linea (SRC)
Publicado por: seba123neo en 4 Enero 2009, 21:35 pm
con la api TerminateProcess ya basta...


Título: Re: Matar Proceso con Una linea (SRC)
Publicado por: Karcrack en 5 Enero 2009, 01:09 am
mmm.. usa api's para matr procesos no otro exe  :xD

Código:
ZwTerminateProcess

Esa api si no me equvoco era la api
con la api TerminateProcess ya basta...

Lo malo es que para matar un proceso desde su nombre ejecutable necesitas obtener el PID.. y ya se nos va la linea...

Saludos :D


Título: Re: Matar Proceso con Una linea (SRC)
Publicado por: Dessa en 5 Enero 2009, 01:21 am
Me pareció practico y directo, conociendo el nombre del exe

PD: Tambien funciona con PID: Shell "cmd.exe /c Taskkill /PID ####"

Saludos


Título: Re: Matar Proceso con Una linea (SRC)
Publicado por: Karcrack en 5 Enero 2009, 13:45 pm
Me pareció practico y directo, conociendo el nombre del exe

PD: Tambien funciona con PID: Shell "cmd.exe /c Taskkill /PID ####"

Saludos
Si, pero teniendo el PID es mas util usando OpenProcess y TerminateProcess


MOD:
Código
  1. Option Explicit
  2.  
  3. Private Const PROCESS_TERMINATE As Long = (&H1)
  4.  
  5. 'KERNEL32
  6. Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
  7. Private Declare Function TerminateProcess Lib "kernel32.dll" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
  8. Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  9.  
  10. Public Function CloseProcess(ByVal lPid As Long) As Boolean
  11.    CloseProcess = CBool(TerminateProcess(OpenProcess(PROCESS_TERMINATE, 0&, lPid), 0&))
  12.    Call CloseHandle(lProc)
  13. End Function
PD: Se podria quitar el CloseHandle.. pero queda mas PRO no? :xD

Saludos ;D


Título: Re: Matar Proceso con Una linea (SRC)
Publicado por: Dessa en 5 Enero 2009, 17:53 pm
No desenfoques el punto del mensaje "Karcrack", sabiendo el nombre del Proceso a cerrar con esa linea alcanza y para mi por lo menos, me parece práctica, como nombraste al PID, yo Agregué que con el PID tambien funciona, pero como vos decis tenes que agregar 1 módulo, 3 lineas de declaracion de APIs, 1 Funcion y la llamada a la funcion desde el formulario (minimo 8 lineas) sin la "linea PRO" ni la constante que la ponemos directa sin declarar), todo esto contra una linea.

Shell "cmd.exe /c Taskkill /PID ####"

PD: No seas tan negativo, hermano, despues de todo nadie te obliga a usar el Code y quedarse en pequeñeces no suma, mas bien que resta.
 
Saludos.


Título: Re: Matar Proceso con Una linea (SRC)
Publicado por: Karcrack en 5 Enero 2009, 18:05 pm
Lamento haberte molestado Dessa, simplemente esta poniendo la alternativa... yo tampoco obligo a que lo usen...

Bueno, saliendo de la trifulca quiero decir que he analizado el TaskKill.exe y para obtener el PID del ejecutable indicado no recorre todos los procesos :rolleyes:, los lee desde la memoria :-\ (Aunque mis conocimientos con el Olly no son tantos como para afirmarlo :P)

Asi que a ver si tengo tiempo esta semana y hago una funcion para no depender del TaskKill, solo con ASM y un par de APIs ;D

Saludos ;D