https://bugs.winehq.org/show_bug.cgi?id=37487
Bug ID: 37487 Summary: Quicken 2014 - NtOpenFile does not support \SystemRoot\ Product: Wine Version: 1.7.30 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: michael@fds-team.de Distribution: ---
Created attachment 49878 --> https://bugs.winehq.org/attachment.cgi?id=49878 Test to demonstrate the issue
Hi,
Quicken 2014 tries to load the ntdll by using \SystemRoot\ inside the path:
---snip--- 003e:Call ntdll.RtlInitUnicodeString(0033eea4,1000eed8 L"\SystemRoot\System32\ntdll.dll") ret=1000bb29 003e:Ret ntdll.RtlInitUnicodeString() retval=0033eea4 ret=1000bb29 003e:Call ntdll.NtOpenFile(0033eebc,80100000,0033ee84,0033ee9c,00000005,00000000) ret=1000bb60 003e:Ret ntdll.NtOpenFile() retval=c000003a ret=1000bb60 ---snip---
This does not work in Wine as NtOpenFile does not properly parse the \SystemRoot\ part. I attached a test to demonstrate the issue.
https://bugs.winehq.org/show_bug.cgi?id=37487
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://www.chip.de/download | |s/Quicken-2014-Vollversion_ | |68671713.html CC| |focht@gmx.net, | |sebastian@fds-team.de Depends on| |37449
https://bugs.winehq.org/show_bug.cgi?id=37487
--- Comment #1 from Michael Müller michael@fds-team.de --- Btw, after using a work around for this issue, Quicken runs into the next problem. Quicken maps the stub ntdll into the process and compares it against other mapped files by using NtAreMappedFilesTheSame(). However, the mapping of the stub ntdll never matches against any other mapped file, sending Quicken into an endless loop.
I will create a separate bug report for this problem (if it was not reported yet).
https://bugs.winehq.org/show_bug.cgi?id=37487
Qian Hong fracting@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |fracting@gmail.com Ever confirmed|0 |1
--- Comment #2 from Qian Hong fracting@gmail.com --- This affects QQProtect.sys from QQ as well, thanks for the report!
https://bugs.winehq.org/show_bug.cgi?id=37487
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |37488
https://bugs.winehq.org/show_bug.cgi?id=37487
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, testcase
https://bugs.winehq.org/show_bug.cgi?id=37487 Bug 37487 depends on bug 37449, which changed state.
Bug 37449 Summary: Lexware Quicken 2014 Deluxe reports error 0x0000054f on startup (Promon Shield DRM needs RtlDecompressBuffer with COMPRESSION_FORMAT_LZNT1 support) https://bugs.winehq.org/show_bug.cgi?id=37449
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
https://bugs.winehq.org/show_bug.cgi?id=37487
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/ntdll-NtDevice | |Path CC| |dmitry@baikal.ru, | |erich.e.hoover@wine-staging | |.com, michael@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=37487
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Quicken 2014 - NtOpenFile |Multiple applications need |does not support |ntdll.NtOpenFile to support |\SystemRoot\ |opening files through NT | |device paths | |'\SystemRoot\' (Quicken | |2014, Tencent QQProtect | |Application | |'QQProtect.sys') Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/ntdll-NtDevice |er/patches/ntdll-NtDevicePa |Path |th
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
obviously still present, updating some fields.
$ wine --version wine-3.4
Regards
https://bugs.winehq.org/show_bug.cgi?id=37487
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple applications need |Multiple applications need |ntdll.NtOpenFile to support |ntdll.NtOpenFile to support |opening files through NT |opening files through NT |device paths |device paths |'\SystemRoot\' (Quicken |'\SystemRoot\' (Quicken |2014, Tencent QQProtect |2014, Tencent QQProtect |Application |Application |'QQProtect.sys') |'QQProtect.sys', SmartGaga)
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still not mainlined.
Found another app: SmartGaga (Android Emulator) v1.1.x from bug 48933
https://docs.google.com/uc?export=download&id=1CbktLjrw6IAo_lU9Sh0sGghEH...
'androidkernelx64.sys' driver
--- snip --- $ WINEDEBUG=+seh,+relay,+ntoskrnl,+server wine wineboot >>log.txt 2>&1 ... 003e:Call ntoskrnl.exe.RtlInitUnicodeString(00c3f2a0,00e32f50 L"\SystemRoot\System32\ntdll.dll") ret=00e0403b 003e:Call ntdll.RtlInitUnicodeString(00c3f2a0,00e32f50 L"\SystemRoot\System32\ntdll.dll") ret=7bca110f 003e:Ret ntdll.RtlInitUnicodeString() retval=0000003e ret=7bca110f 003e:Ret ntoskrnl.exe.RtlInitUnicodeString() retval=0000003e ret=00e0403b 003e:Call ntoskrnl.exe.ZwCreateFile(00c3f280,00120089,00c3f2c0,00c3f2b0,00000000,00000080,00000001,00000001,00000060,00000000,00000000) ret=00e040a3 003e:Call ntdll.NtCreateFile(00c3f280,00120089,00c3f2c0,00c3f2b0,00000000,00000080,00000001,00000001,00000060,00000000,00000000) ret=7bca110f 003e: open_file_object( access=00120089, attributes=00000240, rootdir=0000, sharing=00000001, options=00000060, filename=L"\SystemRoot\System32\ntdll.dll" ) 003e: open_file_object() = OBJECT_PATH_NOT_FOUND { handle=0000 } 003e:Ret ntdll.NtCreateFile() retval=c000003a ret=7bca110f 003e:Ret ntoskrnl.exe.ZwCreateFile() retval=c000003a ret=00e040a3 ... 003e:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\AndroidKernel": c0000001 --- snip ---
$ sha1sum Setup_AndroidFs442_1.1.646.1.exe 8cec18338e1e931433ac37f63d26a701dfcbd0dd Setup_AndroidFs442_1.1.646.1.exe
$ du -sh Setup_AndroidFs442_1.1.646.1.exe 203M Setup_AndroidFs442_1.1.646.1.exe
$ wine --version wine-5.6
Regards
https://bugs.winehq.org/show_bug.cgi?id=37487
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.chip.de/download |https://web.archive.org/web |s/Quicken-2014-Vollversion_ |/20210212084041/https://dlg |68671713.html |bit.winfuture.de/djQ7tSh5Sd | |rBWqwLnqKALg/1613162398/317 | |2/software/Quicken/Quicken_ | |2014tb.exe
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Quicken 2014 installer prerequisites:
* 'winetricks -q msxml3' * 'winetricks -q dotnet40' (optional, for later bugs)
Trace log:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/Lexware/Quicken/2014
$ WINEDEBUG=+seh,+relay,+ntdll wine ./QwStart.exe >>log.txt 2>&1 ... 0100:Call ntdll.RtlInitUnicodeString(0031ef8c,006cee98 L"\SystemRoot\SysWOW64\ntdll.dll") ret=006cbb29 0100:Ret ntdll.RtlInitUnicodeString() retval=0000003e ret=006cbb29 0100:Call ntdll.NtOpenFile(0031efa4,80100000,0031ef6c,0031ef84,00000005,00000000) ret=006cbb60 0100:Ret ntdll.NtOpenFile() retval=c000003a ret=006cbb60 --- snip ---
The failure is not critical though, it tries more native NT path variants later.
--- snip --- ... 0100:Call KERNEL32.GetModuleHandleW(006ce2e8 L"ntdll.dll") ret=006c1bb9 0100:Call ntdll.RtlInitUnicodeString(0031f66c,006ce2e8 L"ntdll.dll") ret=7b01b8c4 0100:Ret ntdll.RtlInitUnicodeString() retval=00000014 ret=7b01b8c4 0100:Call ntdll.LdrGetDllHandle(00000000,00000000,0031f66c,0031f668) ret=7b01b8d2 0100:Ret ntdll.LdrGetDllHandle() retval=00000000 ret=7b01b8d2 0100:Ret KERNEL32.GetModuleHandleW() retval=7bc00000 ret=006c1bb9 0100:Call KERNEL32.GetModuleHandleW(006ce2fc L"kernel32.dll") ret=006c1bcd 0100:Call ntdll.RtlInitUnicodeString(0031f66c,006ce2fc L"kernel32.dll") ret=7b01b8c4 0100:Ret ntdll.RtlInitUnicodeString() retval=0000001a ret=7b01b8c4 0100:Call ntdll.LdrGetDllHandle(00000000,00000000,0031f66c,0031f668) ret=7b01b8d2 0100:Ret ntdll.LdrGetDllHandle() retval=00000000 ret=7b01b8d2 0100:Ret KERNEL32.GetModuleHandleW() retval=7b600000 ret=006c1bcd 0100:Call KERNEL32.GetModuleHandleW(006ce318 L"user32.dll") ret=006c1be1 0100:Call ntdll.RtlInitUnicodeString(0031f66c,006ce318 L"user32.dll") ret=7b01b8c4 0100:Ret ntdll.RtlInitUnicodeString() retval=00000016 ret=7b01b8c4 0100:Call ntdll.LdrGetDllHandle(00000000,00000000,0031f66c,0031f668) ret=7b01b8d2 0100:Ret ntdll.LdrGetDllHandle() retval=00000000 ret=7b01b8d2 0100:Ret KERNEL32.GetModuleHandleW() retval=10000000 ret=006c1be1 0100:Call ntdll.NtQueryVirtualMemory(ffffffff,7bc00000,00000002,0031f5fc,00000008,0031f604) ret=006cbdf3 0100:Ret ntdll.NtQueryVirtualMemory() retval=80000005 ret=006cbdf3 0100:Call ntdll.NtQueryVirtualMemory(ffffffff,7bc00000,00000002,0031f5fc,00000008,0031f604) ret=006cbdf3 0100:Ret ntdll.NtQueryVirtualMemory() retval=80000005 ret=006cbdf3 0100:Call ntdll.memset(01400920,00000000,0000004c) ret=006cbe5d 0100:Ret ntdll.memset() retval=01400920 ret=006cbe5d 0100:Call ntdll.NtQueryVirtualMemory(ffffffff,7bc00000,00000002,01400920,0000004c,0031f604) ret=006cbe70 0100:Ret ntdll.NtQueryVirtualMemory() retval=00000000 ret=006cbe70 0100:Call ntdll.RtlInitUnicodeString(0031f660,014008b0 L"\??\C:\windows\system32\ntdll.dll") ret=006c5669 0100:Ret ntdll.RtlInitUnicodeString() retval=00000044 ret=006c5669 0100:Call ntdll.NtCreateFile(0031f650,80100000,0031f670,0031f668,00000000,00000000,00000005,00000001,00000060,00000000,00000000) ret=006c56b1 0100:Ret ntdll.NtCreateFile() retval=00000000 ret=006c56b1 --- snip ---
It then runs into bug 37488
--- snip --- 0100:Call ntdll.NtCreateSection(0031f654,000f0005,00000000,00000000,00000008,08000000,000000a4) ret=006c56d2 0100:Ret ntdll.NtCreateSection() retval=00000000 ret=006c56d2 0100:Call ntdll.NtClose(000000a4) ret=006c56e0 0100:Ret ntdll.NtClose() retval=00000000 ret=006c56e0 0100:Call ntdll.NtMapViewOfSection(000000a8,ffffffff,0031f64c,00000000,00000000,00000000,0031f658,00000002,00000000,00000008) ret=006c570a 0100:Ret ntdll.NtMapViewOfSection() retval=00000000 ret=006c570a 0100:Call ntdll.NtClose(000000a8) ret=006c5712 0100:Ret ntdll.NtClose() retval=00000000 ret=006c5712 0100:Call ntdll.NtAreMappedFilesTheSame(7bc00000,01420000) ret=006c5723 0100:Ret ntdll.NtAreMappedFilesTheSame() retval=c00000d4 ret=006c5723 0100:Call ntdll.NtUnmapViewOfSection(ffffffff,01420000) ret=006c5733 0100:Ret ntdll.NtUnmapViewOfSection() retval=00000000 ret=006c5733 0100:trace:seh:dispatch_exception code=c0000005 flags=0 addr=006C6CC6 ip=006c6cc6 tid=0100 0100:trace:seh:dispatch_exception info[0]=00000000 0100:trace:seh:dispatch_exception info[1]=01420000 0100:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised 0100:trace:seh:dispatch_exception eax=00000000 ebx=00000007 ecx=01420000 edx=00005a4d esi=00000000 edi=7bc00000 --- snip ---
Stable download links via Internet Archive:
Quicken 2014 Deluxe:
https://web.archive.org/web/20210212084041/https://dlgbit.winfuture.de/djQ7t...
Quicken 2015 free:
https://web.archive.org/web/20210212083345/https://securedl.cdn.chip.de/down...
SmartGaga 1.1.646.1:
https://web.archive.org/web/20210212083145/https://dl.filehorse.com/win/desk...
$ sha1sum Quicken_2014tb.exe d2374d907e2ee568f1f93dba48afd602723dcad6f Quicken_2014tb.exe
$ du -sh Quicken_2014tb.exe 319M Quicken_2014tb.exe
$ wine --version wine-6.1-315-gb922b5aeef1
Regards