Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <windows.h>
  2. #include <TlHelp32.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6.  
  7. int ListProcess(void);
  8. int PutPidByName(char *name);
  9.  
  10. int main(int argc,char **argv)
  11. {
  12.    
  13.     if(argc < 2)
  14.     {
  15.         printf("USAGE : ./listprocess -h\n");
  16.         exit(1);
  17.     }
  18.    
  19.     if(!strcmp(argv[1],"-h"))
  20.     {
  21.         printf("Sakiir ListProcess V1.0\n");
  22.         printf("\n");
  23.         printf("\t -k <pid> // Kill A Process\n");
  24.         printf("\t -l // List All Processes\n");
  25.         printf("\t -g <name> // Put Pid By Name\n");
  26.         exit(1);
  27.     }
  28.  
  29.     if(!strcmp(argv[1],"-g"))
  30.     {
  31.         int szRes;
  32.         if(argv[2] == NULL)
  33.         {
  34.             printf("[-] Arg2 i NULL .. \n");
  35.             exit(-1);
  36.         }
  37.         szRes= PutPidByName(argv[2]);
  38.         if(szRes < 0)
  39.         {
  40.             printf("[-] Failed To PutPidByName\n");
  41.             exit(-1);
  42.         }
  43.     }
  44.  
  45.  
  46.     if(!strcmp(argv[1],"-l"))
  47.     {
  48.         int szRes = ListProcess();
  49.         if(szRes < 0)
  50.         {
  51.             printf("[-] Failed To List Processes\n");
  52.             exit(-1);
  53.         }
  54.     }
  55.  
  56.     if(!strcmp(argv[1],"-k"))
  57.     {
  58.         DWORD a;
  59.         DWORD pPriority = 0;
  60.         if(argv[2] != NULL)
  61.         {
  62.             DWORD pid = atoi(argv[2]);
  63.             HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid);
  64.             if(hProcess == NULL)
  65.             {
  66.                 printf("[-] Failed To OpenProcess %d\n",pid);
  67.                 exit(-1);
  68.             }
  69.  
  70.            
  71.             pPriority = GetPriorityClass(hProcess);
  72.  
  73.             if(!pPriority)
  74.             {
  75.                 printf("[-] Failed To GetPriorityClass \n");
  76.                 exit(-1);
  77.             }
  78.  
  79.            
  80.             a = TerminateProcess(hProcess,NULL);
  81.             if(a == 0)
  82.             {
  83.                 printf("[-] Failed To Kill Process, Maybe Not Enought Priorties\n");
  84.                 exit(-1);
  85.             }
  86.  
  87.             printf("[+] Process Kill\n");
  88.             exit(1);
  89.         }else printf("[-] PID is NULL\n");
  90.     }
  91.    
  92.  
  93.     exit(1);
  94. }
  95.  
  96.  
  97. int ListProcess(void)
  98. {
  99.     PROCESSENTRY32 pe32;
  100.     HANDLE hProcessSnap;
  101.  
  102.  
  103.     hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  104.     if(hProcessSnap == INVALID_HANDLE_VALUE)
  105.     {
  106.         MessageBox(NULL,"Failed To CreateToolhelp32Snapshot.. :/","ERROR",MB_OK);
  107.         exit(-1);
  108.     }
  109.  
  110.     pe32.dwSize = sizeof(PROCESSENTRY32);
  111.     if( !Process32First( hProcessSnap, &pe32 ) )
  112.     {
  113.         MessageBox(NULL,"Failed To Process32First.. :/","ERROR",MB_OK);
  114.         exit(-1);
  115.     }
  116.     printf("\n");
  117.     do
  118.     {
  119.  
  120.         printf("[~] %s \n", pe32.szExeFile);
  121.         printf("---> With Pid : %d\n\n",pe32.th32ProcessID);
  122.  
  123.     }while(Process32Next(hProcessSnap,&pe32));
  124.  
  125.     return 1;
  126. }
  127.  
  128.  
  129. int PutPidByName(wchar_t *name)
  130. {
  131.     PROCESSENTRY32 pe32;
  132.     HANDLE hProcessSnap;
  133.  
  134.  
  135.     hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  136.     if(hProcessSnap == INVALID_HANDLE_VALUE)
  137.     {
  138.         MessageBox(NULL,"Failed To CreateToolhelp32Snapshot.. :/","ERROR",MB_OK);
  139.         exit(-1);
  140.     }
  141.  
  142.     pe32.dwSize = sizeof(PROCESSENTRY32);
  143.     if( !Process32First( hProcessSnap, &pe32 ) )
  144.     {
  145.         MessageBox(NULL,"Failed To Process32First.. :/","ERROR",MB_OK);
  146.         exit(-1);
  147.     }
  148.     printf("\n");
  149.     do
  150.     {
  151.         if(wcscmp(name,pe32.szExeFile) == 0)
  152.         {
  153.             printf("[~] %s \n", pe32.szExeFile);
  154.             printf("---> With Pid : %d\n\n",pe32.th32ProcessID);
  155.         }
  156.  
  157.     }while(Process32Next(hProcessSnap,&pe32));
  158.  
  159.     return 1;
  160. }