https://bugs.winehq.org/show_bug.cgi?id=53078
Bug ID: 53078 Summary: Star Stable Online: GameGuard execute error 114 when launching the game Product: Wine Version: 7.9 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: dominik@greysector.net Distribution: ---
Created attachment 72498 --> https://bugs.winehq.org/attachment.cgi?id=72498 wine terminal output
Star Stable Online has been working fine for quite some time under Wine. The only minor annoyance was the
The game did not start properly Do you want to repair it? Yes No
dialog box after clicking Play. Despite that, the game worked fine. Also, clicking "Yes" above would reinstall the game but not make the dialog go away.
However, in the latest update (May 25th, 2.12.2 as far as I can tell), the developer added GameGuard anti-cheating solution and the game stopped launching. I can start the launcher, log in (free account required), but after clicking "Play", in addition to the "did not start properly" dialog box I get another:
GameGuard execute error 114 GameGuard initialization error. Try rebooting and executing the game again or close the program considered a cause of collision.
OS: Fedora 36 x86_64 Wine: 7.9 (distribution packages) Game download link: https://www.starstable.com/en/myaccount/download (needs User-Agent set to Windows)
https://bugs.winehq.org/show_bug.cgi?id=53078
Dominik Mierzejewski dominik@greysector.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |obfuscation
https://bugs.winehq.org/show_bug.cgi?id=53078
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org
--- Comment #1 from Bernhard Übelacker bernhardu@mailbox.org --- Created attachment 72590 --> https://bugs.winehq.org/attachment.cgi?id=72590 hack to workaround second-ntdll and trigger driver startup
This is what I found while trying to investigate loading the game in wine.
The "Star Stable Online.exe" is just the launcher and updater. When pressing the play button it spawns a "SSOClient.exe". This is now also spawning processes "GameGuard.des" and "GameMon.des". The latter detects a 64-Bit system and spawns then "GameMon64.des". This last process then calls NtLoadDriver for loading "dump_wmimmc.sys".
The first issue is "GameMon.des" doing a LoadLibraryEx for ntdll.dll, and calling from this copy NtSetInformationThread(ThreadHideFromDebugger), which fails because in the second ntdll __wine_syscall_dispatcher never gets set, which usually takes place in ntdll_init_syscalls.
Second issue is the function NtLoadDriver is currently just a stub. And for obfuscation reasons "dump_wmimmc.sys" gets deleted.
Then the third inside ZwLoadDriver/IoCreateDriver in "dump_wmimmc.sys" calls: IoCreateDevice, IoCreateSymbolicLink("\??\dump_wmimmc"), PsGetVersion, ZwQueryValueKey("...\Windows NT\CurrentVersion\UBR"), IoGetCurrentProcess and PsGetCurrentProcessId. I guess something of this makes it upset and causes IoDeleteSymbolicLink("\??\dump_wmimmc") and IoDeleteDevice, finally returning 0xc0000001(STATUS_UNSUCCESSFUL).
But because of the obfuscation I could not see what exactly what went wrong in dump_wmimmc.sys.
Attached are some ugly hacks to try to workaround the first two issues.
https://bugs.winehq.org/show_bug.cgi?id=53078
--- Comment #2 from Bernhard Übelacker bernhardu@mailbox.org --- Looks like StarStable got GameGuard removed at 2022-06-16 again. I retried a fresh install and no more GameGuard error. Because StarStable is kind of a moving target, I guess this bug is of no longer useful for wine?
https://www.starstable.com/en/article/12233
https://bugs.winehq.org/show_bug.cgi?id=53078
--- Comment #3 from Dominik Mierzejewski dominik@greysector.net --- (In reply to Bernhard Übelacker from comment #2)
Looks like StarStable got GameGuard removed at 2022-06-16 again. I retried a fresh install and no more GameGuard error.
That's correct and I updated StarStable entry with this info some time ago already.
Because StarStable is kind of a moving target, I guess this bug is of no longer useful for wine?
While StarStable is working fine on Wine right now, there are other games using GameGuard, so the bug might still be relevant. Feel free to close if you think otherwise.
https://bugs.winehq.org/show_bug.cgi?id=53078
--- Comment #4 from Bernhard Übelacker bernhardu@mailbox.org --- (In reply to Dominik Mierzejewski from comment #3)
While StarStable is working fine on Wine right now, there are other games using GameGuard, so the bug might still be relevant. Feel free to close if you think otherwise.
The general GameGuard issue seems to be handled in bug 3952. And the search gives also a few more application specific GameGuard bugs. Therefore I guess this bug could be closed safely, but I am not sure what the right resolution would be here, as there was no change done to Wine. Closing as duplicate to above meta bug would also be a possiblity. (And I don't have permission to change status on foreign bugs.)
https://bugs.winehq.org/show_bug.cgi?id=53078
Dominik Mierzejewski dominik@greysector.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|UNCONFIRMED |RESOLVED
--- Comment #5 from Dominik Mierzejewski dominik@greysector.net --- (In reply to Bernhard Übelacker from comment #4)
The general GameGuard issue seems to be handled in bug 3952.
Thanks for the reference.
[...]
Closing as duplicate to above meta bug would also be a possiblity.
Makes sense to me, so done!
*** This bug has been marked as a duplicate of bug 3952 ***
https://bugs.winehq.org/show_bug.cgi?id=53078
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Gijs Vermeulen gijsvrm@gmail.com --- Closing DUPLICATE.