https://bugs.winehq.org/show_bug.cgi?id=44925
Bug ID: 44925 Summary: StarForce v3 kernel driver service 'sfhlp02' fails in driver entry point due to 'ntoskrnl.exe.ExCreateCallback' stub (needs STATUS_SUCCESS) Product: Wine Version: 3.5 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntoskrnl Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
continuation of bug 44924
--- snip --- ... 0035:Call driver init 0x785300 (obj=0x11caf0,str=L"\Registry\Machine\System\CurrentControlSet\Services\sfhlp02") ... 035:Call ntoskrnl.exe.IoCreateSynchronizationEvent(0065fc80,0065fc8c) ret=00785414 0035:fixme:ntoskrnl:IoCreateSynchronizationEvent (0x65fc80 0x65fc8c) stub 0035:Ret ntoskrnl.exe.IoCreateSynchronizationEvent() retval=cafebabe ret=00785414 0035:Call ntoskrnl.exe.KeEnterCriticalRegion() ret=0078542c 0035:fixme:ntoskrnl:KeEnterCriticalRegion : stub 0035:Ret ntoskrnl.exe.KeEnterCriticalRegion() retval=00000031 ret=0078542c 0035:Call ntoskrnl.exe.KeWaitForSingleObject(cafebabe,00000000,00000000,00000000,00000000) ret=00785437 0035:fixme:ntoskrnl:KeWaitForSingleObject stub: 0xcafebabe, 0, 0, 0, (nil) 0035:Ret ntoskrnl.exe.KeWaitForSingleObject() retval=c0000002 ret=00785437 0035:Call ntoskrnl.exe.RtlInitUnicodeString(0065fc78,007853ac L"\Callback\StarForceCreateThread") ret=00785442 0035:Call ntdll.RtlInitUnicodeString(0065fc78,007853ac L"\Callback\StarForceCreateThread") ret=7bc7f41b 0035:Ret ntdll.RtlInitUnicodeString() retval=0065fc78 ret=7bc7f41b 0035:Ret ntoskrnl.exe.RtlInitUnicodeString() retval=0065fc78 ret=00785442 0035:Call ntoskrnl.exe.ExCreateCallback(0065fc88,0065fc60,00000000,00000001) ret=00785472 0035:fixme:ntoskrnl:ExCreateCallback (0x65fc88, 0x65fc60, 0, 1): stub 0035:Ret ntoskrnl.exe.ExCreateCallback() retval=c0000002 ret=00785472 0035:Call ntoskrnl.exe.ZwClose(00783014) ret=007854ee 0035:Call ntdll.NtClose(00783014) ret=7bc7f41b 0035:Ret ntdll.NtClose() retval=c0000008 ret=7bc7f41b 0035:Ret ntoskrnl.exe.ZwClose() retval=c0000008 ret=007854ee 0035:Call ntoskrnl.exe.KeLeaveCriticalRegion() ret=007854f4 0035:fixme:ntoskrnl:KeLeaveCriticalRegion : stub 0035:Ret ntoskrnl.exe.KeLeaveCriticalRegion() retval=00000031 ret=007854f4 0035:Call ntoskrnl.exe.IoAllocateErrorLogEntry(0011caf0,00000030) ret=0078103a 0035:fixme:ntoskrnl:IoAllocateErrorLogEntry stub: 0x11caf0, 48 0035:Ret ntoskrnl.exe.IoAllocateErrorLogEntry() retval=00000000 ret=0078103a ... 0035:Ret driver init 0x785300 (obj=0x11caf0,str=L"\Registry\Machine\System\CurrentControlSet\Services\sfhlp02") retval=c0000002 ... 0035:Ret ntoskrnl.exe.IoCreateDriver() retval=c0000002 ret=7effb786 0035:err:winedevice:async_create_driver failed to create driver L"sfhlp02": c0000002 --- snip ---
With a patch applied, the driver entry point is successfully executed:
--- snip --- ... 0036:Call driver init 0x785300 (obj=0x11cbb0,str=L"\Registry\Machine\System\CurrentControlSet\Services\sfhlp02") ... 0036:Call ntoskrnl.exe.RtlInitUnicodeString(0065fc78,007853ac L"\Callback\StarForceCreateThread") ret=00785442 0036:Call ntdll.RtlInitUnicodeString(0065fc78,007853ac L"\Callback\StarForceCreateThread") ret=7bc7f41b 0036:Ret ntdll.RtlInitUnicodeString() retval=0065fc78 ret=7bc7f41b 0036:Ret ntoskrnl.exe.RtlInitUnicodeString() retval=0065fc78 ret=00785442 0036:Call ntoskrnl.exe.ExCreateCallback(0065fc88,0065fc60,00000000,00000001) ret=00785472 0036:fixme:ntoskrnl:ExCreateCallback (0x65fc88, 0x65fc60, 0, 1): stub 0036:Ret ntoskrnl.exe.ExCreateCallback() retval=00000000 ret=00785472 ... 0036:Call ntoskrnl.exe.KeLeaveCriticalRegion() ret=0078551a 0036:fixme:ntoskrnl:KeLeaveCriticalRegion : stub 0036:Ret ntoskrnl.exe.KeLeaveCriticalRegion() retval=00000031 ret=0078551a 0036:Ret driver init 0x785300 (obj=0x11cbb0,str=L"\Registry\Machine\System\CurrentControlSet\Services\sfhlp02") retval=00000000 0036:Ret ntoskrnl.exe.IoCreateDriver() retval=00000000 ret=7effb786 0036:Call ntoskrnl.exe.ObReferenceObjectByName(0065fdc0,00000040,00000000,00000000,00000000,00000000,00000000,0065fdc8) ret=7effb810 0036:trace:ntoskrnl:ObReferenceObjectByName mostly-stub:L"\Driver\sfhlp02" 64 (nil) 0 (nil) 0 (nil) 0x65fdc8 0036:Call ntdll.RtlCompareUnicodeString(0065fdc0,0011cbcc,00000000) ret=7ec13108 0036:Ret ntdll.RtlCompareUnicodeString() retval=00000000 ret=7ec13108 0036:Ret ntoskrnl.exe.ObReferenceObjectByName() retval=00000000 ret=7effb810 ... 0036:Call KERNEL32.SetEvent(0000003c) ret=7effb88e 0036:Ret KERNEL32.SetEvent() retval=00000001 ret=7effb88e 0036:Call advapi32.SetServiceStatus(0011b7e0,0065fd84) ret=7effb3d9 --- snip ---
$ sha1sum tmsunrisedemo_setup.exe 2d44577a71718464c595d9da91a017fb0914afc4 tmsunrisedemo_setup.exe
$ du -sh tmsunrisedemo_setup.exe 210M tmsunrisedemo_setup.exe
$ wine --version wine-3.5-91-g3263d51a1f
Regards
https://bugs.winehq.org/show_bug.cgi?id=44925
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, obfuscation URL| |https://www.fileplanet.com/ | |151268/download/TrackMania: | |-Sunrise-Demo
https://bugs.winehq.org/show_bug.cgi?id=44925
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=44925
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=44925
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntoskrnl.exe/ntoskrnl...
$ sha1sum tmsunrisedemo_setup.exe 2d44577a71718464c595d9da91a017fb0914afc4 tmsunrisedemo_setup.exe
$ du -sh tmsunrisedemo_setup.exe 210M tmsunrisedemo_setup.exe
$ wine --version wine-4.3-188-gab7756619c
Regards
https://bugs.winehq.org/show_bug.cgi?id=44925
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://www.fileplanet.com/ |https://web.archive.org/web |151268/download/TrackMania: |/20190405224925/http://down |-Sunrise-Demo |load.fileplanet.com/ftp1/03 | |2005/tmsunrisedemo_setup.ex | |e?st=5enhbbW_nPuPEL3JShfg3Q | |&e=1554515342
https://bugs.winehq.org/show_bug.cgi?id=44925
Qwerty Chouskie asdfghrbljzmkd@outlook.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |asdfghrbljzmkd@outlook.com
--- Comment #2 from Qwerty Chouskie asdfghrbljzmkd@outlook.com --- TrackMania Nations ESWC is also affected by this bug. Any ETA on a fix? Thanks!
https://bugs.winehq.org/show_bug.cgi?id=44925
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|StarForce v3 kernel driver |Multiple kernel drivers |service 'sfhlp02' fails in |require |driver entry point due to |'ntoskrnl.exe.ExCreateCallb |'ntoskrnl.exe.ExCreateCallb |ack' stub to return |ack' stub (needs |STATUS_SUCCESS (StarForce |STATUS_SUCCESS) |v3, TrackMania Nations | |ESWC. Denuvo Anti-Cheat)
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary to be more generic. Multiple DRM/Anti-Cheat protections require this, including Denuvo Anti-Cheat.
--- snip --- $ WINEDEBUG=+seh,+relay,+int,+ntoskrnl,+ntdll,+reg wine net start "Denuvo Anti-Cheat" >>log.txt 2>&1 ... 00d0:Call ntoskrnl.exe.ExCreateCallback(00b5f518,00b5f530,00000000,00b5ec01) ret=00d40b52 00d0:fixme:ntoskrnl:ExCreateCallback (0000000000B5F518, 0000000000B5F530, 0, 1): stub 00d0:Ret ntoskrnl.exe.ExCreateCallback() retval=c0000002 ret=00d40b52 00d0:Call ntoskrnl.exe.KeWaitForSingleObject(00d29290,00000000,00000000,00000000,00000000) ret=00c8909b 00d0:trace:ntoskrnl:KeWaitForMultipleObjects count 1, objs 0000000000B5F3A0, wait_type 1, reason 0, mode 0, alertable 0, timeout 0000000000000000, wait_blocks 0000000000000000. 00d0:Call KERNEL32.CreateMutexW(00000000,00000000,00000000) ret=0023a79c 00d0:Call ntdll.NtCreateMutant(00b5efd0,001f0001,00b5efd8,00000000) ret=7b050d6a 00d0:Ret ntdll.NtCreateMutant() retval=00000000 ret=7b050d6a 00d0:Call ntdll.RtlNtStatusToDosError(00000000) ret=7b050d89 00d0:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=7b050d89 00d0:Ret KERNEL32.CreateMutexW() retval=00000054 ret=0023a79c 00d0:Call ntdll.NtWaitForMultipleObjects(00000001,00b5f110,00000001,00b5e800,00000000) ret=0023a7e9 00d0:Ret ntdll.NtWaitForMultipleObjects() retval=00000000 ret=0023a7e9 00d0:Ret ntoskrnl.exe.KeWaitForSingleObject() retval=00000000 ret=00c8909b ... --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=44925
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |1cad86fced2b8eb32dcc1e2d588 | |58f45e8135ea3
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/1cad86fced2b8eb32dcc1e2d58... ("ntoskrnl.exe: Return STATUS_SUCCESS from ExCreateCallback() stub.")
Thanks Paul
$ wine --version wine-5.9-195-gbf83d755d9
Regards
https://bugs.winehq.org/show_bug.cgi?id=44925
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.10.
https://bugs.winehq.org/show_bug.cgi?id=44925
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |5.0.x
https://bugs.winehq.org/show_bug.cgi?id=44925
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|5.0.x |---
--- Comment #6 from Michael Stefaniuc mstefani@winehq.org --- Removing the 5.0.x milestone from bug fixes included in 5.0.3.