Advertisement
EchoHackCmd

Untitled

Dec 15th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. #include <iostream>
  2. #include <Windows.h>
  3. #include <vector>
  4. #include <TlHelp32.h>
  5.  
  6. using namespace std;
  7.  
  8. uintptr_t FindAddr(HANDLE hProc, uintptr_t ptr, std::vector<unsigned int> offsets)
  9. {
  10. uintptr_t addr = ptr;
  11. for (unsigned int i = 0; i < offsets.size(); ++i)
  12. {
  13. ReadProcessMemory(hProc, (BYTE*)addr, &addr, sizeof(addr), 0);
  14. addr += offsets[i];
  15. }
  16. return addr;
  17. }
  18.  
  19. DWORD GetProcId(const wchar_t* procName)
  20. {
  21. DWORD procId = 0;
  22. HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  23. if (hSnap != INVALID_HANDLE_VALUE)
  24. {
  25. PROCESSENTRY32 procEntry;
  26. procEntry.dwSize = sizeof(procEntry);
  27.  
  28. if (Process32First(hSnap, &procEntry))
  29. {
  30. do
  31. {
  32. if (!_wcsicmp(procEntry.szExeFile, procName))
  33. {
  34. procId = procEntry.th32ProcessID;
  35. break;
  36. }
  37. } while (Process32Next(hSnap, &procEntry));
  38.  
  39. }
  40. }
  41. CloseHandle(hSnap);
  42. return procId;
  43. }
  44.  
  45. uintptr_t GetModuleBaseAddress(DWORD procId, const wchar_t* modName)
  46. {
  47. uintptr_t modBaseAddr = 0;
  48. HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId);
  49. if (hSnap != INVALID_HANDLE_VALUE)
  50. {
  51. MODULEENTRY32 modEntry;
  52. modEntry.dwSize = sizeof(modEntry);
  53. if (Module32First(hSnap, &modEntry))
  54. {
  55. do
  56. {
  57. if (!_wcsicmp(modEntry.szModule, modName))
  58. {
  59. modBaseAddr = (uintptr_t)modEntry.modBaseAddr;
  60. break;
  61. }
  62. } while (Module32Next(hSnap, &modEntry));
  63. }
  64. }
  65. CloseHandle(hSnap);
  66. return modBaseAddr;
  67. }
  68.  
  69. int main() {
  70. DWORD procID;
  71. uintptr_t ModuleBase;
  72. HANDLE hProcess;
  73.  
  74. procID = GetProcId(L"Minecraft.Windows.exe");
  75. if (procID == NULL) {
  76. cout << "Unable to locate process, make sure Minecraft is running!\n";
  77. }
  78. else
  79. {
  80. cout << "Minecraft Process ID: " << procID << "\n";
  81. hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, procID);
  82. ModuleBase = GetModuleBaseAddress(procID, L"Minecraft.Window.exe");
  83.  
  84. for (;;) {
  85. //Memory writing
  86.  
  87. uintptr_t localPlayerAddr = FindAddr(hProcess, ModuleBase + 0x02FC77D0, { 0xA8, 0x10, 0x40, 0x0 });
  88. uintptr_t gamemodeAddr = FindAddr(hProcess, localPlayerAddr, { 0x1D94 });
  89.  
  90. int gmVal = 1;
  91.  
  92. WriteProcessMemory(hProcess, (BYTE*)gamemodeAddr, &gmVal, sizeof(gmVal), 0); //Creative Mode
  93. }
  94.  
  95. }
  96.  
  97. return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement