[Bug 44912] Tibia client reports 'Failed to launch game', needs ' ntdll.RtlCreateUserProcess' implementation
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun May 27 23:31:26 CDT 2018
https://bugs.winehq.org/show_bug.cgi?id=44912
--- Comment #3 from dereklesho52 at Gmail.com ---
(In reply to Anastasius Focht from comment #0)
> Hello folks,
>
> besides the traditional 'KERNEL32.CreateProcessW()' API it also uses native
> API to create process(es).
>
> --- snip ---
> $ pwd
> /home/focht/winetest/drive_c/users/focht/Local Settings/Application
> Data/Tibia/packages/Tibia/bin
>
> $ WINEDEBUG=+seh,+relay,+ntoskrnl,+ntdll wine ./client.exe >>log.txt 2>&1
> ...
> 003d:Call KERNEL32.CreateProcessW(00000000,001c8630
> L"\"C:\\users\\focht\\Local Settings\\Application
> Data\\Tibia\\packages\\Tibia\\bin\\client_launcher.exe\"
> ",00000000,00000000,00000000,00000410,00000000,01d7c6b8
> L"C:/users/focht/Local Settings/Application
> Data/Tibia/packages/Tibia/bin",0033cf2c,0033cf1c) ret=0047235f
> ...
> 0044:Call KERNEL32.__wine_kernel_init() ret=7bc6d171
> ...
> 003d:Ret KERNEL32.CreateProcessW() retval=00000001 ret=0047235f
> ...
> 0044:Call KERNEL32.CreateProcessW(00000000,0033d6cc
> L"\"C:\\users\\focht\\Local Settings\\Application
> Data\\Tibia\\packages\\Tibia\\bin\\client_launcher.exe\"
> 3",00000000,00000000,00000000,00000410,00000000,00000000,0033d1a0,0033d190)
> ret=7e72e854
> ...
> 0044:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7e72e854
> ...
> 0044:Call ntdll.RtlInitUnicodeString(0033e75c,00162030
> L"\"C:\\users\\focht\\Local Settings\\Application
> Data\\Tibia\\packages\\Tibia\\bin\\client_launcher.exe\" 6 ") ret=0045e9fe
> 0044:Ret ntdll.RtlInitUnicodeString() retval=0033e75c ret=0045e9fe
> ...
> 0044:Call
> ntdll.RtlCreateProcessParameters(0033e770,0033e764,00000000,00000000,
> 0033e75c,00000000,00000000,00000000,00000000,00000000) ret=004519b8
> ...
> 0044:Ret ntdll.RtlCreateProcessParameters() retval=00000000 ret=004519b8
> ...
> 0044:Call
> ntdll.RtlCreateUserProcess(0033e764,00000040,00390000,00000000,00000000,
> 00000000,00000000,00000000,00000000,0033e780) ret=0046fb4d
> 0044:fixme:ntdll:RtlCreateUserProcess (0x33e764 64 0x390000 (nil) (nil)
> (nil) 0 (nil) (nil) 0x33e780): stub
> 0044:Ret ntdll.RtlCreateUserProcess() retval=c0000002 ret=0046fb4d
> ...
> 0048:Call KERNEL32.GetStringTypeW(00000001,00162fe8 L"00:52:30: Launching
> game...\r\n00:52:30: Failed to launch game.\r\n",00000001,005bf46a)
> ret=7dde5042
> --- snip ---
>
> Wine currently has the process creation sequence not implemented at native
> API level (albeit it uses some native API calls). It would require a bit
> redesign/moving code (dlls/kernel32/process.c:create_process, ...) around
> but into places that would make Wine more compatible with Windows with
> regards to process creation (although the heavy lifting is done in Windows
> kernel).
>
> * ntdll.NtCreateProcess
> * ntdll.RtlCreateUserProcess
> ...
>
> Also related: bug 23451 ("VMWare Thinapps (packaged with version >4.5) and
> XenoCode wrapped apps fail to run (differences in process creation sequence
> at native API level)")
>
> $ sha1sum Tibia_Setup.exe
> 50951008ccc402cc32407bfc56a88da873e3e9bd Tibia_Setup.exe
>
> $ du -sh Tibia_Setup.exe
> 5.2M Tibia_Setup.exe
>
> $ wine --version
> wine-3.5-107-gf4573adb0f
>
> Regards
I am almost done getting create_process to work inside ntdll, just a few bugs
to clear up. In the mean time, I have been researching the functionality of
RtlCreateUserProcess.
According to
https://malwaretips.com/threads/ntcreateuserprocess-api-hook-process-monitoring-c.75759/
In windows Vista and up, RtlCreateUserProcess simply maps to
NtCreateUserProcess, so when researching, that might be useful to find more
information.
Also, according to
http://www.rohitab.com/discuss/topic/40191-ntcreateuserprocess/
"On Windows Vista and later, the CreateProcessInternalW function uses the
NtCreateUserProcess function to create the new process."
Although it will probably suffice to have both NtCreateUserProcess and
CreateProcessInternalW call create_process.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list