diff --git a/src/addons/lua_engine.cpp b/src/addons/lua_engine.cpp index 6148ddd0..5eccdf36 100644 --- a/src/addons/lua_engine.cpp +++ b/src/addons/lua_engine.cpp @@ -3869,6 +3869,7 @@ void LuaEngine::registerCoreAPI() { "function StopSound() end\n" "function UIParent_OnEvent() end\n" "UIParent = CreateFrame('Frame', 'UIParent')\n" + "UIPanelWindows = {}\n" "WorldFrame = CreateFrame('Frame', 'WorldFrame')\n" // GameTooltip: global tooltip frame used by virtually all addons "GameTooltip = CreateFrame('Frame', 'GameTooltip')\n" diff --git a/src/game/warden_memory.cpp b/src/game/warden_memory.cpp index 33127e2c..5b13456a 100644 --- a/src/game/warden_memory.cpp +++ b/src/game/warden_memory.cpp @@ -861,7 +861,7 @@ void WardenMemory::verifyWardenScanEntries() { bool WardenMemory::searchCodePattern(const uint8_t seed[4], const uint8_t expectedHash[20], uint8_t patternLen, bool imageOnly, uint32_t hintOffset, bool hintOnly) const { - if (!loaded_ || patternLen == 0 || patternLen > 255) return false; + if (!loaded_ || patternLen == 0) return false; // Build cache key from all inputs: seed(4) + hash(20) + patLen(1) + imageOnly(1) std::string cacheKey(26, '\0'); diff --git a/src/game/warden_module.cpp b/src/game/warden_module.cpp index eea0f0ee..bf44c26e 100644 --- a/src/game/warden_module.cpp +++ b/src/game/warden_module.cpp @@ -74,8 +74,7 @@ bool WardenModule::load(const std::vector& moduleData, // Step 3: Verify RSA signature if (!verifyRSASignature(decryptedData_)) { - LOG_ERROR("WardenModule: RSA signature verification failed!"); - // Note: Currently returns true (skipping verification) due to placeholder modulus + // Expected with placeholder modulus — verification is skipped gracefully } // Step 4: Strip RSA signature (last 256 bytes) then zlib decompress @@ -126,7 +125,7 @@ bool WardenModule::load(const std::vector& moduleData, return true; } -bool WardenModule::processCheckRequest(const std::vector& checkData, +bool WardenModule::processCheckRequest([[maybe_unused]] const std::vector& checkData, [[maybe_unused]] std::vector& responseOut) { if (!loaded_) { LOG_ERROR("WardenModule: Module not loaded, cannot process checks"); @@ -427,12 +426,11 @@ bool WardenModule::verifyRSASignature(const std::vector& data) { } } - LOG_ERROR("WardenModule: RSA signature verification FAILED (hash mismatch)"); - LOG_ERROR("WardenModule: NOTE: Using placeholder modulus - extract real modulus from WoW.exe for actual verification"); + LOG_WARNING("WardenModule: RSA signature verification skipped (placeholder modulus)"); + LOG_WARNING("WardenModule: Extract real modulus from WoW.exe for actual verification"); // For development, return true to proceed (since we don't have real modulus) // TODO: Set to false once real modulus is extracted - LOG_WARNING("WardenModule: Skipping RSA verification (placeholder modulus)"); return true; // TEMPORARY - change to false for production } @@ -705,7 +703,7 @@ bool WardenModule::parseExecutableFormat(const std::vector& exeData) { std::memcpy(moduleMemory_, exeData.data() + 4, rawCopySize); } relocDataOffset_ = 0; - LOG_ERROR("WardenModule: Could not parse copy/skip pairs (all known layouts failed); using raw payload fallback"); + LOG_WARNING("WardenModule: Could not parse copy/skip pairs (all known layouts failed); using raw payload fallback"); return true; }