[Auth]: Undo this (#929)
This commit is contained in:
parent
e945652dc1
commit
d53fc404b2
@ -273,16 +273,33 @@ namespace Components
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Auth::NET_IsLocalAddressStub(Game::netadr_t adr)
|
__declspec(naked) void Auth::DirectConnectPrivateClientStub()
|
||||||
{
|
{
|
||||||
if (HasAccessToReservedSlot)
|
__asm
|
||||||
{
|
{
|
||||||
// Bypass sv_privateClients if client has the password
|
push eax
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Only bypass if address is local. Original behaviour
|
mov al, HasAccessToReservedSlot
|
||||||
return Utils::Hook::Call<int(Game::netadr_t)>(0x402BD0)(adr);
|
test al, al
|
||||||
|
|
||||||
|
pop eax
|
||||||
|
|
||||||
|
je noAccess
|
||||||
|
|
||||||
|
// Set the number of private clients to 0 if the client has the right password
|
||||||
|
xor eax, eax
|
||||||
|
jmp safeContinue
|
||||||
|
|
||||||
|
noAccess:
|
||||||
|
mov eax, dword ptr [edx + 0x10]
|
||||||
|
|
||||||
|
safeContinue:
|
||||||
|
// Game code skipped by hook
|
||||||
|
add esp, 0xC
|
||||||
|
|
||||||
|
push 0x460FB3
|
||||||
|
ret
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned __int64 Auth::GetKeyHash(const std::string& key)
|
unsigned __int64 Auth::GetKeyHash(const std::string& key)
|
||||||
@ -467,7 +484,8 @@ namespace Components
|
|||||||
// Install registration hook
|
// Install registration hook
|
||||||
Utils::Hook(0x6265F9, DirectConnectStub, HOOK_JUMP).install()->quick();
|
Utils::Hook(0x6265F9, DirectConnectStub, HOOK_JUMP).install()->quick();
|
||||||
Utils::Hook(0x460EF5, Info_ValueForKeyStub, HOOK_CALL).install()->quick();
|
Utils::Hook(0x460EF5, Info_ValueForKeyStub, HOOK_CALL).install()->quick();
|
||||||
Utils::Hook(0x460F89, NET_IsLocalAddressStub, HOOK_CALL).install()->quick();
|
Utils::Hook(0x460FAD, DirectConnectPrivateClientStub, HOOK_JUMP).install()->quick();
|
||||||
|
Utils::Hook::Nop(0x460FAD + 5, 1);
|
||||||
|
|
||||||
Utils::Hook(0x41D3E3, SendConnectDataStub, HOOK_CALL).install()->quick();
|
Utils::Hook(0x41D3E3, SendConnectDataStub, HOOK_CALL).install()->quick();
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ namespace Components
|
|||||||
static void ParseConnectData(Game::msg_t* msg, Game::netadr_t* addr);
|
static void ParseConnectData(Game::msg_t* msg, Game::netadr_t* addr);
|
||||||
static void DirectConnectStub();
|
static void DirectConnectStub();
|
||||||
static char* Info_ValueForKeyStub(const char* s, const char* key);
|
static char* Info_ValueForKeyStub(const char* s, const char* key);
|
||||||
static int NET_IsLocalAddressStub(Game::netadr_t adr);
|
static void DirectConnectPrivateClientStub();
|
||||||
|
|
||||||
static void Frame();
|
static void Frame();
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user