From 85a2406774613c7aa942a41b5651c7af79f7c702 Mon Sep 17 00:00:00 2001 From: Zeex Date: Fri, 10 Feb 2023 00:00:32 +0600 Subject: Add flag to support allocation of trampolines within 32-bit offset range of target code on 64-bit Windows Plus minor formatting fixes and more documentation for flags. Fixes #9 --- tests/test.c | 10 ++++------ tests/test.cpp | 14 ++++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/test.c b/tests/test.c index d8b39fd..a3ecb73 100644 --- a/tests/test.c +++ b/tests/test.c @@ -31,9 +31,8 @@ void foo_hooked_tr(void) { int main() { puts("Testing initial install"); - subhook_t foo_hook = subhook_new((void *)foo, - (void *)foo_hooked, - SUBHOOK_64BIT_OFFSET); + subhook_t foo_hook = subhook_new( + foo, foo_hooked, SUBHOOK_64BIT_OFFSET | SUBHOOK_TRAMPOLINE); if (foo_hook == NULL || subhook_install(foo_hook) < 0) { puts("Install failed"); return EXIT_FAILURE; @@ -62,9 +61,8 @@ int main() { puts("Testing trampoline"); - subhook_t foo_hook_tr = subhook_new((void *)foo, - (void *)foo_hooked_tr, - SUBHOOK_64BIT_OFFSET); + subhook_t foo_hook_tr = subhook_new( + foo, foo_hooked_tr, SUBHOOK_64BIT_OFFSET | SUBHOOK_TRAMPOLINE); if (subhook_install(foo_hook_tr) < 0) { puts("Install failed"); return EXIT_FAILURE; diff --git a/tests/test.cpp b/tests/test.cpp index 7ba167a..f31d1fb 100644 --- a/tests/test.cpp +++ b/tests/test.cpp @@ -30,9 +30,10 @@ void foo_hooked_tr() { int main() { std::cout << "Testing initial install" << std::endl; - subhook::Hook foo_hook((void *)foo, - (void *)foo_hooked, - subhook::HookFlag64BitOffset); + subhook::Hook foo_hook( + (void *)foo, + (void *)foo_hooked, + subhook::HookFlag64BitOffset | subhook::HookFlagTrampoline); if (!foo_hook.Install()) { std::cout << "Install failed" << std::endl; return EXIT_FAILURE; @@ -59,9 +60,10 @@ int main() { std::cout << "Testing trampoline" << std::endl; - subhook::Hook foo_hook_tr((void *)foo, - (void *)foo_hooked_tr, - subhook::HookFlag64BitOffset); + subhook::Hook foo_hook_tr( + (void *)foo, + (void *)foo_hooked_tr, + subhook::HookFlag64BitOffset | subhook::HookFlagTrampoline); if (!foo_hook_tr.Install()) { std::cout << "Install failed" << std::endl; return EXIT_FAILURE; -- cgit v1.1