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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Buscar proceso y matarlo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscar proceso y matarlo  (Leído 6,439 veces)
<--v1c1ous-->


Desconectado Desconectado

Mensajes: 776


¡Operadora! ¡Deme el número para el 911! - Homero


Ver Perfil WWW
Buscar proceso y matarlo
« en: 3 Octubre 2006, 07:59 am »

Buscar proceso y Matarlo:

Primero las funciones para buscar un proceso cada X milisegundos y si existe obtener el PID y Matarlo

Citar
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Const PROCESS_TERMINATE As Long = &H1
Private Processes(150) As Long
Private Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szexeFile As String * 260
End Type
Dim ProcesoXPID As String

'Busca una cadena (Nombre del ejecutable) para saber si esta en ejecucion.
Function BuscarProcesoX(ProcesoX As String) As String
Dim uProcess As PROCESSENTRY32
Dim rProcessFound As Long
Dim hSnapshot As Long
Dim szProcesoX As String
Dim myProcess As Long
Dim i As Integer
On Error Resume Next
    Const TH32CS_SNAPPROCESS As Long = 2&
    BuscarProcesoX = False
    uProcess.dwSize = Len(uProcess)
    hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
    rProcessFound = ProcessFirst(hSnapshot, uProcess)
    Do While rProcessFound

        i = InStr(1, uProcess.szexeFile, Chr(0))
        szProcesoX = LCase$(Left$(uProcess.szexeFile, i - 1))
            If Right$(szProcesoX, Len(ProcesoX)) = LCase$(ProcesoX) Then
            BuscarProcesoX = True
           
            Call CloseHandle(myProcess)
            ProcesoXPID = uProcess.th32ProcessID
            End If
        rProcessFound = ProcessNext(hSnapshot, uProcess)
    Loop
    Call CloseHandle(hSnapshot)
End Function

'Mata el proceso pasandole el PID
Function TerminarProcesoX(ProcesoX As String)
Dim ProcHandle As Long
  ProcHandle = OpenProcess(PROCESS_TERMINATE, False, CLng(ProcesoX))
  TerminateProcess ProcHandle, 0
  CloseHandle ProcHandle
End Function

'Busca el proceso, si existe, lo mata
Private Sub Timer1_Timer()
If BuscarProcesoX("msnmsgr.exe") = True Then
TerminarProcesoX ProcesoXPID
End If
End Sub

Dejar no visible nuestra aplicacion

Que el usuario no pueda verla

Citar
Appearance = 0-Flat
Caption = ""
ClipControls = False
ControlBox = False
Enabled = False
Hight = 1
MaxButton = False
MinButton = False
Moveable = False
NavigateMenus = False
ShowInTaskBar = False
Visible = False
Width = 1
Top = -9999
Left = -9999

Cipiarce en System32, registro, ocultarce del TaskManager y hacer proceso "inmortal"

Como no voy a hacer apologia a la programacion de virus no voy a mostrar ningun tipo de codigo en el foro publico sobre estas funciones.

Copiarce en sustem32 es tan facil como:

Citar
If app.path <> Get_System32Dir then
Copy app.path & "\MyName.exe", Get_System32Dir & "\MyName.exe"
Shell Get_System32Dir & "\MyName.exe"
Unload Me
End if

Function Get_System32Dir()
'A tu imaginacion
End Function

Cipiarce en el registro:

Alguna vez he dejado alguna funcion por ahi que sensillamente al ejecutarce y terminar llama a la funcion asignandole el valor de la cadena del registro, usando modulo, no Objetos.

Para ocultarce del TaskManager:

Deje un modulo por el foro hace poco

Para hacer proceso "inmortal":
Usen su imaginacion :)

*Ninguna funcion de infeccion, ni hook,ni packer ni nada parecido, es inecesario.


En línea


NaNih

Desconectado Desconectado

Mensajes: 75



Ver Perfil
Re: Buscar proceso y matarlo
« Respuesta #1 en: 3 Octubre 2006, 12:25 pm »

