Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool OpenH1Z1()
- {
- Globals* g = Globals::get();
- if (g->g_hGame)
- {
- CloseHandle(g->g_hGame);
- g->g_hGame = nullptr;
- }
- g->g_hGame = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, g->g_PID);
- if (INVALID_HANDLE(g->g_hGame))
- return false;
- PHDL_IO phdlio;
- phdlio.access = PROCESS_ALL_ACCESS;
- phdlio.handle = (ULONGLONG)g->g_hGame;
- phdlio.pid = GetCurrentProcessId();
- if (kb_PromoteHandle(&phdlio) != 0)
- return false;
- return true;
- }
- DWORD ReadMemory(PVOID64 target_ptr, size_t size, PVOID local_buffer)
- {
- Globals* g = Globals::get();
- ULONGLONG bytes;
- if (INVALID_HANDLE(g->g_hGame))
- return -1;
- #ifdef _WIN64
- return ReadProcessMemory(g->g_hGame, target_ptr, local_buffer, size, &bytes);
- #else
- return g->NtReadVirtualMemory(g->g_hGame, (UINT64)target_ptr, local_buffer, size, &bytes);
- #endif
- }
- PVOID64 ReadPtr(PVOID64 target_ptr, PDWORD read_status)
- {
- char local_buffer[sizeof(PVOID64)];
- ZeroMemory(local_buffer, sizeof(local_buffer));
- DWORD read = ReadMemory(target_ptr, sizeof(local_buffer), local_buffer);
- if (read_status)
- {
- *read_status = read;
- }
- return (*(PVOID64*)(local_buffer));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement