diff options
| author | boris <wzn@moneybot.cc> | 2019-01-02 21:11:03 +1300 |
|---|---|---|
| committer | boris <wzn@moneybot.cc> | 2019-01-02 21:11:03 +1300 |
| commit | c0f1354a301ce2a2fc867a89fafdde4571c07c02 (patch) | |
| tree | ea628b53a41f7d532efe100b94a41e4ca0429767 /csgo-loader/csgo-server | |
| parent | d1ec3d3bb3a87a08e1c9348ca6e482549ebde664 (diff) | |
6IX9INE "Billy" (WSHH Exclusive - Official Music Video)
Diffstat (limited to 'csgo-loader/csgo-server')
| -rw-r--r-- | csgo-loader/csgo-server/Login/RemoteLogin.cpp | 4 | ||||
| -rw-r--r-- | csgo-loader/csgo-server/Login/RemoteLogin.hpp | 3 | ||||
| -rw-r--r-- | csgo-loader/csgo-server/Networking/TCPServer.cpp | 6 | ||||
| -rw-r--r-- | csgo-loader/csgo-server/Server.cpp | 12 |
4 files changed, 16 insertions, 9 deletions
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 <Server.hpp>
-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)
{
|
