https://bugs.winehq.org/show_bug.cgi?id=44235
Bug ID: 44235 Summary: EasyAntiCheat doesn't run on Wine at all - wine64 != win64 Product: Wine Version: 2.22 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: shawn.starr@rogers.com Distribution: ---
So, I notice any game that uses EasyAntiCheat tries to download some updated info
such as:
https://download.eac-cdn.com/api/v1/games/138/client/wine64/download/?uuid=6...
Except, EasyAntiCheat ignores Wine's "Hide Wine version from applications" in staging options.
If I switch the URL to 'win64' it downloads, could we have a way to override wine64 == win64 checks?
While EasyAntiCheat does acknowledge they can support wine specific data, we shouldn't be treating this as 'wine64' but win64.
I assume wine 2.20 and wine 3.x builds all have this issue.
https://bugs.winehq.org/show_bug.cgi?id=44235
Shawn Starr shawn.starr@rogers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|EasyAntiCheat doesn't run |EasyAntiCheat downloads |on Wine at all - wine64 != |incorrect platform |win64 |information on Wine and | |games fail to run - wine64 | |!= win64
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #1 from Shawn Starr shawn.starr@rogers.com --- Further:
$ strings EasyAntiCheat_x64.dll | grep wine wine64 easyanticheat_wine_x64.eac wine_get_unix_file_name wine32 wine_x86 wine_x64 wine_get_version
They appear to violate Wine by forcefully checking for wine information something we should probably block somehow...
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #2 from Shawn Starr shawn.starr@rogers.com --- Same for function wine_get_unix_file_name()
if 3rd party DLLs/EXEs can call these wine specific functions they are in fact allowing them to determine 'Wine' as a separate platform from any native Windows 32/64 one..
Please fix this somehow.
https://bugs.winehq.org/show_bug.cgi?id=44235
Shawn Starr shawn.starr@rogers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll
https://bugs.winehq.org/show_bug.cgi?id=44235
Shawn Starr shawn.starr@rogers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Fedora
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #3 from Alexandre Julliard julliard@winehq.org --- There will always be ways for an app to find out that it's running on Wine, trying to block them all is futile.
https://bugs.winehq.org/show_bug.cgi?id=44235
Constantine hi-angel@yandex.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hi-angel@yandex.ru
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #4 from Shawn Starr shawn.starr@rogers.com --- That goes against the original stated goals:
https://wiki.winehq.org/Developer_FAQ#How_can_I_detect_Wine.3F
https://bugs.winehq.org/show_bug.cgi?id=44235
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Component|ntdll |-unknown
https://bugs.winehq.org/show_bug.cgi?id=44235
Stephan Sokolow from_wine_bugzilla@ssokolow.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |from_wine_bugzilla@ssokolow | |.com
https://bugs.winehq.org/show_bug.cgi?id=44235
Max Qian public@maxqia.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |public@maxqia.com
--- Comment #5 from Max Qian public@maxqia.com --- Found out myself that they check wine_get_unix_file_name. I then did a search and replace on the wine source code to turn it into a random string and then recompiled it. It still doesn't work, but now wine outputs this error. "err:winedevice:async_create_driver failed to create driver L"EasyAntiCheatSys": c000026c" (^ wine staging 2.21 with wine_get_unix_file_name scrambled and Hide Wine version from applications)
It's a really annoying anticheat. It didn't even let me even play on my virtual machine until I hid it pretty well...
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Shawn Starr from comment #4)
That goes against the original stated goals:
https://wiki.winehq.org/Developer_FAQ#How_can_I_detect_Wine.3F
This paragraph says that detecting Wine is usually not a good idea, but offers a way to do so. It's a message to application developers, not Wine developers, so I'm not sure why you linked it here.
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #7 from Constantine hi-angel@yandex.ru --- (In reply to Nikolay Sivov from comment #6)
(In reply to Shawn Starr from comment #4)
That goes against the original stated goals:
https://wiki.winehq.org/Developer_FAQ#How_can_I_detect_Wine.3F
This paragraph says that detecting Wine is usually not a good idea, but offers a way to do so. It's a message to application developers, not Wine developers, so I'm not sure why you linked it here.
The paragraph says the following:
The goal of Wine is that an application will see no difference running under Wine rather than Windows.
The bug in question is clearly a violation of that sentence.
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Constantine from comment #7)
(In reply to Nikolay Sivov from comment #6)
(In reply to Shawn Starr from comment #4)
That goes against the original stated goals:
https://wiki.winehq.org/Developer_FAQ#How_can_I_detect_Wine.3F
This paragraph says that detecting Wine is usually not a good idea, but offers a way to do so. It's a message to application developers, not Wine developers, so I'm not sure why you linked it here.
The paragraph says the following:
The goal of Wine is that an application will see no difference running under Wine rather than Windows.
The bug in question is clearly a violation of that sentence.
I don't think so, but maybe it should be worded better on that page. What was meant to say is that the goal is to be compatible enough that an application should see no difference in behavior, and therefore should not apply any workarounds, different paths, and so on. But, if developer wants to detect if it's running under Wine, there's a way to do so, and there always will be.
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #9 from Henri Verbeet hverbeet@gmail.com --- (In reply to Nikolay Sivov from comment #8)
I don't think so, but maybe it should be worded better on that page. What was meant to say is that the goal is to be compatible enough that an application should see no difference in behavior, and therefore should not apply any workarounds, different paths, and so on. But, if developer wants to detect if it's running under Wine, there's a way to do so, and there always will be.
Yeah. We may think changing behaviour based on whether an application is running on Wine or not is misguided, but we're not interested in some kind of race with application developers to prevent them from doing that.
Ideally EACs users (i.e., game developers) would ask them to please not do this kind of thing.
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #10 from Constantine hi-angel@yandex.ru --- (In reply to Henri Verbeet from comment #9)
(In reply to Nikolay Sivov from comment #8)
I don't think so, but maybe it should be worded better on that page. What was meant to say is that the goal is to be compatible enough that an application should see no difference in behavior, and therefore should not apply any workarounds, different paths, and so on. But, if developer wants to detect if it's running under Wine, there's a way to do so, and there always will be.
Yeah. We may think changing behaviour based on whether an application is running on Wine or not is misguided, but we're not interested in some kind of race with application developers to prevent them from doing that.
Ideally EACs users (i.e., game developers) would ask them to please not do this kind of thing.
Given that thing is called "anticheat", I'm pretty sure it does have a reason to detect and prohibit Wine, because running in kind-of-sandbox which is Wine, I'm pretty sure, gives more possibilities for changing memory of the process without the later being aware of that. In the extreme-case-example one could do something on kernel level.
That problem either gonna be solved in Wine, or it will stay with us. As simple as that.
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #11 from Rosanne DiMesio dimesio@earthlink.net --- (In reply to Nikolay Sivov from comment #8)
I don't think so, but maybe it should be worded better on that page.
Done.
https://bugs.winehq.org/show_bug.cgi?id=44235
Matheus Marinho matheus4551@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matheus4551@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=44235
Mathieu Comandon strider@strycore.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |strider@strycore.com
https://bugs.winehq.org/show_bug.cgi?id=44235
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |darkael@gmail.com
--- Comment #12 from Anastasius Focht focht@gmx.net --- *** Bug 42172 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44235
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, obfuscation Ever confirmed|0 |1 CC| |focht@gmx.net Status|UNCONFIRMED |NEW URL| |https://www.paladins.com/do | |wnload Summary|EasyAntiCheat downloads |EasyAntiCheat detects Wine |incorrect platform |as host platform/OS, |information on Wine and |causing failure to download |games fail to run - wine64 |correct EAC game |!= win64 |client/driver modules | |(avoid exporting | |'wine_get_unix_file_name' | |by name) Component|-unknown |kernel32
--- Comment #13 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
--- snip --- $ find .wine -iname "*easyanti*" .wine/drive_c/Program Files (x86)/EasyAntiCheat .wine/drive_c/Program Files (x86)/EasyAntiCheat/EasyAntiCheat.exe .wine/drive_c/Program Files (x86)/Hi-Rez Studios/HiRezGames/paladins/Binaries/EasyAntiCheat .wine/drive_c/Program Files (x86)/Hi-Rez Studios/HiRezGames/paladins/Binaries/EasyAntiCheat/EasyAntiCheat_x86.dll .wine/drive_c/Program Files (x86)/Hi-Rez Studios/HiRezGames/paladins/Binaries/EasyAntiCheat/EasyAntiCheat_x64.dll .wine/drive_c/Program Files (x86)/Hi-Rez Studios/HiRezGames/paladins/Binaries/EasyAntiCheat/EasyAntiCheat_Setup.exe --- snip ---
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Hi-Rez Studios
$ WINEDEBUG=+seh,+relay,+ntdll,+ntoskrnl wine ./HirezLauncherUI.exe product=402 game=400 >>log.txt 2>&1 ... 0047:Ret PE DLL (proc=0x90c4d75,module=0x9080000 L"easyanticheat_x86.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1 ... 0047:Call KERNEL32.GetProcAddress(09080000,021d3ecc "CreateGameClient") ret=00fd0a85 0047:Ret KERNEL32.GetProcAddress() retval=09099cd0 ret=00fd0a85 0047:Call KERNEL32.GetModuleHandleW(090ee828 L"kernel32.dll") ret=09099c0f 0047:Ret KERNEL32.GetModuleHandleW() retval=7b420000 ret=09099c0f 0047:Call KERNEL32.GetProcAddress(7b420000,090ee844 "wine_get_unix_file_name") ret=09099c21 0047:Ret KERNEL32.GetProcAddress() retval=7b428c04 ret=09099c21 ... 0047:Call msvcr110._vsnwprintf_s(0033e558,00000100,000000ff,021d408c L"FEACClient being initialized",0033e768) ret=004e402c ... 005d:trace:seh:raise_exception code=c0000005 flags=0 addr=0x4b56a0 ip=004b56a0 tid=005d 005d:trace:seh:raise_exception info[0]=00000000 005d:trace:seh:raise_exception info[1]=44359f2b 005d:trace:seh:raise_exception eax=04eb1c20 ebx=0920fe01 ecx=44359f2b edx=00000000 esi=001d81b0 edi=001ec0a0 005d:trace:seh:raise_exception ebp=026e23d0 esp=0920f5fc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210206 005d:trace:seh:call_stack_handlers calling handler at 0x90e3d96 code=c0000005 flags=0 ... 005d:Call msvcr110.?_wsopen@@YAHPB_WHHH@Z(03957760 L"C:/Program Files/Hi-Rez Studios/HiRezGames/paladins/Binaries/Logs/system-2018-06-05.log",0000818a,00000010,00000180) ret=036b86ce ... 005d:Call KERNEL32.OutputDebugStringA(0920d67c "#-----------------#\r\n2018-06-05_21.18.02 - PID 70 - THR 93\r\n\r\nException in [0] (SE): Access Violation at 0x00000000004B56A0\r\nBP: 0x00000000026E23D0 | RetAddr: 0x0000000000000001 | IP: 0x00000000004B56A0 \r\nBP: 0x0000000001FC3C9C | RetAddr: 0x00000000004DAD20 | IP: 0x0000000000000001 \r\nBP: "...) ret=036d91ce ... 005d:Ret KERNEL32.OutputDebugStringA() retval=00000000 ret=036d91ce ... --- snip ---
--- snip --- ... 0049F48C 68 F461FA01 PUSH Paladins.01FA61F4 0049F491 68 E6000000 PUSH 0E6 ; ASCII "d:\build\1.0\development\src\core\inc\AntiCheatArray.h" 0049F496 68 9098FA01 PUSH Paladins.01FA9890 ; ASCII "i>=0 && (i<Num()||(i==0 && Num()==0))" 0049F49B 68 C898FA01 PUSH Paladins.01FA98C8 0049F4A0 E8 1B860000 CALL Paladins.004A7AC0 0049F4A5 83C4 10 ADD ESP,10 0049F4A8 8B0D 98BE2103 MOV ECX,DWORD PTR DS:[321BE98] 0049F4AE 64:A1 2C000000 MOV EAX,DWORD PTR FS:[2C] 0049F4B4 68 00100000 PUSH 1000 0049F4B9 8B0488 MOV EAX,DWORD PTR DS:[EAX+ECX*4] 0049F4BC 6A 00 PUSH 0 0049F4BE 8B88 F0010000 MOV ECX,DWORD PTR DS:[EAX+1F0] 0049F4C4 A1 6C3F7802 MOV EAX,DWORD PTR DS:[2783F6C] 0049F4C9 3388 E00B0000 XOR ECX,DWORD PTR DS:[EAX+BE0] 0049F4CF E8 CC610100 CALL Paladins.004B56A0 0049F4D4 85C0 TEST EAX,EAX 0049F4D6 0F85 AC000000 JNZ Paladins.0049F588 ... 004B56A0 8B11 MOV EDX,DWORD PTR DS:[ECX] ; *boom* 004B56A2 8B41 04 MOV EAX,DWORD PTR DS:[ECX+4] 004B56A5 235424 04 AND EDX,DWORD PTR SS:[ESP+4] 004B56A9 234424 08 AND EAX,DWORD PTR SS:[ESP+8] 004B56AD 0BD0 OR EDX,EAX 004B56AF 74 08 JE SHORT Paladins.004B56B9 004B56B1 B8 01000000 MOV EAX,1 004B56B6 C2 0800 RETN 8 --- snip ---
--- snip --- EAX 0778CB80 ECX A5FECD82 EDX 00000000 EBX 0943FE01 ESP 0943F5FC EBP 026E23D0 Paladins.026E23D0 ESI 001ADF68 EDI 001C22B0 ASCII "File not found: EasyAntiCheat\Cache\easyanticheat_wine_x86.eac" EIP 004B56A0 Paladins.004B56A0 C 0 ES 002B 32bit 0(FFFFFFFF) P 1 CS 0023 32bit 0(FFFFFFFF) A 0 SS 002B 32bit 0(FFFFFFFF) Z 0 DS 002B 32bit 0(FFFFFFFF) S 1 FS 0063 32bit 7FFD8000(FFF) T 0 GS 006B 32bit 0(0) D 0 O 0 LastErr ERROR_PATH_NOT_FOUND (00000003) EFL 00210286 (NO,NB,NE,A,S,PE,L,LE)
0943F7F8 001C22B0 ASCII "File not found: EasyAntiCheat\Cache\easyanticheat_wine_x86.eac" 0943F7FC 0943F908 ASCII "[EAC Callback] Code 902. Message: 'File not found: EasyAntiCheat\Cache\easyanticheat_wine_x86.eac'." ... 0943FA98 |0932D318 ASCII "Connect result: No error (0) Response Code: 404 Destination IP: xx.xx.xx.xx" ... 0943FAFC 001CC8B0 ASCII 3C,"html> <head><title>404 Not Found</title></head> <body bgco" 0943FB00 09444020 ASCII "<html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx</center> </body> </html> " ... 0943FC4C |001B2630 ASCII "https://download.eac-cdn.com/api/v1/games/%7B%7Bgameid%7D%7D/client/%7B%7Bsy..."
--- snip ---
--- snip --- 0931E842 00 00 77 69 6E 65 5F 67 ..wine_g 0931E84A 65 74 5F 75 6E 69 78 5F et_unix_ 0931E852 66 69 6C 65 5F 6E 61 6D file_nam 0931E85A 65 00 73 00 68 00 65 00 e.s.h.e. 0931E862 6C 00 6C 00 33 00 32 00 l.l.3.2. 0931E86A 2E 00 64 00 6C 00 6C 00 ..d.l.l. 0931E872 00 00 53 48 47 65 74 46 ..SHGetF 0931E87A 6F 6C 64 65 72 50 61 74 olderPat 0931E882 68 57 00 00 00 00 5C 00 hW..... 0931E88A 45 00 61 00 73 00 79 00 E.a.s.y. 0931E892 41 00 6E 00 74 00 69 00 A.n.t.i. 0931E89A 43 00 68 00 65 00 61 00 C.h.e.a. 0931E8A2 74 00 00 00 00 00 25 00 t.....%. 0931E8AA 69 00 00 00 00 00 65 61 i.....ea 0931E8B2 73 79 61 6E 74 69 63 68 syantich 0931E8BA 65 61 74 5F 00 00 78 38 eat_..x8 0931E8C2 36 00 77 69 6E 36 34 00 6.win64. 0931E8CA 00 00 78 36 34 00 77 6F ..x64.wo 0931E8D2 77 36 34 5F 78 36 34 00 w64_x64. 0931E8DA 00 00 77 69 6E 36 34 5F ..win64_ 0931E8E2 77 6F 77 36 34 00 78 36 wow64.x6 0931E8EA 34 5F 77 6F 77 36 34 00 4_wow64. 0931E8F2 00 00 77 69 6E 65 5F 78 ..wine_x 0931E8FA 38 36 00 00 00 00 77 69 86....wi 0931E902 6E 65 36 34 00 00 77 69 ne64..wi 0931E90A 6E 65 5F 78 36 34 00 00 ne_x64.. 0931E912 00 00 49 4E 56 41 4C 49 ..INVALI 0931E91A 44 5F 53 59 53 54 45 4D D_SYSTEM 0931E922 00 00 2E 65 61 63 00 00 ...eac.. --- snip ---
--- snip --- 092C9C00 PUSH ESI 092C9C01 PUSH EDI 092C9C02 PUSH easyanti.0931E828 ; UNICODE "kernel32.dll" 092C9C07 MOV EDI,ECX 092C9C09 CALL DWORD PTR DS:[<&KERNEL32.GetModuleHandleW>] 092C9C0F MOV ESI,DWORD PTR DS:[<&KERNEL32.GetProcAddress>] 092C9C15 TEST EAX,EAX 092C9C17 JE SHORT easyanti.092C9C46 092C9C19 PUSH easyanti.0931E844 ; ASCII "wine_get_unix_file_name" 092C9C1E PUSH EAX 092C9C1F CALL ESI 092C9C21 TEST EAX,EAX 092C9C23 JE SHORT easyanti.092C9C46 092C9C25 PUSH 120 092C9C2A CALL easyanti.092F248A 092C9C2F ADD ESP,4 092C9C32 TEST EAX,EAX 092C9C34 JE SHORT easyanti.092C9C41 092C9C36 PUSH ECX 092C9C37 MOV ECX,EAX 092C9C39 CALL easyanti.092CA3F0 092C9C3E POP EDI 092C9C3F POP ESI 092C9C40 RETN 092C9C41 POP EDI 092C9C42 XOR EAX,EAX 092C9C44 POP ESI 092C9C45 RETN 092C9C46 PUSH EDI 092C9C47 PUSH 0EAC 092C9C4C CALL ESI 092C9C4E MOV ESI,EAX 092C9C50 TEST ESI,ESI 092C9C52 JNZ SHORT easyanti.092C9C6E 092C9C54 CALL DWORD PTR DS:[<&KERNEL32.GetCommandLineW>] 092C9C5A MOV ECX,EAX 092C9C5C CALL easyanti.092BA7A0 --- snip ---
One way to fix this but possibly breaking one way of detecting Wine is to export 'wine_get_unix_file_name()' by ordinal using '-noname' in the .spec file (using non-Windows allocated ordinal). I've tested this method and the client EAC module is properly downloaded.
--- snip --- $ find .wine -iname loader.log .wine/drive_c/Program Files/Hi-Rez Studios/HiRezGames/paladins/Binaries/Win32/loader.log .wine/drive_c/users/focht/Application Data/EasyAntiCheat/112/loader.log --- snip ---
--- snip --- [2018.06.06-01.01.12] Loader initialized. [2018.06.06-01.01.12] [Connection] Connecting to URL: https://download.eac-cdn.com/api/v1/games/112/client/win32/download/?uuid=04... [2018.06.06-01.01.12] Download Progress: 0%. [2018.06.06-01.01.12] [Connection] [Connection Verbose] Shuffling 6 addresses [2018.06.06-01.01.12] [Connection] [Connection Verbose] Trying 83.136.255.42... [2018.06.06-01.01.12] [Connection] [Connection Verbose] TCP_NODELAY set ... 2018.06.06-01.01.12] Download Progress: 100%. [2018.06.06-01.01.12] [Connection] [Connection Verbose] Connection #0 to host download.eac-cdn.com left intact --- snip ---
Anyway, apps shouldn't rely on the presence of Wine-specific API exports using 'GetProcAddress()' at all.
There is a failure loading the kernel driver later, but that's a different issue.
$ sha1sum InstallPaladins.exe f8d83d88635c0b94655cc301cb0e190d80b9cd77 InstallPaladins.exe
$ du -sh InstallPaladins.exe 72M InstallPaladins.exe
$ wine --version wine-3.9-165-g11e3cf091d
Regards
https://bugs.winehq.org/show_bug.cgi?id=44235
zzzzzyzz@hacari.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzzzzyzz@hacari.org
https://bugs.winehq.org/show_bug.cgi?id=44235
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #14 from Fabian Maurer dark.shadow4@web.de ---
One way to fix this but possibly breaking one way of detecting Wine is to export 'wine_get_unix_file_name()' by ordinal using '-noname' in the .spec file (using non-Windows allocated ordinal). I've tested this method and the client EAC module is properly downloaded.
Probably would be easier to do it like staging, and prevent GetProcAddress for those functions. Like, hiding all functions starting with "__wine_" or "wine_". But then again, there will always be a way to check for wine, so...
https://bugs.winehq.org/show_bug.cgi?id=44235
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #15 from Zebediah Figura z.figura12@gmail.com --- I've tried sending a report to Easy Anti-Cheat.
https://bugs.winehq.org/show_bug.cgi?id=44235
zaplo00@mailfence.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zaplo00@mailfence.com
--- Comment #16 from zaplo00@mailfence.com --- (In reply to Fabian Maurer from comment #14)
One way to fix this but possibly breaking one way of detecting Wine is to export 'wine_get_unix_file_name()' by ordinal using '-noname' in the .spec file (using non-Windows allocated ordinal). I've tested this method and the client EAC module is properly downloaded.
Probably would be easier to do it like staging, and prevent GetProcAddress for those functions. Like, hiding all functions starting with "__wine_" or "wine_". But then again, there will always be a way to check for wine, so...
These sort of things probably happen in many anticheats, would be nice to at least have an option to try to hide wine from them.
https://bugs.winehq.org/show_bug.cgi?id=44235
Jonathan jomarocas@outlook.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jomarocas@outlook.com
https://bugs.winehq.org/show_bug.cgi?id=44235
Mikhail mikhail.v.gavrilov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikhail.v.gavrilov@gmail.co | |m
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #17 from Shawn Starr shawn.starr@rogers.com --- I had two thoughts here:
LD_PRELOAD to hide all wine_* symbols so any Windows program would not see wine is running the program, but allow remaining symbols to be seen, if we can do that then this would fool EAC since it wouldn't find any wine symbols.
The problem there is wine itself expects to find these symbols... I'm not really sure here...
The other is, what stops us from a Linux kernel userspace driver mapping to wine to expose what EAC (in this case) wants to examine? I realize that such a kernel driver would probably not be secure.
However, since it would be a userspace kernel driver, it can be unloaded when not used.
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #18 from Fabian Maurer dark.shadow4@web.de --- @Shawn Starr There's a lot that's doable. It's a game of cat and mouse though. In the end, I don't consider this "bug" fixable.
https://bugs.winehq.org/show_bug.cgi?id=44235
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44235
John hdsamsunghd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hdsamsunghd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #19 from John hdsamsunghd@gmail.com --- There is some information about where things are going?
https://bugs.winehq.org/show_bug.cgi?id=44235
Anthony Jagers noonetinone@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |noonetinone@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44235
Kai jopiku@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jopiku@googlemail.com
https://bugs.winehq.org/show_bug.cgi?id=44235
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=44235
maniikarabera@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maniikarabera@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=44235
Georg georg.schuemann@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |georg.schuemann@web.de
--- Comment #20 from Georg georg.schuemann@web.de --- Not sure if related, but I've a similiar issue with ArcheAge Unchained, this might also be an issue in the free Version, haven't tested)
$ strings easyanticheat_x64.dll | grep wine wine32 wine64 wine_get_version wine_x86 wine_x64
The wine_get_unix_file_name string is missing.
However in the "/home/schorschie/archa/drive_c/users/schorschie/Application Data/EasyAntiCheat/475/loader.log", it says
[2020.01.19-12.12.32] Loader initialized. [2020.01.19-12.12.32] [Connection] Connecting to URL: https://download.eac-cdn.com/api/v1/games/475/client/wine64/download/?uuid=8... [2020.01.19-12.12.32] Download Progress: 0%. ... [2020.01.19-12.12.32] Download Progress: 0%. [2020.01.19-12.12.32] [Connection] Connect result: No error (0) Response Code: 200 Destination IP: 104.28.3.249 [2020.01.19-12.12.32] [HTTP Error Response] HTTP Response Code: 200 Curl Code: 0. [2020.01.19-12.12.32] [EAC Callback] Code 915. Message: '[HTTP Error Response] HTTP Response Code: 200 Curl Code: 0.'.
The game stops with "011c:err:seh:setup_exception stack overflow 2064 bytes in thread 011c eip 000000007bc94038 esp 0000000000130e00 stack 0x130000-0x131000-0x230000" so I am unsure if the AntiCheat really is the problem there.
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #21 from Shawn Starr shawn.starr@rogers.com --- So this continues to get worse:
https://na.leagueoflegends.com/en-pl/news/dev/dev-null-anti-cheat-kernel-dri...
I'm going to ask the Wine developers can we realistically have some sort of wine kernel driver part of kernel that can interface with wine.
It's going to come to a point where unless we have some sort of shim layer that can emulate a kernel driver from kernel space <-> userspace.
I brought this up earlier in this bug but it seems, this is only going to get worse and with game companies refusing to care about Linux and or Wine, I don't see what other options we.
This of course, goes beyond EasyAntiCheat, but its the same thing. We need to figure out kernel driver mapping for these things...
https://bugs.winehq.org/show_bug.cgi?id=44235
fjmsoftware@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjmsoftware@yahoo.com
--- Comment #22 from fjmsoftware@yahoo.com --- Shaiya from Aeria Games also seems affected. Launcher works fine, downloads the latest updates, but when you try to launch the game you first see Easy Anti Cheat trying to do something and showing a blue hovering progress bar that gets filled about 5%, then that disappears and you get a small window with the error message "EAC Init failed!". And the EAC DLL that comes with the installation does have all the WINE-related strings mentioned above.
Tried this on Xubuntu 18.04 with 32-bit Wine 3.20.
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #23 from Shawn Starr shawn.starr@rogers.com --- Looks like there is huge progress on this. This can't be closed as 'FIXED' yet... for awhile...
https://bugs.winehq.org/show_bug.cgi?id=44235
Freigeist m4ng4n@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |m4ng4n@gmx.de
https://bugs.winehq.org/show_bug.cgi?id=44235
Nikolay Bryskin devel.niks@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |devel.niks@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44235
Mauricio SL me@mauriciosl.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |me@mauriciosl.com
https://bugs.winehq.org/show_bug.cgi?id=44235
Neko-san nekoNexus@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nekoNexus@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=44235
Linards linards.liepins@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |linards.liepins@gmail.com
--- Comment #24 from Linards linards.liepins@gmail.com --- This ( or with some variations which I have no knbowledge to iundetufy) issue happens for several titles in the Steam:
Destiny 2 (shows console and error message 1053, no looping) PlanetSide 2 (shows console and error message 1053, no looping) Halo Infinite (infinte loop after EAC splash screen) The FINALS (infinte loop after EAC splash screen)
$ sh Lejupielādes/winetricks list-installed ------------------------------------------------------ warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug. ------------------------------------------------------ Using winetricks 20240105-next - sha256sum: c43ad4a2529441656e3f5a0b5ed6e248de15bf5cf657510ec2c0f6efc2562080 with wine-8.21 (Staging) and WINEARCH=win64 w_workaround_wine_bug-50894 ucrtbase2019 vcrun2019 d3dcompiler_43 d3dx9 d3dcompiler_47 dxvk vcrun2013
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #25 from Linards linards.liepins@gmail.com --- (In reply to Linards from comment #24)
This ( or with some variations which I have no knbowledge to iundetufy) issue happens for several titles in the Steam:
Destiny 2 (shows console and error message 1053, no looping) PlanetSide 2 (shows console and error message 1053, no looping) Halo Infinite (infinte loop after EAC splash screen) The FINALS (infinte loop after EAC splash screen)
$ sh Lejupielādes/winetricks list-installed
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
Using winetricks 20240105-next - sha256sum: c43ad4a2529441656e3f5a0b5ed6e248de15bf5cf657510ec2c0f6efc2562080 with wine-8.21 (Staging) and WINEARCH=win64 w_workaround_wine_bug-50894 ucrtbase2019 vcrun2019 d3dcompiler_43 d3dx9 d3dcompiler_47 dxvk vcrun2013
$ sudo inxi -Gxxx Graphics: Device-1: Intel DG2 [Arc A770] driver: i915 v: kernel arch: Gen-12.7 pcie: speed: 2.5 GT/s lanes: 1 ports: active: HDMI-A-1,HDMI-A-2 empty: DP-1, DP-2, DP-3, DP-4, HDMI-A-3 bus-ID: 03:00.0 chip-ID: 8086:56a0 class-ID: 0300 Display: server: X.Org v: 22.1.9 with: Xwayland v: 22.1.9 compositor: gnome-shell v: 44.10 driver: X: loaded: modesetting unloaded: fbdev,vesa dri: iris gpu: i915 display-ID: :0 screens: 1 Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.00x11.26") s-diag: 583mm (22.95") Monitor-1: HDMI-A-1 mapped: XWAYLAND0 pos: primary model: BenQ G2420HDBL serial: RAB03454SL000 res: 1920x1080 hz: 60 dpi: 92 size: 530x290mm (20.87x11.42") diag: 604mm (23.8") modes: max: 1920x1080 min: 720x400 Monitor-2: HDMI-A-2 mapped: XWAYLAND1 model: Philips FTV serial: 16843009 res: 1920x1080 hz: 60 dpi: 76 size: 640x360mm (25.2x14.17") diag: 734mm (28.9") modes: max: 1920x1080 min: 640x480 API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris device: 1 drv: swrast surfaceless: drv: iris x11: drv: iris inactive: gbm,wayland API: OpenGL v: 4.6 vendor: intel mesa v: 23.1.9 glx-v: 1.4 es-v: 3.2 direct-render: yes renderer: Mesa Intel Arc A770 Graphics (DG2) device-ID: 8086:56a0 API: Vulkan v: 1.3.243 layers: 1 surfaces: xcb,xlib device: 0 type: discrete-gpu driver: mesa intel device-ID: 8086:56a0 device: 1 type: cpu driver: mesa llvmpipe device-ID: 10005:0000
https://bugs.winehq.org/show_bug.cgi?id=44235
soredake broaden_acid002@simplelogin.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|broaden_acid002@simplelogin | |.com |
https://bugs.winehq.org/show_bug.cgi?id=44235
--- Comment #26 from Linards linards.liepins@gmail.com --- (In reply to Linards from comment #25)
(In reply to Linards from comment #24)
This ( or with some variations which I have no knbowledge to iundetufy) issue happens for several titles in the Steam:
Destiny 2 (shows console and error message 1053, no looping) PlanetSide 2 (shows console and error message 1053, no looping) Halo Infinite (infinte loop after EAC splash screen) The FINALS (infinte loop after EAC splash screen)
$ sh Lejupielādes/winetricks list-installed
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
Using winetricks 20240105-next - sha256sum: c43ad4a2529441656e3f5a0b5ed6e248de15bf5cf657510ec2c0f6efc2562080 with wine-8.21 (Staging) and WINEARCH=win64 w_workaround_wine_bug-50894 ucrtbase2019 vcrun2019 d3dcompiler_43 d3dx9 d3dcompiler_47 dxvk vcrun2013
$ sudo inxi -Gxxx Graphics: Device-1: Intel DG2 [Arc A770] driver: i915 v: kernel arch: Gen-12.7 pcie: speed: 2.5 GT/s lanes: 1 ports: active: HDMI-A-1,HDMI-A-2 empty: DP-1, DP-2, DP-3, DP-4, HDMI-A-3 bus-ID: 03:00.0 chip-ID: 8086:56a0 class-ID: 0300 Display: server: X.Org v: 22.1.9 with: Xwayland v: 22.1.9 compositor: gnome-shell v: 44.10 driver: X: loaded: modesetting unloaded: fbdev,vesa dri: iris gpu: i915 display-ID: :0 screens: 1 Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.00x11.26") s-diag: 583mm (22.95") Monitor-1: HDMI-A-1 mapped: XWAYLAND0 pos: primary model: BenQ G2420HDBL serial: RAB03454SL000 res: 1920x1080 hz: 60 dpi: 92 size: 530x290mm (20.87x11.42") diag: 604mm (23.8") modes: max: 1920x1080 min: 720x400 Monitor-2: HDMI-A-2 mapped: XWAYLAND1 model: Philips FTV serial: 16843009 res: 1920x1080 hz: 60 dpi: 76 size: 640x360mm (25.2x14.17") diag: 734mm (28.9") modes: max: 1920x1080 min: 640x480 API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris device: 1 drv: swrast surfaceless: drv: iris x11: drv: iris inactive: gbm,wayland API: OpenGL v: 4.6 vendor: intel mesa v: 23.1.9 glx-v: 1.4 es-v: 3.2 direct-render: yes renderer: Mesa Intel Arc A770 Graphics (DG2) device-ID: 8086:56a0 API: Vulkan v: 1.3.243 layers: 1 surfaces: xcb,xlib device: 0 type: discrete-gpu driver: mesa intel device-ID: 8086:56a0 device: 1 type: cpu driver: mesa llvmpipe device-ID: 10005:0000
FYI: Similar question on 1053 error, that has not been anyhow amswered or even addressed: https://forum.winehq.org/viewtopic.php?t=33065