aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/hookutils.cpp
diff options
context:
space:
mode:
authorBobTheBob9 <for.oliver.kirkham@gmail.com>2022-07-07 21:31:41 +0100
committerBobTheBob9 <for.oliver.kirkham@gmail.com>2022-07-07 21:31:41 +0100
commit2ae34b67e36b8ba05132d481876eb4ed7a826283 (patch)
tree63f44c8e2dcdc959d7a5317a3a7b36efedbd7d38 /NorthstarDLL/hookutils.cpp
parent3406de7aaaf52cbef20b1549f2d7da0255d30f51 (diff)
downloadNorthstarLauncher-2ae34b67e36b8ba05132d481876eb4ed7a826283.tar.gz
NorthstarLauncher-2ae34b67e36b8ba05132d481876eb4ed7a826283.zip
almost fully replaced hooking lib
Diffstat (limited to 'NorthstarDLL/hookutils.cpp')
-rw-r--r--NorthstarDLL/hookutils.cpp86
1 files changed, 43 insertions, 43 deletions
diff --git a/NorthstarDLL/hookutils.cpp b/NorthstarDLL/hookutils.cpp
index f5df3996..3e8209e2 100644
--- a/NorthstarDLL/hookutils.cpp
+++ b/NorthstarDLL/hookutils.cpp
@@ -1,44 +1,44 @@
-#include "pch.h"
-#include "hookutils.h"
-
-#include <iostream>
-
-void HookEnabler::CreateHook(LPVOID ppTarget, LPVOID ppDetour, LPVOID* ppOriginal, const char* targetName)
-{
- // the macro for this uses ppTarget's name as targetName, and this typically starts with &
- // targetname is used for debug stuff and debug output is nicer if we don't have this
- if (*targetName == '&')
- targetName++;
-
- if (MH_CreateHook(ppTarget, ppDetour, ppOriginal) == MH_OK)
- {
- HookTarget* target = new HookTarget;
- target->targetAddress = ppTarget;
- target->targetName = (char*)targetName;
-
- m_hookTargets.push_back(target);
- }
- else
- {
- if (targetName != nullptr)
- spdlog::error("MH_CreateHook failed for function {}", targetName);
- else
- spdlog::error("MH_CreateHook failed for unknown function");
- }
-}
-
-HookEnabler::~HookEnabler()
-{
- for (auto& hook : m_hookTargets)
- {
- if (MH_EnableHook(hook->targetAddress) != MH_OK)
- {
- if (hook->targetName != nullptr)
- spdlog::error("MH_EnableHook failed for function {}", hook->targetName);
- else
- spdlog::error("MH_EnableHook failed for unknown function");
- }
- else
- spdlog::info("Enabling hook {}", hook->targetName);
- }
+#include "pch.h"
+#include "hookutils.h"
+
+#include <iostream>
+
+void HookEnabler::CreateHook(LPVOID ppTarget, LPVOID ppDetour, LPVOID* ppOriginal, const char* targetName)
+{
+ // the macro for this uses ppTarget's name as targetName, and this typically starts with &
+ // targetname is used for debug stuff and debug output is nicer if we don't have this
+ if (*targetName == '&')
+ targetName++;
+
+ if (MH_CreateHook(ppTarget, ppDetour, ppOriginal) == MH_OK)
+ {
+ HookTarget* target = new HookTarget;
+ target->targetAddress = ppTarget;
+ target->targetName = (char*)targetName;
+
+ m_hookTargets.push_back(target);
+ }
+ else
+ {
+ if (targetName != nullptr)
+ spdlog::error("MH_CreateHook failed for function {}", targetName);
+ else
+ spdlog::error("MH_CreateHook failed for unknown function");
+ }
+}
+
+HookEnabler::~HookEnabler()
+{
+ for (auto& hook : m_hookTargets)
+ {
+ if (MH_EnableHook(hook->targetAddress) != MH_OK)
+ {
+ if (hook->targetName != nullptr)
+ spdlog::error("MH_EnableHook failed for function {}", hook->targetName);
+ else
+ spdlog::error("MH_EnableHook failed for unknown function");
+ }
+ else
+ spdlog::info("Enabling hook {}", hook->targetName);
+ }
} \ No newline at end of file