diff options
author | Emma Miler <emma.pi@protonmail.com> | 2022-10-04 00:09:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-04 00:09:44 +0200 |
commit | dc0934d29caacc8da1e7df8b775d24b4e99c381c (patch) | |
tree | 9cc4bc7fb9ffc441e47ea3c13b1fcac4c5244c9c /NorthstarDLL | |
parent | c3b61514eeaebe0d6e592437081f10d2f757cba1 (diff) | |
download | NorthstarLauncher-dc0934d29caacc8da1e7df8b775d24b4e99c381c.tar.gz NorthstarLauncher-dc0934d29caacc8da1e7df8b775d24b4e99c381c.zip |
Clear token when not needed anymore (#282)
Also blocks migrateme
Diffstat (limited to 'NorthstarDLL')
-rw-r--r-- | NorthstarDLL/clientauthhooks.cpp | 18 | ||||
-rw-r--r-- | NorthstarDLL/exploitfixes.cpp | 2 |
2 files changed, 20 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; } diff --git a/NorthstarDLL/exploitfixes.cpp b/NorthstarDLL/exploitfixes.cpp index aa5adae3..0aa0a3bf 100644 --- a/NorthstarDLL/exploitfixes.cpp +++ b/NorthstarDLL/exploitfixes.cpp @@ -548,6 +548,8 @@ void ExploitFixes::LoadCallback_Full(HMODULE baseAddress) ns_exploitfixes_log = new ConVar("ns_exploitfixes_log", "1", FCVAR_GAMEDLL, "Whether to log whenever exploitfixes.cpp blocks/corrects something"); + g_pCVar->FindCommand("migrateme")->m_nFlags &= ~FCVAR_SERVER_CAN_EXECUTE; + HookEnabler hook; ENABLER_CREATEHOOK(hook, (char*)baseAddress + 0x2a8a50, &GetEntByIndexHook, reinterpret_cast<LPVOID*>(&GetEntByIndex)); } |