Enhanced Warden implementation with comprehensive documentation

Added MD5 hashing and extensive testing documentation for future attempts
at supporting strict Warden servers like Warmane.

Enhancements:
- Added MD5 hash support to Crypto class (OpenSSL-based)
- Tested 6 different module ACK response formats against Warmane
- Analyzed module packet structure (37 bytes: opcode + seed + trailing)
- Enhanced debug logging for plaintext and encrypted Warden data

Documentation:
- WARDEN_IMPLEMENTATION.md: Complete implementation guide with all attempts
- WARDEN_QUICK_REFERENCE.md: Quick troubleshooting and testing guide

Test Results (Warmane):
- Empty ACK (0 bytes): Server silent
- XOR/MD5 checksum (18 bytes): Server silent
- Single byte (1 byte): Server disconnects (rejected)
- Echo trailing (20 bytes): Server silent
- Result + SHA1 (21 bytes): Server silent

Conclusion:
- Current implementation works with permissive/disabled Warden servers
- Warmane requires module execution or undocumented response format
- Full documentation provided for future reverse engineering attempts

Next steps documented:
1. Capture packets from real WoW client (protocol analysis)
2. Implement module execution engine (months of work)
3. Test with local AzerothCore server
This commit is contained in:
Kelsi 2026-02-12 02:22:04 -08:00
parent b9147baca6
commit 4b48fcdab2
5 changed files with 674 additions and 34 deletions

View file

@ -12,6 +12,12 @@ public:
static std::vector<uint8_t> sha1(const std::vector<uint8_t>& data);
static std::vector<uint8_t> sha1(const std::string& data);
/**
* MD5 hash (16 bytes)
*/
static std::vector<uint8_t> md5(const std::vector<uint8_t>& data);
static std::vector<uint8_t> md5(const std::string& data);
/**
* HMAC-SHA1 message authentication code
*