gravvy

Untitled

Nov 21st, 2016
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.36 KB | None | 0 0
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <tchar.h>
  4. #include <psapi.h>
  5. #include <string>
  6.  
  7. extern "C" __declspec(dllexport) double __cdecl detectTAS();
  8. using namespace std;
  9.  
  10. string ProcessIsRunning(DWORD processID)
  11. {
  12.     TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
  13.  
  14.     // Get a handle to the process.
  15.  
  16.     HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION |
  17.         PROCESS_VM_READ,
  18.         FALSE, processID);
  19.  
  20.     // Get the process name.
  21.  
  22.     if (NULL != hProcess)
  23.     {
  24.         HMODULE hMod;
  25.         DWORD cbNeeded;
  26.  
  27.         if (EnumProcessModules(hProcess, &hMod, sizeof(hMod),
  28.             &cbNeeded))
  29.         {
  30.             GetModuleBaseName(hProcess, hMod, szProcessName,
  31.                 sizeof(szProcessName) / sizeof(TCHAR));
  32.         }
  33.     }
  34.     CloseHandle(hProcess);
  35.     return szProcessName;
  36. }
  37.  
  38. __declspec(dllexport) double __cdecl detectTAS()
  39. {
  40.     DWORD aProcesses[1024], cbNeeded, cProcesses;
  41.     unsigned int i;
  42.     if (!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))
  43.     {
  44.         return 0.0;
  45.     }
  46.     cProcesses = cbNeeded / sizeof(DWORD);
  47.     for (i = 0; i < cProcesses; i++)
  48.     {
  49.         if (aProcesses[i] != 0)
  50.         {
  51.             string name = ProcessIsRunning(aProcesses[i]);
  52.             for (int i = 0; i < name.size(); ++i)
  53.                 name[i] = tolower(name[i]);
  54.  
  55.             if (name.find("cheatengine") != std::string::npos) {
  56.                 return 1.0;
  57.             }
  58.             if (name.find("hourglass") != std::string::npos) {
  59.                 return 1.0;
  60.             }
  61.  
  62.         }
  63.     }
  64.     return 0.0;
  65. }
Add Comment
Please, Sign In to add comment