Guest User

HackProcess.h

a guest
Nov 16th, 2013
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.74 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include <Windows.h>
  4. #include <TlHelp32.h>
  5.  
  6. class CHackProcess
  7. {
  8. public:
  9.  
  10.         PROCESSENTRY32 __gameProcess;
  11.         HANDLE __HandleProcess;
  12.         HWND __HWNDCss;
  13.         DWORD __dwordClient;
  14.         DWORD __dwordEngine;
  15.         DWORD __dwordOverlay;
  16.         DWORD __dwordVGui;
  17.         DWORD __dwordLibCef;
  18.         DWORD __dwordSteam;
  19.         DWORD FindProcessName(const char *__ProcessName, PROCESSENTRY32 *pEntry)
  20.         {
  21.                 PROCESSENTRY32 __ProcessEntry;
  22.                 __ProcessEntry.dwSize = sizeof(PROCESSENTRY32);
  23.                 HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  24.                 if (hSnapshot == INVALID_HANDLE_VALUE) return 0;        if (!Process32First(hSnapshot, &__ProcessEntry))
  25.                 {
  26.                         CloseHandle(hSnapshot);
  27.                         return 0;
  28.                 }
  29.                 do{if (!_strcmpi(__ProcessEntry.szExeFile, __ProcessName))
  30.                 {
  31.                         memcpy((void *)pEntry, (void *)&__ProcessEntry, sizeof(PROCESSENTRY32));
  32.                         CloseHandle(hSnapshot);
  33.                         return __ProcessEntry.th32ProcessID;
  34.                 }} while (Process32Next(hSnapshot, &__ProcessEntry));
  35.                 CloseHandle(hSnapshot);
  36.         return 0;
  37. }
  38.         DWORD getThreadByProcess(DWORD __DwordProcess)
  39.         {
  40.                 THREADENTRY32 __ThreadEntry;
  41.                 __ThreadEntry.dwSize = sizeof(THREADENTRY32);
  42.                 HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
  43.                 if (hSnapshot == INVALID_HANDLE_VALUE) return 0;
  44.  
  45.                 if (!Thread32First(hSnapshot, &__ThreadEntry)) {CloseHandle(hSnapshot); return 0; }
  46.  
  47.         do {if (__ThreadEntry.th32OwnerProcessID == __DwordProcess)
  48.                 {
  49.                         CloseHandle(hSnapshot);
  50.                         return __ThreadEntry.th32ThreadID;
  51.                 }} while (Thread32Next(hSnapshot, &__ThreadEntry));
  52.                 CloseHandle(hSnapshot);
  53.                 return 0;
  54. }
  55.         DWORD GetModuleNamePointer(LPSTR LPSTRModuleName, DWORD __DwordProcessId)
  56.         {
  57.                 MODULEENTRY32 lpModuleEntry = {0};
  58.                 HANDLE hSnapShot = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, __DwordProcessId);
  59.                 if(!hSnapShot)
  60.                         return NULL;
  61.                 lpModuleEntry.dwSize = sizeof(lpModuleEntry);
  62.                 BOOL __RunModule = Module32First( hSnapShot, &lpModuleEntry );
  63.                 while(__RunModule)
  64.                 {
  65.                         if(!strcmp(lpModuleEntry.szModule, LPSTRModuleName ) )
  66.                         {CloseHandle( hSnapShot );
  67.                         return (DWORD)lpModuleEntry.modBaseAddr;
  68.                         }
  69.                         __RunModule = Module32Next( hSnapShot, &lpModuleEntry );
  70.                 }
  71.                 CloseHandle( hSnapShot );
  72.                 return NULL;
  73.         }
  74.         void runSetDebugPrivs()
  75.         {
  76.                 HANDLE __HandleProcess=GetCurrentProcess(), __HandleToken;
  77.                 TOKEN_PRIVILEGES priv;
  78.         LUID __LUID;
  79.         OpenProcessToken(__HandleProcess, TOKEN_ADJUST_PRIVILEGES, &__HandleToken);
  80.         LookupPrivilegeValue(0, "seDebugPrivilege", &__LUID);
  81.     priv.PrivilegeCount = 1;
  82.         priv.Privileges[0].Luid = __LUID;
  83.         priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
  84.     AdjustTokenPrivileges(__HandleToken, false, &priv, 0, 0, 0);
  85.         CloseHandle(__HandleToken);
  86.         CloseHandle(__HandleProcess);
  87. }
  88.         void RunProcess()
  89.         {
  90.                 //finds our windows and checks for modules
  91.         runSetDebugPrivs();
  92.         while (!FindProcessName("hl2.exe", &__gameProcess)) Sleep(12);
  93.         while (!(getThreadByProcess(__gameProcess.th32ProcessID))) Sleep(12);
  94.         __HandleProcess = OpenProcess(PROCESS_ALL_ACCESS, false, __gameProcess.th32ProcessID);
  95.         while(__dwordClient == 0x0) __dwordClient = GetModuleNamePointer("client.dll", __gameProcess.th32ProcessID);
  96.         while(__dwordEngine == 0x0) __dwordEngine = GetModuleNamePointer("engine.dll", __gameProcess.th32ProcessID);
  97.         while(__dwordOverlay == 0x0) __dwordOverlay = GetModuleNamePointer("gameoverlayrenderer.dll", __gameProcess.th32ProcessID);
  98.         while(__dwordVGui == 0x0) __dwordVGui = GetModuleNamePointer("vguimatsurface.dll", __gameProcess.th32ProcessID);
  99.         while(__dwordLibCef == 0x0) __dwordLibCef = GetModuleNamePointer("libcef.dll", __gameProcess.th32ProcessID);
  100.         while(__dwordSteam == 0x0) __dwordSteam = GetModuleNamePointer("steam.dll", __gameProcess.th32ProcessID);
  101.         __HWNDCss = FindWindow(NULL, "Counter-Strike Source");
  102.         }
  103. };
  104.  
  105. extern CHackProcess fProcess;
Add Comment
Please, Sign In to add comment