Does someone knows how it will work?
- Some wine/proton wizardry
- Gaming VM with GPU passthrough
I prefer proper cracks like the good old groups CODEX/EMPRESS/CRY/Razor1911/SKIDROW/RELOADED/HOODLUM or modern Voices38
I wonder how much do these kind of dunovo bypasses (hypervisor) affect performance?
Words can’t express how much joy it gives me to see Denuvo get defeated. Smug bastards thought their malware was impenetrable.
what is DenuvOwO?
Hypervisor crack. It’s a new type of hack that can bypass denuvo, and it works for any game; unlike the old way where you need to crack each game independently
The catch is that it needs kernel access to work, on Windows at least.
does the bypass work in a virtual machine?
Welp, that would explain why seemingly every Denuvo game has been getting cracked, lately.
I suspected somebody(s) had just figured out how to bypass the entire thing, but hadn’t had that confirmed untill now.
Actually there has been a cracker named voices something, who has been cracking a lot of denuvo games these past months.
Yeah, that they’ve even been going back and cracking older games that shipped with Denuvo, but had not been cracked around their initiap release date… suggested to me that somebody figured out some method that applied more globally to Denuvo itself, as opposed to particular implementations of it.
Cool thanks!
According to their now deleted Reddit account, it will use a custom Proton build on Intel and Zen 4 CPUs. For every other CPU you will need a kernel module.
Correction: usermode is only supported by zen4 (or newer) and intel Ivy Bridge (or newer).
The reason is pretty simple: only from those generations onwards a new instruction was added (cpuid faulting) which is executed in the hardware itself, old generations simply lacks the silicon for it.
cpu faulting is used to trap usermode cpuid calls and can be used to return spoofed values, without needing an hypervisor.
If ivy bridge then from 3 gen which means pretty much any Intel made from 2012.
But for AMD from 7000 series which means CPU from 2022.
It sucks to be AMD user.
yeah, more on that: linux kernel has support for cpuid faulting for supported intel cpus since 2017, while amd since only last year. Not sure why amd was slower on this.
I wonder if the new 5800X3D will support it. I’d give it maybe a 1% chance. I doubt they changed all that much. Sure would be nice for people on AM4, though.
No, 5800x3d is zen3 sadly.
But you can actually test it with a small python script:
# docs: https://man.archlinux.org/man/arch_prctl.2 import ctypes import errno import mmap import os import signal import subprocess import sys SYS_arch_prctl = 158 ARCH_SET_CPUID = 0x1012 libc = ctypes.CDLL(None, use_errno=True) libc.syscall.restype = ctypes.c_long def arch_set_cpuid(enabled: bool) -> None: rc = libc.syscall(SYS_arch_prctl, ARCH_SET_CPUID, 1 if enabled else 0) if rc != 0: e = ctypes.get_errno() raise OSError(e, os.strerror(e)) def make_cpuid_stub(): # push rbx # xor eax, eax # cpuid # pop rbx # ret code = b"\x53\x31\xc0\x0f\xa2\x5b\xc3" mm = mmap.mmap( -1, len(code), flags=mmap.MAP_PRIVATE | mmap.MAP_ANONYMOUS, prot=mmap.PROT_READ | mmap.PROT_WRITE | mmap.PROT_EXEC, ) mm.write(code) addr = ctypes.addressof(ctypes.c_char.from_buffer(mm)) func = ctypes.CFUNCTYPE(None)(addr) func._mm = mm return func def child(): cpuid = make_cpuid_stub() print("Trying normal CPUID...") cpuid() print("Normal CPUID worked.") try: arch_set_cpuid(False) except OSError as e: if e.errno == errno.ENODEV: print("CPU does not support CPUID faulting.") return 2 raise print("CPUID disabled for this thread. Calling CPUID again...") cpuid() # should SIGSEGV -11 if faulting is supported print("Unexpected: CPUID did not fault.") return 0 if __name__ == "__main__": if len(sys.argv) > 1 and sys.argv[1] == "child": raise SystemExit(child()) p = subprocess.run([sys.executable, __file__, "child"], text=True) print(f"child exit code: {p.returncode}") if p.returncode == -signal.SIGSEGV: print("Result: CPUID faulting is supported and worked.") elif p.returncode == 2: print("Result: CPUID faulting is not supported by the hardware.") else: print("Result: test did not complete cleanly.")I was referring to AMD bringing the 5800X3D out of retirement. They said that they redesigned it. It’s probably just moving the cache under the CPU like on Zen5 3D, but I feel like there’s a very slight chance.
you will need a kernel module.
Yeah, Nah. That’s a nope, especially given it can be done in proton. Also, updated Denuvo in 3.2.1…
Denuvo, just say no.
No it cannot be done with proton alone. Proton/wine is only a translation layer: if a program makes cpuid calls, proton/wine cannot intercept them because cpuid is executed directly on hardware silicon.
Kinda sucks for other architectures if only ryzen 7000 is supported
Or if building proton for different architectures is feasible.
Hopefully it won’t need root or a hypervisor.
If it makes some wine/proton wizardry, amazing! Else if it’s just like Windows, that shit will never enter my system
It already works through heroic. I was able to get the cracked resident evil working the day after release.
The RE crack is not a HV Denuvo bypass, but a full-on Denuvo removal. That’s why it works via Proton
Neat, I didn’t know that.
Isn’t the last game to get Denuvo completely removed by a cracker Assassin’s Creed Origins?
This voices38 guy has done an amazing work at removing denuvo these past few months. Hell they even cracked the Lego Batman game on day one, no hipervisor needed!
not a HV Denuvo bypass, but a full-on Denuvo removal
The only way to fly. And why pirating games is a better experience than actually paying for them.
Is there instruction?
Install using heroic, switch Proton versions until it works.
Then you are using normal crack not hypervisor bypass









