From c0f1354a301ce2a2fc867a89fafdde4571c07c02 Mon Sep 17 00:00:00 2001 From: boris Date: Wed, 2 Jan 2019 21:11:03 +1300 Subject: 6IX9INE "Billy" (WSHH Exclusive - Official Music Video) --- csgo-loader/csgo-server/Login/RemoteLogin.cpp | 4 +++- csgo-loader/csgo-server/Login/RemoteLogin.hpp | 3 ++- csgo-loader/csgo-server/Networking/TCPServer.cpp | 6 ------ csgo-loader/csgo-server/Server.cpp | 12 +++++++++++- 4 files changed, 16 insertions(+), 9 deletions(-) (limited to 'csgo-loader/csgo-server') diff --git a/csgo-loader/csgo-server/Login/RemoteLogin.cpp b/csgo-loader/csgo-server/Login/RemoteLogin.cpp index 3cc5c77..2f30e7f 100644 --- a/csgo-loader/csgo-server/Login/RemoteLogin.cpp +++ b/csgo-loader/csgo-server/Login/RemoteLogin.cpp @@ -33,6 +33,8 @@ namespace Login return RemoteLoginResponse::INVALID_CREDENTIALS; // User failed to obtain HWID? + printf("[ => ] User HWID: %llx\n", m_Header.m_HardwareId); + if(!m_Header.m_HardwareId) { // TODO: Shadow ban the user. @@ -41,7 +43,7 @@ namespace Login } // TODO: Check if the HWID is present in DB. - if(false) + if(m_Header.m_HardwareId != 0x2F769B06FA897376) return RemoteLoginResponse::INVALID_HARDWARE; // TODO: Check if the user has a subscription. diff --git a/csgo-loader/csgo-server/Login/RemoteLogin.hpp b/csgo-loader/csgo-server/Login/RemoteLogin.hpp index f69e588..c3ceea3 100644 --- a/csgo-loader/csgo-server/Login/RemoteLogin.hpp +++ b/csgo-loader/csgo-server/Login/RemoteLogin.hpp @@ -21,7 +21,7 @@ namespace Login char m_Password[128]; // This will provide the hardware ID of the machine. - uint32_t m_HardwareId; + uint64_t m_HardwareId; // These fields will be set according // to security check results. @@ -45,6 +45,7 @@ namespace Login NO_SUBSCRIPTION = 'G', // '[000G:{HWID}] No active subscription.' ACCESS_SPECIAL_USER = 'H', // Allows the user to continue, sets the m_SpecialAccess var }; + // Implementation of the server (handles login bullshit). class RemoteLoginServer { diff --git a/csgo-loader/csgo-server/Networking/TCPServer.cpp b/csgo-loader/csgo-server/Networking/TCPServer.cpp index 37a21bc..0652fe5 100644 --- a/csgo-loader/csgo-server/Networking/TCPServer.cpp +++ b/csgo-loader/csgo-server/Networking/TCPServer.cpp @@ -22,12 +22,6 @@ namespace Networking if(Result == -1) printf("[ E! ] Failed to send %zd bytes to %s. (Socket %04Ix)\n", Bytes.size(), m_IpAddress, m_Socket); - - // Stay in sync with client. - ByteArray Array = ReceiveRawBytes(); - - if(Array.empty()) - printf("[ E! ] No client reply.\n"); } ByteArray TCPConnection::ReceiveRawBytes() diff --git a/csgo-loader/csgo-server/Server.cpp b/csgo-loader/csgo-server/Server.cpp index 580c17a..a78bb9a 100644 --- a/csgo-loader/csgo-server/Server.cpp +++ b/csgo-loader/csgo-server/Server.cpp @@ -1,6 +1,16 @@ #include -void ConnectionHandler(Networking::TCPConnection &Connection) { } +void ConnectionHandler(Networking::TCPConnection &Connection) { + Login::RemoteLoginServer LoginServer; + + ByteArray LoginHeader = Connection.ReceiveBytes(); + + if(!LoginServer.Start(LoginHeader)) + return; + + ByteArray LoginReply = LoginServer.GetResponse(); + Connection.SendBytes(LoginReply); +} int __stdcall WinMain(HINSTANCE, HINSTANCE, char*, int) { -- cgit v1.2.3