Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <Windows.h>
- #include <iostream>
- #include <tlhelp32.h>
- #include <tchar.h>
- #define num0 0x60
- #define F6 0x75
- const DWORD localHealthBase = 0x01295540;
- const DWORD localHealthOffset1 = 0x24;
- const DWORD localHealthOffset2 = 0x10;
- const DWORD localHealthOffset3 = 0x500;
- const DWORD localHealthOffset4 = 0x6A0;
- const DWORD localHealthOffset5 = 0x2B0;
- void godMode(HANDLE pHandle, DWORD health, int myHealth);
- DWORD_PTR dwGetModuleBaseAddress(DWORD dwProcID, TCHAR *szModuleName);
- bool godStatus = false;
- int main()
- {
- DWORD buffer = 0, localHealth = 0, moduleBase = 0, pid = 0;
- int i = 0;
- HWND hWnd = FindWindowA(0, ("7 Days To Die"));
- GetWindowThreadProcessId(hWnd, &pid);
- HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
- std::cout << "Process ID: " << pid << std::endl; //returns correct PID
- std::cout << "Handle: " << pHandle << std::endl; //returns 00000060 (what should it return?)
- moduleBase = dwGetModuleBaseAddress(pid, _T("7DaysToDie.exe"));
- std::cout << "Module Base: " << moduleBase << std::endl; //returns null
- ReadProcessMemory(pHandle,(LPCVOID*)moduleBase,&localHealth,sizeof(localHealth),NULL);
- std::cout << localHealth << std::endl; //returns null
- /*ReadProcessMemory(pHandle, (LPCVOID*)localHealthBase + localHealthOffset1, &buffer, sizeof(buffer), NULL);
- ReadProcessMemory(pHandle, (LPCVOID*)buffer + localHealthOffset2, &buffer, sizeof(buffer), 0);
- ReadProcessMemory(pHandle, (LPCVOID*)buffer + localHealthOffset3, &buffer, sizeof(buffer), 0);
- ReadProcessMemory(pHandle, (LPCVOID*)buffer + localHealthOffset4, &buffer, sizeof(buffer), 0);
- ReadProcessMemory(pHandle, (LPCVOID*)buffer + localHealthOffset5, &localHealth, sizeof(localHealth), 0); */
- int myHealth = 1117257728;
- while (!GetAsyncKeyState(F6)) {
- if (i == 0) {
- std::cout << "While loop works." << std::endl;
- i++;
- }
- else i++;
- godMode(pHandle, localHealth, myHealth);
- }
- return 0;
- }
- DWORD_PTR dwGetModuleBaseAddress(DWORD dwProcID, TCHAR *szModuleName)
- {
- DWORD_PTR dwModuleBaseAddress = 0;
- HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, dwProcID);
- if (hSnapshot != INVALID_HANDLE_VALUE)
- {
- MODULEENTRY32 ModuleEntry32;
- ModuleEntry32.dwSize = sizeof(MODULEENTRY32);
- if (Module32First(hSnapshot, &ModuleEntry32))
- {
- do
- {
- if (_tcsicmp(ModuleEntry32.szModule, szModuleName) == 0)
- {
- dwModuleBaseAddress = (DWORD_PTR)ModuleEntry32.modBaseAddr;
- break;
- }
- } while (Module32Next(hSnapshot, &ModuleEntry32));
- }
- CloseHandle(hSnapshot);
- }
- return dwModuleBaseAddress;
- }
- void godMode(HANDLE pHandle, DWORD health, int myHealth) {
- if (GetAsyncKeyState(num0)) {
- godStatus = !godStatus;
- std::cout << "toggled" << std::endl;
- }
- if (!godStatus) {
- return;
- }
- WriteProcessMemory(pHandle, (LPVOID)health, &myHealth, sizeof(myHealth), 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement