aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorZeex <zeex@rocketmail.com>2023-02-10 00:00:32 +0600
committerZeex <zeex@rocketmail.com>2023-02-10 00:02:01 +0600
commit85a2406774613c7aa942a41b5651c7af79f7c702 (patch)
treeefba1620400e97d6f83c5bf14e246a79074ed6bb /tests
parent4f173b23239c017a9f3e53364fe371975aca2321 (diff)
downloadsubhook-85a2406774613c7aa942a41b5651c7af79f7c702.zip
subhook-85a2406774613c7aa942a41b5651c7af79f7c702.tar.gz
subhook-85a2406774613c7aa942a41b5651c7af79f7c702.tar.bz2
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
Diffstat (limited to 'tests')
-rw-r--r--tests/test.c10
-rw-r--r--tests/test.cpp14
2 files changed, 12 insertions, 12 deletions
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;