https://bugs.winehq.org/show_bug.cgi?id=49198
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello Zeb,
the patch works. Thanks.
--- snip --- $ WINEDEBUG=+seh,+relay,+ntoskrnl,+loaddll,+module,+ntdll,+virtual wine net start "Denuvo Anti-Cheat" >>log.txt 2>&1 ... 00d0:trace:virtual:map_view got mem in reserved area 0xc80000-0xe04000 00d0:trace:module:map_image mapped PE file at 0xc80000-0xe04000 00d0:trace:module:map_image mapping section .text at 0xc81000 off 600 size 75200 virt 75200 flags 68000020 00d0:trace:module:map_image clearing 0xcf6200 - 0xcf7000 00d0:trace:module:map_image mapping section .rdata at 0xcf7000 off 75800 size 2fa00 virt 30000 flags 48000020 00d0:trace:module:map_image clearing 0xd26a00 - 0xd27000 00d0:trace:module:map_image mapping section .data at 0xd27000 off a5200 size 200 virt 5000 flags c8000020 00d0:trace:module:map_image clearing 0xd27200 - 0xd28000 00d0:trace:module:map_image mapping section .pdata at 0xd2c000 off a5400 size 7800 virt 8000 flags 48000040 00d0:trace:module:map_image clearing 0xd33800 - 0xd34000 00d0:trace:module:map_image mapping section .gfids at 0xd34000 off acc00 size 200 virt 1000 flags 48000020 00d0:trace:module:map_image clearing 0xd34200 - 0xd35000 00d0:trace:module:map_image mapping section PAGE at 0xd35000 off ace00 size 400 virt 400 flags 68000020 00d0:trace:module:map_image clearing 0xd35400 - 0xd36000 00d0:trace:module:map_image mapping section .edata at 0xd36000 off ad200 size 200 virt 1000 flags 48000020 00d0:trace:module:map_image clearing 0xd36200 - 0xd37000 00d0:trace:module:map_image mapping section INIT at 0xd37000 off ad400 size e00 virt e00 flags 68000020 00d0:trace:module:map_image clearing 0xd37e00 - 0xd38000 00d0:trace:module:map_image mapping section .rsrc at 0xd38000 off ae200 size 1a00 virt 2000 flags 48000020 00d0:trace:module:map_image clearing 0xd39a00 - 0xd3a000 00d0:trace:module:map_image mapping section at 0xd3a000 off afc00 size c1a00 virt c1828 flags 68000020 00d0:trace:module:map_image clearing 0xdfba00 - 0xdfc000 00d0:trace:module:map_image mapping section at 0xdfc000 off 171600 size e00 virt c2c flags 48000020 00d0:trace:module:map_image clearing 0xdfce00 - 0xdfd000 00d0:trace:module:map_image mapping section at 0xdfd000 off 172400 size 600 virt 480 flags c8000020 00d0:trace:module:map_image clearing 0xdfd600 - 0xdfe000 00d0:trace:module:map_image mapping section at 0xdfe000 off 172a00 size 800 virt 696 flags 68000020 00d0:trace:module:map_image clearing 0xdfe800 - 0xdff000 00d0:trace:module:map_image mapping section .rdata at 0xdff000 off 173200 size 1400 virt 12d4 flags 48000040 00d0:trace:module:map_image clearing 0xe00400 - 0xe01000 00d0:trace:module:map_image mapping section .rsrc at 0xe01000 off 174600 size 600 virt 4f8 flags 42000040 00d0:trace:module:map_image clearing 0xe01600 - 0xe02000 00d0:trace:module:map_image mapping section .reloc at 0xe02000 off 174c00 size 1c00 virt 1a60 flags 42000040 00d0:trace:module:map_image clearing 0xe03c00 - 0xe04000 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfdfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfe000 - 0xdfefff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- ... 00d0:Call ntdll.LdrProcessRelocationBlock(00d27000,10000000a,00e03924,fffffffec0c80000) ret=00236ac4 00d0:Ret ntdll.LdrProcessRelocationBlock() retval=00e03938 ret=00236ac4 00d0:Call KERNEL32.VirtualProtect(00d27000,00001000,00000008,00b5f7c0) ret=00236ada 00d0:Call ntdll.NtProtectVirtualMemory(ffffffffffffffff,00b5f6d0,00b5f6c8,00000008,00b5f7c0) ret=7b02d008 00d0:trace:virtual:NtProtectVirtualMemory 0xffffffffffffffff 0xd27000 00001000 00000008 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfdfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfe000 - 0xdfefff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- 00d0:Ret ntdll.NtProtectVirtualMemory() retval=00000000 ret=7b02d008 00d0:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00236ada 00d0:Call KERNEL32.VirtualProtect(00d28000,00001000,00000008,00b5f7a0) ret=00236aed 00d0:Call ntdll.NtProtectVirtualMemory(ffffffffffffffff,00b5f6d0,00b5f6c8,00000008,00b5f7a0) ret=7b02d008 00d0:trace:virtual:NtProtectVirtualMemory 0xffffffffffffffff 0xd28000 00001000 00000008 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfdfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfe000 - 0xdfefff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- 00d0:Ret ntdll.NtProtectVirtualMemory() retval=00000000 ret=7b02d008 00d0:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00236aed 00d0:Call KERNEL32.VirtualProtect(00dfd000,00001000,00000004,00b5f7c0) ret=00236a80 00d0:Call ntdll.NtProtectVirtualMemory(ffffffffffffffff,00b5f6d0,00b5f6c8,00000004,00b5f7c0) ret=7b02d008 00d0:trace:virtual:NtProtectVirtualMemory 0xffffffffffffffff 0xdfd000 00001000 00000004 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfdfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfe000 - 0xdfefff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- 00d0:Ret ntdll.NtProtectVirtualMemory() retval=00000000 ret=7b02d008 00d0:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00236a80 00d0:Call KERNEL32.VirtualProtect(00dfe000,00001000,00000004,00b5f7a0) ret=00236a9d 00d0:Call ntdll.NtProtectVirtualMemory(ffffffffffffffff,00b5f6d0,00b5f6c8,00000004,00b5f7a0) ret=7b02d008 00d0:trace:virtual:NtProtectVirtualMemory 0xffffffffffffffff 0xdfe000 00001000 00000004 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfefff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- 00d0:Ret ntdll.NtProtectVirtualMemory() retval=00000000 ret=7b02d008 00d0:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00236a9d 00d0:Call ntdll.LdrProcessRelocationBlock(00dfd000,100000090,00e03940,fffffffec0c80000) ret=00236ac4 00d0:Ret ntdll.LdrProcessRelocationBlock() retval=00e03a60 ret=00236ac4 00d0:Call KERNEL32.VirtualProtect(00dfd000,00001000,00000008,00b5f7c0) ret=00236ada 00d0:Call ntdll.NtProtectVirtualMemory(ffffffffffffffff,00b5f6d0,00b5f6c8,00000008,00b5f7c0) ret=7b02d008 00d0:trace:virtual:NtProtectVirtualMemory 0xffffffffffffffff 0xdfd000 00001000 00000008 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfefff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- 00d0:Ret ntdll.NtProtectVirtualMemory() retval=00000000 ret=7b02d008 00d0:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00236ada 00d0:Call KERNEL32.VirtualProtect(00dfe000,00001000,00000020,00b5f7a0) ret=00236aed 00d0:Call ntdll.NtProtectVirtualMemory(ffffffffffffffff,00b5f6d0,00b5f6c8,00000020,00b5f7a0) ret=7b02d008 00d0:trace:virtual:NtProtectVirtualMemory 0xffffffffffffffff 0xdfe000 00001000 00000020 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfdfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfe000 - 0xdfefff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- 00d0:Ret ntdll.NtProtectVirtualMemory() retval=00000000 ret=7b02d008 00d0:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00236aed 00d0:Call KERNEL32.VirtualProtect(00c800d0,00000108,00000004,00b5f7a4) ret=00236b91 00d0:Call ntdll.NtProtectVirtualMemory(ffffffffffffffff,00b5f6d0,00b5f6c8,00000004,00b5f7a4) ret=7b02d008 00d0:trace:virtual:NtProtectVirtualMemory 0xffffffffffffffff 0xc800d0 00000108 00000004 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfdfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfe000 - 0xdfefff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- 00d0:Ret ntdll.NtProtectVirtualMemory() retval=00000000 ret=7b02d008 00d0:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00236b91 00d0:Call KERNEL32.VirtualProtect(00c800d0,00000108,00000002,00b5f7a4) ret=00236bb0 00d0:Call ntdll.NtProtectVirtualMemory(ffffffffffffffff,00b5f6d0,00b5f6c8,00000002,00b5f7a4) ret=7b02d008 00d0:trace:virtual:NtProtectVirtualMemory 0xffffffffffffffff 0xc800d0 00000108 00000002 00d0:trace:virtual:VIRTUAL_DumpView View: 0xc80000 - 0xe03fff (image) 00d0:trace:virtual:VIRTUAL_DumpView 0xc80000 - 0xc80fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xc81000 - 0xcf6fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xcf7000 - 0xd26fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd27000 - 0xd2bfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xd2c000 - 0xd34fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd35000 - 0xd35fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd36000 - 0xd36fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd37000 - 0xd37fff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xd38000 - 0xd39fff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xd3a000 - 0xdfbfff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdfc000 - 0xdfcfff c-r-- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfd000 - 0xdfdfff c-rW- 00d0:trace:virtual:VIRTUAL_DumpView 0xdfe000 - 0xdfefff c-r-x 00d0:trace:virtual:VIRTUAL_DumpView 0xdff000 - 0xe03fff c-r-- 00d0:Ret ntdll.NtProtectVirtualMemory() retval=00000000 ret=7b02d008 00d0:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00236bb0 00d0:Call ntdll.RtlImageDirectoryEntryToData(00c80000,00000001,00000001,00b5f7a0) ret=00236bc8 00d0:Ret ntdll.RtlImageDirectoryEntryToData() retval=00dff61c ret=00236bc8 00d0:Call KERNEL32.LoadLibraryW(00b5f7c0 L"netio.sys") ret=00236928 ... 00d0:Call driver init 0000000000C81184 (obj=00000000000FD0D0,str=L"\Registry\Machine\System\CurrentControlSet\Services\Denuvo Anti-Cheat") 00d0:Call ntoskrnl.exe.RtlCopyUnicodeString(00d2b988,000fd238) ret=00c810c2 ... 00d0:Ret ntoskrnl.exe.RtlCopyUnicodeString() retval=00d2b9c0 ret=00c810c2 ... --- snip ---
Regards