Tueur de processus

Description

vous pouvez arrêtez certains processus mais pas les procesus system parce que vous aurrez besoin d'un provilege élevé "system" par exemple ou DEBUG .ce code peut terminer n'importe quel processus même les processus system "CSRSS" par exemple vous ne pouvez pas le terminer par taskmgr mais ce code peut le faire,bref ce code peut même terminer les processus protegé etc ...éssayer avec "CSRSS".
n'oublier pas de vérifier si le nom du process est en majuscules ou en minuscule
par exemple voir "CSRSS" ou "csrss" vérifiez dans la liste des taches ça vous suffira

Source / Exemple :


#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>

void max(){
TOKEN_PRIVILEGES privilege;
LUID Luid;
HANDLE handle1;
HANDLE handle2;
handle1 = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId());
OpenProcessToken(handle1, TOKEN_ALL_ACCESS, &handle2);
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &Luid);
privilege.PrivilegeCount = 1;
privilege.Privileges[0].Luid = Luid;
privilege.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(handle2, FALSE, &privilege, sizeof(privilege), NULL, NULL);
CloseHandle(handle2);
CloseHandle(handle1);
}

void procedure(char *name){
//déclaration des variables
HANDLE adr;
PROCESSENTRY32 proc;
short id=0;
int r;

//creation d'un Snapshot(de type TH32CS_SNAPALL) des processus en cours d'execution
//renvoie le "handle" du "snapshot" spécifié en paramètre
max();
adr = CreateToolhelp32Snapshot(2,0);

//boucle pour parcourir les processus (par Process32Next)et tester la condition
do{
r = Process32Next(adr, &proc);
if (strstr(proc.szExeFile,name) )
id =proc.th32ProcessID;
}while(r);

cout<<id;

if( (adr=OpenProcess(PROCESS_TERMINATE,FALSE,id)) !=NULL){
if (TerminateProcess(adr, 0)!= 0){clrscr();printf("le processus %s qui a le Pid %d is killed",name,id);}
}else{system("cls");printf("processus introuvable");}
}

void main(){
char name[50];
textmode(3);
do{
gotoxy(26,12);cprintf("entrer le nom du processus");
gotoxy(34,13);scanf("%s",&name);
procedure(name);
}while(!strstr(name,"quit"));
}

Conclusion :


ce code est déstiné aux débutant de la programmation system
vous pouvez apprendre à
1)comment parcourir la liste des processus actifs
2)avoir le pid d'un processus dont on a le nom ou presque (avec strstr)
3)comment terminer un processus (la fameuse TerminateProcess)
4)et c'est le Top le plus important c'est comment ajuster les privileges et comment donnez à notre application par son pid
comment lui donner le privilege DEBUG

je meure d'envie de savoir comment avoir le privilege "SYSTEM" microsoft ne veut pas qu'on le sache je croix mais si quelqu'un sais comment faire mêrci de nous le dire

et merci à tout les gentils qui lisent les sources et qui donne leur points de vu gentiment pas d'insultes etc ... je rigole ;)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.