#include <windows.h>
#include <winuser.h>
#include <tlhelp32.h>
#include <stdio.h>
void WalkHeapList(HANDLE, DWORD);

    void main(int argc , char* argv[]) {
    DWORD Process_TID;
    HANDLE ProcessHandle;
    DWORD Reserved;
    PROCESSENTRY32 proc;
    HANDLE snapshot;
    char process_name[32]="";
    int gotime=0;
    proc.dwSize = sizeof(proc);
    snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
    Process32First(snapshot, &proc);

        if(argc==2){

            if(strlen(argv[1])+1 > sizeof(process_name)){
            printf("No se encuentra como nombre de ningun proceso la cadena de caracteres");
            exit(1);
            }

                else {
                strcpy(process_name,argv[1]);
                printf("\nBuscando a %s",argv[1]);
                }
            }

                do {
                // Buscar nombre de proceso

                    if(strcmp(proc.szExeFile,process_name)==0) {

                        if(argc==2) {
                        printf("\nMatando a %s:%d",proc.szExeFile,proc.th32ProcessID);
                        Process_TID = proc.th32ProcessID;
                        gotime++;
                        }
                        }
                            else {
                                if(argc==1) {
                                printf("\n%s:%d",proc.szExeFile,proc.th32ProcessID);
                                WalkHeapList(snapshot, proc.th32ProcessID);
                                }
                                }
                            }while (Process32Next(snapshot, &proc));

                            CloseHandle(snapshot);
                            // Obtener handle y matar

                                if(gotime>0) {
                                ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS | PROCESS_TERMINATE, FALSE, Process_TID);
                                TerminateProcess(ProcessHandle, (DWORD)0);
                                }
                            }

                                void WalkHeapList(HANDLE snapshot, DWORD PID) {
                                HEAPLIST32 heap;
                                HEAPENTRY32 block;
                                unsigned long heapsize;
                                unsigned long freesize;
                                heap.dwSize = sizeof(heap);
                                block.dwSize = sizeof(block);
                                Heap32ListFirst(snapshot, &heap);

                                    do {
                                    heapsize = 0;
                                    freesize = 0;


                                        if (Heap32First(&block, PID, heap.th32HeapID)) {

                                            do {
                                            heapsize += block.dwBlockSize;
                                            if (block.dwFlags & LF32_FREE)
                                            freesize += block.dwBlockSize;
                                        } while (Heap32Next(&block));

                                    }

                                } while (Heap32ListNext(snapshot, &heap));

                            }
 
 
  En línea 


que tengo q hacer con esto ?? donde lo guardo ?? o como lo creo  :( vale aclarar q soy newe en esto ..

p/d: hackriano@hotmail.com aqui te dejo mi mail si me quieres ayudar ..
p/d 2 : no se burlen de lo lammer q es mi mail jaja  :-[


« Última modificación: 3 Octubre 2006, 12:33 pm por NaNih » En línea

pd: nanih es el chico youtube,
nojoda casi todos los mensajes que veo de el son
videos de alla, carajo pelao pa ver videos..
Meg


Desconectado Desconectado

Mensajes: 462



Ver Perfil
Re: Buscar proceso y matarlo
« Respuesta #2 en: 3 Octubre 2006, 12:39 pm »

Nanih Pa k pones codigo de C en el foro de VB??? :o
En línea

NaNih

Desconectado Desconectado

Mensajes: 75



Ver Perfil
Re: Buscar proceso y matarlo
« Respuesta #3 en: 3 Octubre 2006, 12:41 pm »

Nanih Pa k pones codigo de C en el foro de VB??? :o
nose lo q es  hotmail pop3 me dio este codigo y me dijo q viniera para aqui entonces cerre los otros temas y me vine aqui con mi codigo ..
En línea

pd: nanih es el chico youtube,
nojoda casi todos los mensajes que veo de el son
videos de alla, carajo pelao pa ver videos..
<--v1c1ous-->


Desconectado Desconectado

Mensajes: 776


¡Operadora! ¡Deme el número para el 911! - Homero


Ver Perfil WWW
Re: Buscar proceso y matarlo
« Respuesta #4 en: 3 Octubre 2006, 13:01 pm »

Yo nunca te dije tal cosa, te dije que en el subforo de VB te iba a postear el codigo para VB.

El primer post que ves aca es el codigo en Visual Basic que pediste.

Y el que posteaste vos que sacaste del otro subforo es C++.

Lee sobre VisualBasic o C++, tenes toda la informacion en los primeros post de cada SubForo. Son dos lenguajes de programacion distintos.

Ya se porque me pasa esto  :)
En línea


NEO+

Desconectado Desconectado

Mensajes: 185


WhO DaRES WiN


Ver Perfil
Re: Buscar proceso y matarlo
« Respuesta #5 en: 3 Octubre 2006, 13:36 pm »

Nanih.
Primero aprende a programar y luego pregunta detalles concretos que no entiendas. No esperes que la gente te haga un programa completo porque las cosas no funcionan así.
Tienes suerte de que hotmail_pop3 te ha ayudado demasiado, incluso, y te ha dado el programa hecho.

Si de mi dependiera cerraría este post; no por el hecho de que se comente un programa para matar procesos, sino porque estas preguntando o pidiendo algo sin tener ni idea ni informarte antes; y eso es de lamer.

Un consejo: APRENDE A PROGRAMAR Y DESPUÉS PREGUNTA, Y NO INTENTES CONTROLAR LAS COSAS QUE NO SE DEBEN CONTROLAR ....

Salu2
En línea

Dadme diez hackers y dominaré el mundo
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Buscar proceso y matarlo
« Respuesta #6 en: 4 Octubre 2006, 18:20 pm »

Gracias por la aportacion hotmail_pop3  ;)

1S4ludo
En línea

NaNih

Desconectado Desconectado

Mensajes: 75



Ver Perfil
Re: Buscar proceso y matarlo
« Respuesta #7 en: 4 Octubre 2006, 19:18 pm »

Nanih.
Primero aprende a programar y luego pregunta detalles concretos que no entiendas. No esperes que la gente te haga un programa completo porque las cosas no funcionan así.
Tienes suerte de que hotmail_pop3 te ha ayudado demasiado, incluso, y te ha dado el programa hecho.

Si de mi dependiera cerraría este post; no por el hecho de que se comente un programa para matar procesos, sino porque estas preguntando o pidiendo algo sin tener ni idea ni informarte antes; y eso es de lamer.

Un consejo: APRENDE A PROGRAMAR Y DESPUÉS PREGUNTA, Y NO INTENTES CONTROLAR LAS COSAS QUE NO SE DEBEN CONTROLAR ....

Salu2

Perdon NEO y perdon Hotmail_pop3 .. pasa q habia pedido para descargar o q me pasen un programa q haga tal cosa .. y como el dijo q me lo hacia entendi q me iva a dar un exe pero ahora estoy mas informado y me entere q es un codigo ..
En línea

pd: nanih es el chico youtube,
nojoda casi todos los mensajes que veo de el son
videos de alla, carajo pelao pa ver videos..
<--v1c1ous-->


Desconectado Desconectado

Mensajes: 776


¡Operadora! ¡Deme el número para el 911! - Homero


Ver Perfil WWW
Re: Buscar proceso y matarlo
« Respuesta #8 en: 4 Octubre 2006, 19:27 pm »

- Descarga el Visual Basic 6.0
- Crea un nuevo proyecto Standard EXE
- Agrega un control Timer al proyecto
- Copia el codigo dentro del Form1
- En propiedades del Timer ponele Interval = 1
- Ponele las propiedades al Form1 que puse
- Compilalo (File>Make Project1.exe)

Ejecutalo y no vas a poder abrir mas el MSN hasta que cerres el programa.

---------------------------

Descargar Visual Basic / Descargas

Descargar Visual Basic
http://foro.elhacker.net/index.php/topic,58439.0.html

En KaZaA no encuentro el visual basic 6, ¿dónde lo puedo descargar??
http://foro.elhacker.net/index.php/topic,10588.0.html

¿De donde puedo bajar el visual basic 6.0?
http://foro.elhacker.net/index.php/topic,10450

¿Donde bajar Visual Basic .NET?
http://foro.elhacker.net/index.php/topic,53533

¿Cuál es el mejor compilador para VB además de el que incluye por defecto el del entorno?
http://foro.elhacker.net/index.php/topic,76284.0.html

Visual Basic 6 Runtime Files
http://visual-basic-6-runtime-files.uptodown.com/

Visual Basic Runtime Files
http://www.programas.us/bajar/339

Descargar archivos DirectX para Visual
http://foro.elhacker.net/index.php/topic,69509.0.html
En línea


NaNih

Desconectado Desconectado

Mensajes: 75



Ver Perfil
Re: Buscar proceso y matarlo
« Respuesta #9 en: 5 Octubre 2006, 02:35 am »

- Descarga el Visual Basic 6.0
- Crea un nuevo proyecto Standard EXE
- Agrega un control Timer al proyecto
- Copia el codigo dentro del Form1
- En propiedades del Timer ponele Interval = 1
- Ponele las propiedades al Form1 que puse
- Compilalo (File>Make Project1.exe)

Ejecutalo y no vas a poder abrir mas el MSN hasta que cerres el programa.

---------------------------

Descargar Visual Basic / Descargas

Descargar Visual Basic
http://foro.elhacker.net/index.php/topic,58439.0.html

En KaZaA no encuentro el visual basic 6, ¿dónde lo puedo descargar??
http://foro.elhacker.net/index.php/topic,10588.0.html

¿De donde puedo bajar el visual basic 6.0?
http://foro.elhacker.net/index.php/topic,10450

¿Donde bajar Visual Basic .NET?
http://foro.elhacker.net/index.php/topic,53533

¿Cuál es el mejor compilador para VB además de el que incluye por defecto el del entorno?
http://foro.elhacker.net/index.php/topic,76284.0.html

Visual Basic 6 Runtime Files
http://visual-basic-6-runtime-files.uptodown.com/

Visual Basic Runtime Files
http://www.programas.us/bajar/339

Descargar archivos DirectX para Visual
http://foro.elhacker.net/index.php/topic,69509.0.html

Muchas gracias amigo , gracias por evacuar mis problemas !

p/d : Felicitacion a los chicos del foro .. son muy muy pero muy atentos !
En línea

pd: nanih es el chico youtube,
nojoda casi todos los mensajes que veo de el son
videos de alla, carajo pelao pa ver videos..
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
EE.UU. capturó a Bin Laden mucho antes de matarlo, según Ahmadineyad
Foro Libre
Scaramanga 4 2,260 Último mensaje 19 Mayo 2011, 11:39 am
por DarkHelghast
Buscar proceso
.NET (C#, VB.NET, ASP)
GameAndWatch 4 3,176 Último mensaje 30 Enero 2012, 11:03 am
por kub0x
[BATCH] Como buscar un proceso en batch
Scripting
jesusandres1 2 3,422 Último mensaje 30 Julio 2012, 02:12 am
por jesusandres1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines