![]() |
TrinityCore
|
#include <WardenWin.h>
Inheritance diagram for WardenWin:Public Member Functions | |
| WardenWin () | |
| void | Init (WorldSession *session, SessionKey const &K) override |
| void | InitializeModuleForClient (ClientWardenModule &module) override |
| void | InitializeModule () override |
| void | RequestHash () override |
| void | HandleHashResult (ByteBuffer &buff) override |
| void | RequestChecks () override |
| void | HandleCheckResult (ByteBuffer &buff) override |
| size_t | DEBUG_ForceSpecificChecks (std::vector< uint16 > const &checks) override |
Public Member Functions inherited from Warden | |
| Warden () | |
| virtual | ~Warden () |
| void | Update (uint32 diff) |
| void | HandleData (ByteBuffer &buff) |
| bool | ProcessLuaCheckResponse (std::string const &msg) |
Private Attributes | |
| uint32 | _serverTicks |
| std::array< std::pair< std::vector< uint16 >, std::vector< uint16 >::const_iterator >, NUM_CHECK_CATEGORIES > | _checks |
| std::vector< uint16 > | _currentChecks |
Additional Inherited Members | |
Protected Member Functions inherited from Warden | |
| void | DecryptData (uint8 *buffer, uint32 length) |
| void | EncryptData (uint8 *buffer, uint32 length) |
| void | MakeModuleForClient () |
| void | SendModuleToClient () |
| void | RequestModule () |
| char const * | ApplyPenalty (WardenCheck const *check) |
Static Protected Member Functions inherited from Warden | |
| static bool | IsValidCheckSum (uint32 checksum, const uint8 *data, const uint16 length) |
| static uint32 | BuildChecksum (const uint8 *data, uint32 length) |
Protected Attributes inherited from Warden | |
| WorldSession * | _session |
| std::array< uint8, 16 > | _inputKey = {} |
| std::array< uint8, 16 > | _outputKey = {} |
| std::array< uint8, 16 > | _seed = {} |
| Trinity::Crypto::ARC4 | _inputCrypto |
| Trinity::Crypto::ARC4 | _outputCrypto |
| uint32 | _checkTimer |
| uint32 | _clientResponseTimer |
| bool | _dataSent |
| Optional< ClientWardenModule > | _module |
| bool | _initialized |
Definition at line 67 of file WardenWin.h.
| WardenWin::WardenWin | ( | ) |
Definition at line 46 of file WardenWin.cpp.
References _checks, Trinity::Containers::RandomShuffle(), and sWardenCheckMgr.
|
overridevirtual |
Implements Warden.
Definition at line 533 of file WardenWin.cpp.
References _checks, and NUM_CHECK_CATEGORIES.
|
overridevirtual |
Implements Warden.
Definition at line 378 of file WardenWin.cpp.
References Warden::_checkTimer, Warden::_clientResponseTimer, _currentChecks, Warden::_dataSent, _serverTicks, Warden::_session, Warden::ApplyPenalty(), ByteArrayToHexStr(), CONFIG_WARDEN_CLIENT_CHECK_HOLDOFF, ByteBuffer::contents(), Trinity::Impl::GenericHash< HashCreator, DigestLength >::DIGEST_LENGTH, DRIVER_CHECK, WorldSession::GetAccountId(), GameTime::GetGameTimeMS(), WorldSession::GetPlayerInfo(), IN_MILLISECONDS, Warden::IsValidCheckSum(), LUA_EVAL_CHECK, MEM_CHECK, MODULE_CHECK, MPQ_CHECK, PAGE_CHECK_A, PAGE_CHECK_B, ByteBuffer::read(), ByteBuffer::read_skip(), ByteBuffer::rfinish(), ByteBuffer::rpos(), ByteBuffer::size(), sWardenCheckMgr, sWorld, TC_LOG_DEBUG, TC_LOG_WARN, EnumUtils::ToConstant(), and WardenCheck::Type.
|
overridevirtual |
Implements Warden.
Definition at line 164 of file WardenWin.cpp.
References Warden::_initialized, Warden::_inputCrypto, Warden::_inputKey, Warden::_outputCrypto, Warden::_outputKey, Warden::_session, Warden::ApplyPenalty(), Module_79C0768D657977D697E10BAD956CCED1::ClientKeySeed, Module_79C0768D657977D697E10BAD956CCED1::ClientKeySeedHash, WorldSession::GetPlayerInfo(), Trinity::Crypto::ARC4::Init(), Module, ByteBuffer::read(), Module_79C0768D657977D697E10BAD956CCED1::ServerKeySeed, TC_LOG_DEBUG, and TC_LOG_WARN.
|
overridevirtual |
Implements Warden.
Definition at line 57 of file WardenWin.cpp.
References Warden::_inputCrypto, Warden::_inputKey, Warden::_module, Warden::_outputCrypto, Warden::_outputKey, Warden::_seed, Warden::_session, ByteArrayToHexStr(), SessionKeyGenerator< Hash >::Generate(), WorldSession::GetAccountId(), Trinity::Crypto::ARC4::Init(), Warden::MakeModuleForClient(), Module, Warden::RequestModule(), Module_79C0768D657977D697E10BAD956CCED1::Seed, and TC_LOG_DEBUG.
|
overridevirtual |
Implements Warden.
Definition at line 90 of file WardenWin.cpp.
References Warden::_session, ByteBuffer::append(), Warden::BuildChecksum(), WardenInitModuleRequest::CheckSumm1, WardenInitModuleRequest::CheckSumm2, WardenInitModuleRequest::CheckSumm3, WardenInitModuleRequest::Command1, WardenInitModuleRequest::Command2, WardenInitModuleRequest::Command3, Warden::EncryptData(), EndianConvert(), WardenInitModuleRequest::Function1, WardenInitModuleRequest::Function2, WardenInitModuleRequest::Function2_set, WardenInitModuleRequest::Function3, WardenInitModuleRequest::Function3_set, WorldSession::SendPacket(), WardenInitModuleRequest::Size1, WardenInitModuleRequest::Size2, WardenInitModuleRequest::Size3, SMSG_WARDEN_DATA, WardenInitModuleRequest::String_library1, WardenInitModuleRequest::String_library2, WardenInitModuleRequest::String_library3, TC_LOG_DEBUG, WardenInitModuleRequest::Type, WardenInitModuleRequest::Unk1, WardenInitModuleRequest::Unk2, WardenInitModuleRequest::Unk3, WardenInitModuleRequest::Unk4, WardenInitModuleRequest::Unk5, WardenInitModuleRequest::Unk6, and WARDEN_SMSG_MODULE_INITIALIZE.
|
overridevirtual |
Implements Warden.
Definition at line 82 of file WardenWin.cpp.
|
overridevirtual |
Implements Warden.
Definition at line 213 of file WardenWin.cpp.
References _checks, _currentChecks, Warden::_dataSent, Warden::_inputKey, _luaEvalMidfix, _luaEvalPostfix, _luaEvalPrefix, _serverTicks, Warden::_session, WardenCheck::Address, ByteBuffer::append(), ByteBuffer::contents(), WardenCheck::Data, DRIVER_CHECK, Warden::EncryptData(), Trinity::Containers::EraseIf(), WorldSession::GetAccountId(), GetCheckPacketSize(), Trinity::Impl::GenericHMAC< HashCreator, DigestLength >::GetDigestOf(), GameTime::GetGameTimeMS(), WorldSession::GetPlayer(), WorldSession::GetPlayerName(), GetWardenCategoryCountConfig(), ByteBuffer::hexlike(), WardenCheck::IdStr, IsWardenCategoryInWorldOnly(), WardenCheck::Length, LUA_EVAL_CHECK, MEM_CHECK, MODULE_CHECK, MPQ_CHECK, PAGE_CHECK_A, PAGE_CHECK_B, WorldSession::PlayerLoading(), Trinity::Containers::RandomShuffle(), WorldSession::SendPacket(), ByteBuffer::size(), SMSG_WARDEN_DATA, WardenCheck::Str, sWardenCheckMgr, sWorld, TC_LOG_DEBUG, TC_LOG_WARN, TIMING_CHECK, EnumUtils::ToConstant(), WardenCheck::Type, and WARDEN_SMSG_CHEAT_CHECKS_REQUEST.
|
overridevirtual |
Implements Warden.
Definition at line 147 of file WardenWin.cpp.
References Warden::_seed, Warden::_session, ByteBuffer::append(), WardenHashRequest::Command, Warden::EncryptData(), WardenHashRequest::Seed, WorldSession::SendPacket(), SMSG_WARDEN_DATA, TC_LOG_DEBUG, and WARDEN_SMSG_HASH_REQUEST.
|
private |
Definition at line 84 of file WardenWin.h.
Referenced by DEBUG_ForceSpecificChecks(), RequestChecks(), and WardenWin().
|
private |
Definition at line 85 of file WardenWin.h.
Referenced by HandleCheckResult(), and RequestChecks().
|
private |
Definition at line 83 of file WardenWin.h.
Referenced by HandleCheckResult(), and RequestChecks().