diff options
| author | boris <wzn@moneybot.cc> | 2019-01-01 20:31:51 +1300 |
|---|---|---|
| committer | boris <wzn@moneybot.cc> | 2019-01-01 20:31:51 +1300 |
| commit | 7a3b48831bfc9c4aa8c39c1e42d5bf5dd73e43c5 (patch) | |
| tree | 954898c772081536a5ff4dc36a42591608b797c0 /csgo-loader/csgo-server/Security | |
| parent | b9702fe8541e61f27f5c788dc72feaefe5abfc0d (diff) | |
whole buncha fixes & switching to vmp
Diffstat (limited to 'csgo-loader/csgo-server/Security')
| -rw-r--r-- | csgo-loader/csgo-server/Security/Encryption.cpp | 22 | ||||
| -rw-r--r-- | csgo-loader/csgo-server/Security/Encryption.hpp | 12 |
2 files changed, 14 insertions, 20 deletions
diff --git a/csgo-loader/csgo-server/Security/Encryption.cpp b/csgo-loader/csgo-server/Security/Encryption.cpp index f4681b8..b42b4ab 100644 --- a/csgo-loader/csgo-server/Security/Encryption.cpp +++ b/csgo-loader/csgo-server/Security/Encryption.cpp @@ -580,13 +580,7 @@ namespace Wrapper // Generate random bytes to use as encryption key.
if(CryptGenRandom(m_CryptProvider, RandomBytesCount, RandomBytes))
- {
- m_EncryptionKey.insert(
- m_EncryptionKey.begin(),
- RandomBytes,
- RandomBytes + RandomBytesCount
- );
- }
+ std::memcpy(m_EncryptionKey, RandomBytes, RandomBytesCount);
// Release context.
if(m_CryptProvider)
@@ -597,7 +591,7 @@ namespace Wrapper {
// If an encryption key is provided, initialise the wrapper with
// the passed parameter.
- std::copy(EncryptionKey.begin(), EncryptionKey.end(), m_EncryptionKey.begin());
+ std::copy(EncryptionKey.begin(), EncryptionKey.end(), m_EncryptionKey);
if(EncryptionKey.empty())
Start();
@@ -608,11 +602,7 @@ namespace Wrapper // Encrypt outgoing data.
ByteArray Encrypted;
- #ifdef DEBUG
- Encrypted = Data;
- #else
- Aes256::encrypt(m_EncryptionKey, Data, Encrypted);
- #endif
+ Aes256::encrypt(GetKey(), Data, Encrypted);
return Encrypted;
}
@@ -622,11 +612,7 @@ namespace Wrapper // Decrypt incoming data.
ByteArray Decrypted;
- #ifdef DEBUG
- Decrypted = Data;
- #else
- Aes256::decrypt(m_EncryptionKey, Data, Decrypted);
- #endif
+ Aes256::decrypt(GetKey(), Data, Decrypted);
return Decrypted;
}
diff --git a/csgo-loader/csgo-server/Security/Encryption.hpp b/csgo-loader/csgo-server/Security/Encryption.hpp index b1c49dc..a69b349 100644 --- a/csgo-loader/csgo-server/Security/Encryption.hpp +++ b/csgo-loader/csgo-server/Security/Encryption.hpp @@ -71,7 +71,7 @@ namespace Wrapper // Encryption wrapper.
class Encryption
{
- ByteArray m_EncryptionKey;
+ uint8_t m_EncryptionKey[32];
HCRYPTPROV m_CryptProvider;
public:
@@ -87,7 +87,15 @@ namespace Wrapper // Exposes the encryption key.
ByteArray GetKey()
{
- return m_EncryptionKey;
+ ByteArray TemporaryKey;
+
+ TemporaryKey.insert(
+ TemporaryKey.begin(),
+ m_EncryptionKey,
+ m_EncryptionKey + sizeof m_EncryptionKey
+ );
+
+ return TemporaryKey;
}
};
}
\ No newline at end of file |
