diff --git a/tester/main.cpp b/tester/main.cpp index 459c16b..c78faf8 100644 --- a/tester/main.cpp +++ b/tester/main.cpp @@ -7,53 +7,15 @@ #include "abstracthook.h" - -//#pragma comment(lib, "..\\x64\\debug\\test_cases.lib") - extern AbstractHookEngine* g_mhook, *g_PolyHook, *g_MinHook; -#if 0 -typedef BOOL(__stdcall* tBitBlt)(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, - HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop); -tBitBlt oBitBlt; - -//Just an int that gets incremented to verify handler got called for unit tests - -int BitBltHookVerifier = 0; -BOOL __stdcall hkBitBlt(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, - HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop) -{ - BitBltHookVerifier += 1337; - return oBitBlt(hdcDest, nXDest, nYDest, nWidth, nHeight, hdcSrc, nXSrc, nYSrc, dwRop); -} - -void test() -{ - std::shared_ptr Detour_Ex(new PLH::Detour); - //REQUIRE(Detour_Ex->GetType() == PLH::HookType::Detour); - - assert(BitBltHookVerifier == 0); - Detour_Ex->SetupHook((uint8_t*)GetProcAddress(LoadLibrary(L"Gdi32.dll"), "BitBlt"), (BYTE*)&hkBitBlt); - assert(Detour_Ex->Hook()); - oBitBlt = Detour_Ex->GetOriginal(); - BitBlt(NULL, 0, 0, 0, 0, NULL, 0, 0, 0); - assert(BitBltHookVerifier == 1337); - Detour_Ex->UnHook(); - BitBlt(NULL, 0, 0, 0, 0, NULL, 0, 0, 0); - assert(BitBltHookVerifier == 1337); - - std::cout << (Detour_Ex->GetLastError().GetSeverity() != PLH::RuntimeError::Severity::UnRecoverable) << '\n'; - std::cout << (Detour_Ex->GetLastError().GetSeverity() != PLH::RuntimeError::Severity::Critical) << '\n'; -} -#endif - int main(int argc, char** argv) { AbstractHookEngine* engines[] = { - g_mhook, g_PolyHook, - g_MinHook + g_MinHook, + g_mhook, }; SelfTest(); diff --git a/tester/mhook.cpp b/tester/mhook.cpp index 805f6f4..e3bf139 100644 --- a/tester/mhook.cpp +++ b/tester/mhook.cpp @@ -80,6 +80,6 @@ bool MHook::unhook_all() { Mhook_Unhook((PVOID*)&trueBranch) && Mhook_Unhook((PVOID*)&trueAVX) && Mhook_Unhook((PVOID*)&trueRDRAND) && - //Mhook_Unhook((PVOID*)&trueLoop) && + Mhook_Unhook((PVOID*)&trueLoop) && Mhook_Unhook((PVOID*)&trueTailRecursion); } \ No newline at end of file diff --git a/tester/polyhook.cpp b/tester/polyhook.cpp index b796c7b..624f7ac 100644 --- a/tester/polyhook.cpp +++ b/tester/polyhook.cpp @@ -69,8 +69,8 @@ bool PolyHook::hook_all(void) { ret |= hook(detAVX, getAVX(), trueAVX, &PolyHook_Hooks::hookAVX); ret |= hook(detRDRAND, getRDRAND(), trueRDRAND, &PolyHook_Hooks::hookRDRAND); - ret |= hook(detLoop, getLoop(), trueLoop, &PolyHook_Hooks::hookLoop); - ret |= hook(detTailRecursion, getTailRecursion(), trueTailRecursion, &PolyHook_Hooks::hookTail_recursion); + //ret |= hook(detLoop, getLoop(), trueLoop, &PolyHook_Hooks::hookLoop); + //ret |= hook(detTailRecursion, getTailRecursion(), trueTailRecursion, &PolyHook_Hooks::hookTail_recursion); return ret; }