Remove assembly from patcher.h

This commit is contained in:
Filip Gawin 2020-03-27 21:20:28 +01:00
parent e7c18fc17f
commit 184a80cc3b
2 changed files with 4 additions and 10 deletions

View File

@ -117,16 +117,10 @@ Nop(AT address, unsigned int nCount)
Unprotect_internal(); Unprotect_internal();
} }
template<typename AT, typename HT> inline void template <typename T> inline void
InjectHook(AT address, HT hook, unsigned int nType=PATCH_NOTHING) InjectHook(uintptr_t address, T hook, unsigned int nType = PATCH_NOTHING)
{ {
uint32 uiHook; InjectHook_internal(address, reinterpret_cast<uintptr_t>((void *&)hook), nType);
_asm
{
mov eax, hook
mov uiHook, eax
}
InjectHook_internal((uint32)address, uiHook, nType);
} }
inline void ExtractCall(void *dst, uint32_t a) inline void ExtractCall(void *dst, uint32_t a)

View File

@ -71,7 +71,7 @@ InjectHook_internal(uint32 address, uint32 hook, int type)
break; break;
} }
*(ptrdiff_t*)(address + 1) = hook - address - 5; *(ptrdiff_t*)(address + 1) = (uintptr_t)hook - (uintptr_t)address - 5;
if(type == PATCH_NOTHING) if(type == PATCH_NOTHING)
VirtualProtect((void*)(address + 1), 4, protect[0], &protect[1]); VirtualProtect((void*)(address + 1), 4, protect[0], &protect[1]);
else else