mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-04 04:03:52 +00:00
Implement the three stubbed Warden module callbacks that were previously TODO placeholders: - **sendPacket**: Encrypts module output via WardenCrypto RC4 and sends as CMSG_WARDEN_DATA through the game socket. Enables modules to send responses back to the server (required for strict servers like Warmane). - **validateModule**: Compares the module's provided 16-byte MD5 hash against the hash received during download. Logs error on mismatch (indicates corrupted module transit). - **generateRC4**: Derives new encrypt/decrypt RC4 keys from a 16-byte seed using SHA1Randx, then replaces the active WardenCrypto key state. Handles mid-session re-keying requested by the module. Architecture: - Add setCallbackDependencies() to inject WardenCrypto* and socket send function into WardenModule before load() is called - Use thread_local WardenModule* so C function pointer callbacks (which can't capture state) can reach the module's dependencies during init - Wire dependencies from WardenHandler before module load Also update warden_module.hpp status markers — RSA verification, zlib, executable parsing, relocation, and Unicorn emulation are all implemented (were incorrectly marked as TODO). Only API binding/IAT patching and RSA modulus verification against real WoW.exe remain as gaps. |
||
|---|---|---|
| .. | ||
| addons | ||
| audio | ||
| auth | ||
| core | ||
| game | ||
| network | ||
| pipeline | ||
| platform | ||
| rendering | ||
| third_party | ||
| ui | ||