aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/clientauthhooks.cpp
diff options
context:
space:
mode:
authorEmma Miler <emma.pi@protonmail.com>2022-10-04 00:09:44 +0200
committerGitHub <noreply@github.com>2022-10-04 00:09:44 +0200
commitdc0934d29caacc8da1e7df8b775d24b4e99c381c (patch)
tree9cc4bc7fb9ffc441e47ea3c13b1fcac4c5244c9c /NorthstarDLL/clientauthhooks.cpp
parentc3b61514eeaebe0d6e592437081f10d2f757cba1 (diff)
downloadNorthstarLauncher-dc0934d29caacc8da1e7df8b775d24b4e99c381c.tar.gz
NorthstarLauncher-dc0934d29caacc8da1e7df8b775d24b4e99c381c.zip
Clear token when not needed anymore (#282)
Also blocks migrateme
Diffstat (limited to 'NorthstarDLL/clientauthhooks.cpp')
-rw-r--r--NorthstarDLL/clientauthhooks.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/NorthstarDLL/clientauthhooks.cpp b/NorthstarDLL/clientauthhooks.cpp
index cdabf7f2..3235e6cd 100644
--- a/NorthstarDLL/clientauthhooks.cpp
+++ b/NorthstarDLL/clientauthhooks.cpp
@@ -15,6 +15,11 @@ const int NOT_DECIDED_TO_SEND_TOKEN = 0;
const int AGREED_TO_SEND_TOKEN = 1;
const int DISAGREED_TO_SEND_TOKEN = 2;
+typedef char* (*Auth3PTokenType)();
+Auth3PTokenType Auth3PToken;
+
+char* token_location = 0x0;
+
void AuthWithStryderHook(void* a1)
{
// game will call this forever, until it gets a valid auth key
@@ -33,6 +38,17 @@ void AuthWithStryderHook(void* a1)
AuthWithStryder(a1);
}
+char* Auth3PTokenHook()
+{
+ if (g_MasterServerManager->m_sOwnClientAuthToken[0] != 0)
+ {
+ memset(token_location, 0x0, 1024);
+ strcpy(token_location, "Protocol 3: Protect the Pilot");
+ }
+
+ return Auth3PToken();
+}
+
void InitialiseClientAuthHooks(HMODULE baseAddress)
{
// this cvar will save to cfg once initially agreed with
@@ -44,4 +60,6 @@ void InitialiseClientAuthHooks(HMODULE baseAddress)
HookEnabler hook;
ENABLER_CREATEHOOK(hook, (char*)baseAddress + 0x1843A0, &AuthWithStryderHook, reinterpret_cast<LPVOID*>(&AuthWithStryder));
+ ENABLER_CREATEHOOK(hook, (char*)baseAddress + 0x183760, &Auth3PTokenHook, reinterpret_cast<LPVOID*>(&Auth3PToken));
+ token_location = (char*)baseAddress + 0x13979D80;
}