Comment by PeterStuer
2 days ago
Does WoW still use Blizzard's in house anti-cheat engine (Warden)? Interesting how the emulated version did not trip this.
2 days ago
Does WoW still use Blizzard's in house anti-cheat engine (Warden)? Interesting how the emulated version did not trip this.
The anti-cheat streams executable code into the client, and that code is mostly for detecting tampering with the game, injected modules, etc.
Not sure they care about it running in an emulated environment.
They do effectively allocate an executable memory region, copy the machine code that was streamed into it, and jump to it.
I guess in this case the emulation is an actual vm, rather than "rewrite x86 instructions into arm" (don't know much about this subject, but assumed that was how rosetta worked)
Rosetta 2 rewrites x86 instructions into ARM, but it does this on the fly for generated instructions too. When you put x86 machine code into a buffer and then jump to execute it, Rosetta 2 dynamically translates those generated instructions into arm before executing them.
At least that's what I gathered around the time it was released. It seems to hold up; JITed x86 applications work great under Rosetta 2.
In my experience they don't work great. JVM straight up crashed when Rosetta 2 was released and few years later it worked but with huge performance drop. Better than nothing, for sure.
I didn't know it did for quite a while. I have regularly emulated WoW on Linux since 2013 and not had any significant issues.
It's a userspace anti cheat so it's not a problem.
WoW anti-cheat is very weak. Bots are using fly-hacks, and nobody cares for weeks.