begin process at 2012 02 09 15:53:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > TUEUR DE PROCESSUS

TUEUR DE PROCESSUS


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Classé sous :process, processus, killer, tuer Niveau :Débutant Date de création :05/08/2006 Vu / téléchargé :11 427 / 755

Auteur : mpo007

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 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

  • #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"));
  • }
#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 ;)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture UNE LISTE HÉTÉROGÈNE DOUBLEMENT CHAINÉE par pgl10
Source avec Zip Source avec une capture POUR AFFICHER LES CARACTÈRES ACCENTUÉS SOUS WINDOWS EN MODE ... par pgl10
Source avec Zip PETITE CLASSE DE GESTION DES PROCESSUS SOUS WINDOWS par wisar
Source avec Zip KEYLOGGER AVEC NOM DU PROCESSUS ET DE LA FENETRE QUI A LE FO... par wisar
Source avec Zip LINUX USB BOOT LEGER par patatalo

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture [C/WIN32][DRIVER] DÉTECTION DE CRÉATION OU DE SUPPRESSION DE... par deck_bsd
UNIX : LISTER LE NOMBRE DE PROCESSUS TOURNANT SUR LA MACHINE par jojo930
Source avec Zip Source avec une capture LISTE PROCESSUS V2 (WIN64) par BruNews
PROCESS DUMPER par lilxam7
MODIFIER UN PROCESSUS EN MÉMOIRE par lilxam

Commentaires et avis

Commentaire de wxccxw le 06/08/2006 23:50:17

encore un killer de process :) mais juste un truc, je trouve certaine fonction, un peu limite, cad pourquoi s'embetter comme sa, il faudrait simplifier

Commentaire de gilbert mauchauffee le 07/08/2006 14:29:59

Je n'arrive pas à ouvrir l'archive: Winzip me dit que le zip n'est pas valide.
Pouvez-vous le contôler SVP? Sur mon disque il fait 37 419 bytes.
Merci d'avance
Gilbert.

Commentaire de deck_bsd le 07/08/2006 21:25:22

Mon gestionnaire de processus le fait aussi ;)

http://www.cppfrance.com/codes/WIN32-CTRLALTDEL-GESTIONNAIRE-PROCESSUS_37923.aspx

comme tant d'autre ;)

Cela dit bonne prog quand mm

Commentaire de kaiserk78 le 15/08/2006 00:26:37

salut a tous salut plus to malmoi je my connais pas je via sprnedre des cour biento sur site du zero mes jai une question quand je mest ta source dans devc/c++ il veulent pas la compilé bizarre tu pourré me repondre a kaiserdu78@hotmail.com stp merci bonne soiré

Commentaire de knasucre le 16/10/2006 10:58:48

Salut a tous ,  kaiserk78 essaie de parler français d'abord apres on peut-être que l'on te repondras gentiment , ensuite essaie de décrire quel est ton problème , que te marque ton compilateur et as-tu changer quelque chose dans la source ??

Aller a plus tout le monde.

Commentaire de wiperle le 05/05/2007 00:03:58

est ce que je peut exécuter ce code sur windows xp.

Commentaire de deck_bsd le 05/05/2007 17:58:25

oui tu peux sans prob.

Commentaire de Pyroclem le 06/03/2009 19:56:53

Petit test classique: sur le processus ashDisp de avast pour tester la puissance de ton code...

deception, avast resiste.

bonne continuation

Pyro

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

éviter qu'une application se lance plusieurs fois [ par imanewin32 ] je réalise une application avec visual 5.0 (je suis obligé)et afin d'éviter que mon application se lance plusieurs fois, lors du lancement de l'applic processus [ par sebseb42 ] Bonjour,voila, j'utilise l'API Process Status (PSAPI) pour lister tout les process existant ainsi que leur modules...La seul information que j'arrive killer de processus [ par conservatoire ] Bonjours a tous et a toutes.Je voudrais savoir comment procéder pour killer un processus (par ex dont le nom est stocké dans une variable).Quelle est trouver le bon process ID!!! [ par anthraxx ] Je voudrais terminer un processus (avec TerminateProcess) dont je ne connais que le nom du fichier executable (mdm.exe par exemple), et le processus n temps d'exécution trop long [ par diable007 ] bonjour, j'ai une application parallèle en c++ et MPI,  j'ai une partie qui ne nécessite pas de communication avec mpi entre les processeurs.  En séqu Processus en cours d'execution? Psapi.lib et Psapi.h? `EnumProcesses@12` & `GetModuleBaseNameA@16` ? [ par wizard512 ] Bonjour, J'essaie en vain de compiler un petit bout de code me permettant de vérifier si telle ou telle processus et bien en cour d'execution. Mais j' Recherche d'adresse mémoire d'un DLL dans un processus [ par empathe ] Bonjour, je recherche une fonction pouvant me retourner l'adresse mémoire Hexa d'ou est stocké une DLL d'un processus. le code: [code=cpp] #include probleme droit d'acces sur processus [ par wisar ] bonjours voila je suis en train de programmer une petite application sur l'injection de dll. Hors j'ai remarqué que j'ai un problème de droit d'accès tuer un processus [ par imanewin32 ] Slt je developpe une application MFC en visual c++,et j ai besoin dune fonction qui tue un processus connu par son nom List Processus + utilisateur [ par tk101 ] Bonjour,alors après avoir chercher sur la MSDN, j'ai trouver les informations nécessaires pour listerles processus (HOURRA) mais j' arrive pas à avoir


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales