DWORD GetPointer(std::vector<DWORD>Pointer, uint8_t MODE)
{
DWORD Temp_Address = *reinterpret_cast<DWORD*>((DWORD)GetModuleHandle(0) + Pointer.at(0));
for (auto i = Pointer.begin() + 1; i != Pointer.end(); i++)
{
if (i == Pointer.end() - 1 && MODE == READ_ADDRESS)
{
Temp_Address = Temp_Address + (*i);
return Temp_Address;
}
Temp_Address = *reinterpret_cast<DWORD*>(Temp_Address + (*i));
}
return Temp_Address;
}
static void EditMemory(void *adr, void *ptr, int size)
{
DWORD OldProtection;
VirtualProtect(adr, size, PAGE_EXECUTE_READWRITE, &OldProtection);
memcpy(adr, ptr, size);
VirtualProtect(adr, size, OldProtection, &OldProtection);
}