Buscar proceso y matarlo

Iniciado por <--v1c1ous-->, 3 Octubre 2006, 07:59 AM

0 Miembros y 1 Visitante están viendo este tema.

<--v1c1ous-->

Buscar proceso y Matarlo:

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

CitarPrivate 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

CitarAppearance = 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:

CitarIf 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.


NaNih

#1
Cita de: hotmail_pop3 en  3 Octubre 2006, 07:59 AM
#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  :-[
Cita de: Noxz en 16 Diciembre 2006, 00:07 AM
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

Nanih Pa k pones codigo de C en el foro de VB??? :o

NaNih

Cita de: Meg en  3 Octubre 2006, 12:39 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 ..
Cita de: Noxz en 16 Diciembre 2006, 00:07 AM
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-->

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  :)


NEO+

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
Dadme diez hackers y dominaré el mundo

~~

Gracias por la aportacion hotmail_pop3  ;)

1S4ludo

NaNih

Cita de: NEO+ 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

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 ..
Cita de: Noxz en 16 Diciembre 2006, 00:07 AM
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-->

- 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


NaNih

Cita de: hotmail_pop3 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

Muchas gracias amigo , gracias por evacuar mis problemas !

p/d : Felicitacion a los chicos del foro .. son muy muy pero muy atentos !
Cita de: Noxz en 16 Diciembre 2006, 00:07 AM
pd: nanih es el chico youtube,
nojoda casi todos los mensajes que veo de el son
videos de alla, carajo pelao pa ver videos..