Guest User

imahacker

a guest
Dec 16th, 2022
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. #include <windows.h>
  2. #include <iostream>
  3. #include <TlHelp32.h>
  4. #include <Psapi.h>
  5. #include <vector>
  6.  
  7.  
  8. std::vector<HMODULE> GetModulesAddr(DWORD processID)
  9. {
  10. HMODULE hMods[1024];
  11. HANDLE hProcess;
  12. DWORD cbNeeded;
  13.  
  14. std::vector<HMODULE> bufer;
  15.  
  16. hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);
  17.  
  18. if (EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded))
  19. {
  20. for (int i = 0; i < (cbNeeded / sizeof(HMODULE)); i++)
  21. {
  22. bufer.push_back(hMods[i]);
  23. }
  24. }
  25.  
  26. CloseHandle(hProcess);
  27.  
  28. return bufer;
  29. }
  30.  
  31. DWORD GetPid(std::wstring name)
  32. {
  33.  
  34. DWORD pid = 0;
  35. HANDLE hFind = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  36. PROCESSENTRY32 pe{ sizeof(PROCESSENTRY32) };
  37. Process32First(hFind, &pe);
  38.  
  39. while (!pid)
  40. {
  41. Process32Next(hFind, &pe);
  42. if (pe.szExeFile == name)
  43. pid = pe.th32ProcessID;
  44. }
  45.  
  46. CloseHandle(hFind);
  47.  
  48. return pid;
  49. }
  50.  
  51. int main(void)
  52. {
  53. int pid = GetPid(L"HackMe.exe");
  54.  
  55. std::vector<HMODULE> addresses = GetModulesAddr(pid);
  56. HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, TRUE, pid);
  57.  
  58. int intRead = 0;
  59. int new_int = 999999;
  60. SIZE_T write = 0;
  61.  
  62. for (HMODULE &addr : addresses)
  63. {
  64. do
  65. {
  66. addr = HMODULE(long long(addr) + 1);
  67.  
  68.  
  69. if (intRead == 123456)
  70. {
  71. std::cout << WriteProcessMemory(hProcess, addr, &new_int, sizeof(new_int), &write)<< " " << write << std::endl;
  72.  
  73. std::cout << pid << " " << intRead << " " << addr << std::endl;
  74. }
  75.  
  76. }while(ReadProcessMemory(hProcess, addr, &intRead, sizeof(intRead), 0));
  77. }
  78. CloseHandle(hProcess);
  79. }
Advertisement
Add Comment
Please, Sign In to add comment