From 8989abafd21f641a5877e94367ddcc6e8f07b43b Mon Sep 17 00:00:00 2001 From: aaaaaa aaaaaaa Date: Sat, 30 Dec 2017 22:38:01 +0100 Subject: [PATCH] fix polyhook crash I tried to hook a member varialbe. well shit I mean it kinda has to have a similar name, doesn't it --- tester/polyhook.cpp | 16 ++++++++-------- tester/polyhook.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tester/polyhook.cpp b/tester/polyhook.cpp index 1c1e830..7ed3418 100644 --- a/tester/polyhook.cpp +++ b/tester/polyhook.cpp @@ -40,7 +40,7 @@ uint64_t PolyHook_Hooks::hookRip_relative(void) { void PolyHook_Hooks::hookAVX(float num, void* res) { g_PolyHook->avx = true; - return trueAVX(num, res); + trueAVX(num, res); } uint32_t PolyHook_Hooks::hookRDRAND(void) { @@ -62,15 +62,15 @@ uint32_t PolyHook_Hooks::hookTail_recursion(uint32_t x) { } bool PolyHook::hook_all(void) { - bool ret = hook(detSmall, &_small, (void*&)trueSmall, &PolyHook_Hooks::hookSmall); - ret |= hook(detBranch, &_branch, (void*&)trueBranch, &PolyHook_Hooks::hookBranch); - ret |= hook(detRIPRelative, &rip_relative, (void*&)trueRip_Relative, &PolyHook_Hooks::hookRip_relative); + bool ret = hook(detSmall, &_small, trueSmall, &PolyHook_Hooks::hookSmall); + ret |= hook(detBranch, &_branch, trueBranch, &PolyHook_Hooks::hookBranch); + ret |= hook(detRIPRelative, &_rip_relative, trueRip_Relative, &PolyHook_Hooks::hookRip_relative); - ret |= hook(detAVX, &_AVX, (void*&)trueAVX, &PolyHook_Hooks::hookAVX); - ret |= hook(detRDRAND, &_RDRAND, (void*&)trueRDRAND, &PolyHook_Hooks::hookRDRAND); + ret |= hook(detAVX, &_AVX, trueAVX, &PolyHook_Hooks::hookAVX); + ret |= hook(detRDRAND, &_RDRAND, trueRDRAND, &PolyHook_Hooks::hookRDRAND); - ret |= hook(detLoop, &_loop, (void*&)trueLoop, &PolyHook_Hooks::hookLoop); - ret |= hook(detTailRecursion, &_tail_recursion, (void*&)trueTailRecursion, &PolyHook_Hooks::hookTail_recursion); + ret |= hook(detLoop, &_loop, trueLoop, &PolyHook_Hooks::hookLoop); + ret |= hook(detTailRecursion, &_tail_recursion, trueTailRecursion, &PolyHook_Hooks::hookTail_recursion); return ret; } diff --git a/tester/polyhook.h b/tester/polyhook.h index 777a150..ad25688 100644 --- a/tester/polyhook.h +++ b/tester/polyhook.h @@ -21,7 +21,7 @@ private: detTailRecursion; template - bool hook(std::shared_ptr det, void* func, void*& original, void* hook) { + bool hook(std::shared_ptr det, void* func, T& original, void* hook) { det->SetupHook((BYTE*)func, (BYTE*)hook); if (!det->Hook()) { return false;