aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDedicatedTest/serverauthentication.cpp
diff options
context:
space:
mode:
authorGeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>2022-03-28 23:48:05 +0200
committerGitHub <noreply@github.com>2022-03-28 23:48:05 +0200
commitb8a7feabea6456f7fa5e8403c8d9bd2630401045 (patch)
treed6fa62ef39eb4fcfac1c1711f49ad86b2b6c59d3 /NorthstarDedicatedTest/serverauthentication.cpp
parent379cbc8bc251307777a14b901e5617e834398485 (diff)
downloadNorthstarLauncher-b8a7feabea6456f7fa5e8403c8d9bd2630401045.tar.gz
NorthstarLauncher-b8a7feabea6456f7fa5e8403c8d9bd2630401045.zip
More exploit fixes by KIttenPopo (#126)
* Quick fix for a bug I caused * Typo * Update kitten-fixes branch to my repo (#122) * Added string hash macro * Added convenient vtfunc macro * Made lil ConCommand creation macro * Fixed multiple NET_SetConVar exploits * Quick fixerino * Fix convar struct (and other things) * Revive clang-format (but good, i think) * Update .clang-format * Reformatted code to meet .clang-format requirements * Minor formatting fixes * Fixed Northstar "crashing" when console is closed * Update .clang-format * Quick fix for a bug I caused * Typo * NSMem Update * ExplotFixes: Only block excessive convar counts if server * Update ExploitFixes.cpp * Update ExploitFixes.cpp * Updated bytepatch format * reformatted all code for clang-format * Updated my clang-format to v13.0.0 * 3 fixes in 1 - ANTITAMPER fixed - NSMem simplification update - Fixed bad byte string in serverauthentication.cpp * Improved ExploitFixes logging and NET_SetConVar patch * clang-format unironically sabotaged my code * Made ns_exploitfixes_log on by default * Fixed IsMemoryReadable (oops) Co-authored-by: KittenPopo <Pokeberry123@gmail.com>
Diffstat (limited to 'NorthstarDedicatedTest/serverauthentication.cpp')
-rw-r--r--NorthstarDedicatedTest/serverauthentication.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/NorthstarDedicatedTest/serverauthentication.cpp b/NorthstarDedicatedTest/serverauthentication.cpp
index 4581e4b6..46fa6491 100644
--- a/NorthstarDedicatedTest/serverauthentication.cpp
+++ b/NorthstarDedicatedTest/serverauthentication.cpp
@@ -628,25 +628,26 @@ void InitialiseServerAuthentication(HMODULE baseAddress)
// patch to disable kicking based on incorrect serverfilter in connectclient, since we repurpose it for use as an auth token
{
- NSMem::BytePatch(ba + 0x114655, {
- 0xEB // jz => jmp
- });
+ NSMem::BytePatch(
+ ba + 0x114655,
+ "EB" // jz => jmp
+ );
}
// patch to disable fairfight marking players as cheaters and kicking them
{
- NSMem::BytePatch(ba + 0x101012, {
- 0xE9, // jz => jmp
- 0x90,
- 0x0
- });
+ NSMem::BytePatch(
+ ba + 0x101012,
+ "E9 90 00" // jz => jmp
+ );
}
// patch to allow same of multiple account
{
- NSMem::BytePatch(ba + 0x114510, {
- 0xEB, // jz => jmp
- });
+ NSMem::BytePatch(
+ ba + 0x114510,
+ "EB" // jz => jmp
+ );
}
// patch to set bWasWritingStringTableSuccessful in CNetworkStringTableContainer::WriteBaselines if it fails
@@ -654,9 +655,11 @@ void InitialiseServerAuthentication(HMODULE baseAddress)
uintptr_t writeAddress = (uintptr_t)(&bWasWritingStringTableSuccessful - (ba + 0x234EDC));
auto addr = ba + 0x234ED2;
- NSMem::BytePatch(addr, { 0xC7, 0x05 });
+ NSMem::BytePatch(addr, "C7 05");
NSMem::BytePatch(addr + 2, (BYTE*)&writeAddress, sizeof(writeAddress));
- NSMem::BytePatch(addr + 6, {0, 0, 0, 0});
+
+ NSMem::BytePatch(addr + 6, "00 00 00 00");
+
NSMem::NOP(addr + 10, 5);
}
}