https://bugs.winehq.org/show_bug.cgi?id=45568
Bug ID: 45568 Summary: League of Legends 8.12+ fails to start a game (anticheat engine, validation of loaded DLLs) Product: Wine Version: 3.13 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: z.figura12@gmail.com Distribution: ---
Diagnosed by Andrew Wesie; partially split off from bug 45327.
The game marks all pages of its executable as NOACCESS, then registers a vectored exception handler. When a page is accessed, it will determine if the access is authorized, and if so, it will decrypt the page and mark it as readable. The game only allows access from its own modules, or from a module explicitly loaded by LoadLibrary; in specific, libraries that are automatically loaded as dependences are not considered authorized.
In particular this fails because the game loads dinput8, whose real implementation lives in dinput, and this will attempt to access data via callbacks.
If this diagnosis is complete, this bug is a WONTFIX. We can easily work around this specific case by sharing source between dinput and dinput8, but no similar solution exists for other dependencies.
https://bugs.winehq.org/show_bug.cgi?id=45568
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/dinput8-shared-c | |ode Keywords| |download, obfuscation Status|NEW |STAGED
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- Marking staged.
https://bugs.winehq.org/show_bug.cgi?id=45568
--- Comment #2 from Zebediah Figura z.figura12@gmail.com --- (In reply to Zebediah Figura from comment #0)
If this diagnosis is complete, this bug is a WONTFIX. We can easily work around this specific case by sharing source between dinput and dinput8, but no similar solution exists for other dependencies.
To be clear, fixing dinput8 is sufficient to get the game to run. However, if this bug crops up again with a different DLL, we won't be able to fix it as easily.
https://bugs.winehq.org/show_bug.cgi?id=45568
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=45568
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com Status|STAGED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |56345c8757887431ada9f2347b4 | |3fc372d72872a
--- Comment #3 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Fixed by https://source.winehq.org/git/wine.git/?a=commit;h=56345c8757887431ada9f2347...
https://bugs.winehq.org/show_bug.cgi?id=45568
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.15.