Kelsi
ad511dad5e
fix: correct KUSER_SHARED_DATA field offsets for Warden anticheat
...
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
Multiple fields were at wrong offsets causing MEM_CHECK comparison
failures against expected Windows 7 SP1 values. Key fixes:
- LargePageMinimum: 0x248→0x244
- NtProductType at 0x264 was 0, now 1 (VER_NT_WORKSTATION)
- ProductTypeIsValid at 0x268 was missing
- ProcessorFeatures at 0x274 was clobbered by misplaced NtProductType
- NumberOfPhysicalPages: 0x300→0x2E8
- ActiveConsoleId at 0x2D8 was 4, now 1
- Added SuiteMask, NXSupportPolicy, and other missing fields
2026-03-16 20:55:30 -07:00
Kelsi
6fd32ecdc6
fix: skip Warden HASH_RESULT on strict servers when no CR match
...
Sending a wrong hash to AzerothCore/WotLK servers triggers an
account ban. When no pre-computed challenge-response entry matches
the server seed, skip the response entirely so the server times out
with a kick (recoverable) instead of verifying a bad hash and
banning (unrecoverable). Turtle/Classic servers remain unchanged
as they only log Warden failures.
Also adds RX silence detection and fixes Turtle isTurtle flag
propagation in MEM_CHECK path.
2026-03-16 17:38:25 -07:00
Kelsi
a3279ea1ad
fix: async Warden PAGE_A/PAGE_B checks to prevent main-loop stalls
...
Move 5-second brute-force HMAC-SHA1 code pattern searches to a
background thread via std::async. The main loop now detects PAGE_A/B
checks, launches the response builder async, and drains the result
in update() — encrypting and sending on the main thread to keep
wardenCrypto_ RC4 state thread-safe.
Also adds Turtle WoW PE binary support (isTurtle flag, dedicated exe
search, runtime patches), searchCodePattern with result caching,
writeLE32 public API, and Warden scan entry verification.
2026-03-16 16:46:29 -07:00
Kelsi
f0a515ff9c
fix: stabilize classic/turtle world session handling
Build / Build (arm64) (push) Has been cancelled
Build / Build (x86-64) (push) Has been cancelled
Build / Build (macOS arm64) (push) Has been cancelled
Build / Build (windows-arm64) (push) Has been cancelled
Build / Build (windows-x86-64) (push) Has been cancelled
Security / CodeQL (C/C++) (push) Has been cancelled
Security / Semgrep (push) Has been cancelled
Security / Sanitizer Build (ASan/UBSan) (push) Has been cancelled
2026-03-15 06:13:36 -07:00
Kelsi
43ebae217c
fix: align turtle world packet parsing
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
2026-03-15 03:40:58 -07:00
Kelsi
6ede9a2968
refactor: derive turtle opcodes from classic
2026-03-15 02:55:05 -07:00
Kelsi
b0fafe5efa
fix: stabilize turtle world entry session handling
2026-03-15 01:21:23 -07:00
Kelsi
4dba20b757
fix: avoid unsigned subtraction checks in packet bounds
2026-03-14 22:27:42 -07:00
Kelsi
eea3784976
fix: harden turtle movement parsing and warden fallback
2026-03-14 22:18:28 -07:00
Kelsi
f44ef7b9ea
fix: optimize turtle monster move wrapped parsing
2026-03-14 22:01:26 -07:00
Kelsi
f07b730473
fix(combatlog): reject truncated resist logs
2026-03-14 21:52:03 -07:00
Kelsi
385ac1e66c
fix(combatlog): reject truncated instakill logs without spell id
2026-03-14 21:52:03 -07:00
Kelsi
90bc9118f9
fix(combatlog): validate packed GUID bounds in spell energize log
2026-03-14 21:52:03 -07:00
Kelsi
b24da8463c
fix(combatlog): avoid partial spell miss log entries on truncation
2026-03-14 21:52:03 -07:00
Kelsi
c90c8fb8cf
fix(combatlog): parse full spell miss target lists
2026-03-14 21:52:03 -07:00
Kelsi
a962422b12
fix(combatlog): map alternate immune2 spell miss value
2026-03-14 21:52:03 -07:00
Kelsi
753f4ef1be
fix(combatlog): map immune2 spell miss results correctly
2026-03-14 21:52:03 -07:00
Kelsi
5911b8eb01
fix(combatlog): show resisted amount from resist log packets
2026-03-14 21:52:03 -07:00
Kelsi
5575fc6f28
fix(combatlog): preserve unknown source for environmental entries
2026-03-14 21:52:03 -07:00
Kelsi
38210ec186
fix(gameplay): keep timeout animation stable on repeated presses and harden M2 elevator sync
2026-03-14 09:02:20 -07:00
Kelsi
2c32b72f95
feat(ui): show keyring in inventory
2026-03-14 08:42:25 -07:00
Kelsi
cebca9a882
fix(gameplay): stabilize run animation and clean ghost/death visuals
2026-03-14 08:27:32 -07:00
Kelsi
9cd52c4dd7
fix(loot): gate auto-loot sends per loot session
2026-03-14 07:31:15 -07:00
Kelsi
5fa5020af5
fix(mail): use attachment item guid for WotLK take item
2026-03-14 07:11:18 -07:00
Kelsi
5a10ae9df0
fix(trade): allow accept after peer accepts first
2026-03-14 07:02:52 -07:00
Kelsi
5b195781ad
fix(death): restore corpse reclaim and enforce ghost grayscale
2026-03-14 06:43:49 -07:00
Kelsi
a2f9ccc9b9
fix(vendor): detect repair NPC flag correctly
2026-03-14 05:39:00 -07:00
Kelsi
7e7ad325dc
fix(vendor): request list inventory for repair gossip
2026-03-14 05:31:17 -07:00
Kelsi
251ed7733b
fix(loot): send GAMEOBJ_REPORT_USE when supported
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
2026-03-14 04:47:34 -07:00
Kelsi
5a63d3799c
fix(loot): retry delayed loot for gameobject use
2026-03-14 04:41:46 -07:00
Kelsi
011a148105
fix(combatlog): validate packed damage shield GUIDs
2026-03-14 02:01:07 -07:00
Kelsi
f6d8c01779
fix(combatlog): validate packed spell miss GUIDs
2026-03-14 01:54:01 -07:00
Kelsi
b059bbcf89
fix(combatlog): parse classic spell damage shield GUIDs as packed
2026-03-14 01:47:06 -07:00
Kelsi
468880e2c8
fix(combatlog): validate packed resist log GUIDs
2026-03-14 01:39:53 -07:00
Kelsi
0968a11234
fix(combatlog): validate packed instakill GUIDs
2026-03-14 01:32:45 -07:00
Kelsi
a48f6d1044
fix(combatlog): parse classic immune log GUIDs as packed
2026-03-14 01:25:47 -07:00
Kelsi
0fc887a3d2
fix(combatlog): validate packed proc log GUIDs
2026-03-14 01:18:28 -07:00
Kelsi
dbdc45a8a9
fix(combatlog): validate packed dispel-family GUIDs
2026-03-14 01:10:43 -07:00
Kelsi
bd8c46fa49
fix(combatlog): parse classic dispel failed GUIDs as packed
2026-03-14 01:00:56 -07:00
Kelsi
1fa2cbc64e
fix(combatlog): parse classic dispel and spellsteal GUIDs as packed
2026-03-14 00:53:42 -07:00
Kelsi
fd8ea4e69e
fix(combatlog): parse classic proc log GUIDs as packed
2026-03-14 00:45:50 -07:00
Kelsi
8ba5ca5337
fix(combatlog): parse classic instakill log GUIDs as packed
2026-03-14 00:38:22 -07:00
Kelsi
9c3b5d17cf
fix(combatlog): parse classic resist log GUIDs as packed
2026-03-14 00:31:35 -07:00
Kelsi
ed5134d601
fix(combatlog): parse classic spelllogexecute GUIDs as packed
2026-03-14 00:24:21 -07:00
Kelsi
a147347393
fix(combattext): honor health leech multipliers
2026-03-14 00:16:28 -07:00
Kelsi
209f8db382
fix(combattext): honor power drain multipliers
2026-03-14 00:06:05 -07:00
Kelsi
64483a31d5
fix(combattext): show power drain separately from damage
2026-03-13 23:56:44 -07:00
Kelsi
e9d2c43191
fix(combatlog): validate classic spelllogexecute packed GUIDs
2026-03-13 23:47:57 -07:00
Kelsi
842771cb10
fix(combatlog): validate tbc spelllogexecute effect GUIDs
2026-03-13 23:40:39 -07:00
Kelsi
57265bfa4f
fix(combattext): render evade results explicitly
2026-03-13 23:32:57 -07:00