DWORD ReadDwordPtr ( DWORD dwDest ) { DWORD dwBack, dwRead; VirtualProtect( (LPVOID) dwDest, 4, PAGE_READWRITE, &dwBack); (DWORD) (dwRead) = *(DWORD*) (dwDest); VirtualProtect( (LPVOID) dwDest, 4, dwBack, &dwBack); return dwRead; } void ChangeDword ( DWORD dwDest, DWORD dwOrig ) { DWORD dwBack; VirtualProtect( (LPVOID) dwOrig, 4, PAGE_READWRITE, &dwBack); *(DWORD*) (dwOrig) = (DWORD) (dwDest); VirtualProtect( (LPVOID) dwOrig, 4, dwBack, &dwBack); } oAddRefEntityToScene = (void (__cdecl *)(refEntity_t *))ReadDwordPtr ( 0x148BAE0 ); ChangeDword ( (DWORD)&AddRefEntityToScene_Hook, 0x148BAE0 );