https://bugs.winehq.org/show_bug.cgi?id=49052
--- Comment #6 from Paul Gofman pgofman@codeweavers.com --- (In reply to Fabian Maurer from comment #5)
It's a bit difficult, since it's a paid game. However, I'd be willing to share my account temporarily for debugging purposes, if that'd be ok. Just know that the client is all Japanese and that you might need a VM to download, since the client doesn't work too well on Wine.
(In reply to Fabian Maurer from comment #5)
@Anastasius, @Paul Thanks for your comments. I'm not sure what it does, but to be it seems pretty strange. As a small note, the fake "plugin.dll" and "executeAPI" from the patch are enough to get the game to run. Note that on windows, there is no plugin.dll either - only that temporary DLL. Maybe a fallback when the temporary DLL can't be loaded? It only seems need that ZwOpenFile patch when actually having a real DLL called plugin.dll in the folder.
This DLL must be spoofed by Enigma through hooking ntdll API, Wine needs to work through hooked NtOpenFile, file and section I/O entirely to get that DLL loaded like on Windows. It is strange that the game works without, maybe it is needed later.
from your comments it pretty much looks like standard application virtualization/sandboxing using native API hooking.
Mh, could be, ENIGMA is known to do that. I don't know how I would debug something like that though - I hope'd it'd be simpler.
Yes, it is known, but it would maybe be interesting to debug what exactly it needs to work and maybe fix these, as lining up just every API to depend on the other calls exactly like on on Windows is somewhat hard to approach at once. Part of this work has been done when moving the functions to kernelbase, but Enigma depends on some calls been correctly routed to hooks within ntdll itself.
Is there any way I can get this game to test?
It's a bit difficult, since it's a paid game. However, I'd be willing to share my account temporarily for debugging purposes, if that'd be ok. Just know that the client is all Japanese and that you might need a VM to download, since the client doesn't work too well on Wine.
I can probably buy it, I just need an exact link to the correct game and version, and maybe some exact install instructions to avoid spending time for bypassing unrelated problems.