http://bugs.winehq.org/show_bug.cgi?id=34455
Bug #: 34455 Summary: Aion launch failed Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: snowwind72@gmail.com Classification: Unclassified
Created attachment 45872 --> http://bugs.winehq.org/attachment.cgi?id=45872 tail of wine console log
Aion started to launch, then gave error: CrySystem.dll Loading failed
tail of wine console log attached. Note: There were also dozens of fixme:MoveFileWithProgress errors in log before this last part of it.
http://bugs.winehq.org/show_bug.cgi?id=34455
Snow Wilder snowwind72@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.7.1
http://bugs.winehq.org/show_bug.cgi?id=34455
legluondunet@free.fr legluondunet@free.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |legluondunet@free.fr
--- Comment #1 from legluondunet@free.fr legluondunet@free.fr 2013-09-05 07:46:32 CDT --- try to install vcr2005 with winetricks
http://bugs.winehq.org/show_bug.cgi?id=34455
--- Comment #2 from legluondunet@free.fr legluondunet@free.fr 2013-09-05 07:47:51 CDT --- sorry, install "vcrun2005" with winetricks and that should work.
http://bugs.winehq.org/show_bug.cgi?id=34455
--- Comment #3 from Snow Wilder snowwind72@gmail.com 2013-09-05 19:24:07 CDT --- Hi and thanks.
I did as you suggested, installing vcrun2005
Now the game launched fails with an error:
[Launcher error] An error has occurred. E03001
Should I try adding vcrun2008 as well?
http://bugs.winehq.org/show_bug.cgi?id=34455
--- Comment #4 from Snow Wilder snowwind72@gmail.com 2013-09-07 02:23:36 CDT --- After adding vcrun2550 (as was suggested) and getting the launcher error I previously mentioned, I tried the instructions from the "Gold" report, adding "d3dx9 vcrun2005 vcrun2008 wininet corefonts" before running the install.
When the game auto-launched after the launcher fully installed it, I now got the error: "CRITICAL ERROR: Error loading CryPhysics.dll error code 126, module not found"
http://bugs.winehq.org/show_bug.cgi?id=34455
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, obfuscation Status|UNCONFIRMED |NEW URL| |ftp://ftp.ncsoft.com/aionin | |staller/AionInstaller.exe CC| |focht@gmx.net Component|-unknown |msvcrt Summary|Aion launch failed |NCsoft's Aion (MMORPG) | |fails to load | |"CrySystem.dll" (WinLicense | |software protection, avoid | |forwarding some msvcrt API | |to ntdll) Ever Confirmed|0 |1
--- Comment #5 from Anastasius Focht focht@gmx.net 2013-09-07 15:58:01 CDT --- Hello folks,
please avoid mixing various issues in one bug.
--- quote --- Now the game launched fails with an error:
[Launcher error] An error has occurred. E03001 --- quote ---
This is described here: https://aiononline.custhelp.com/app/answers/detail/a_id/9302/~/new-launcher-...
--- quote --- Running the launcher from the NCLauncher.exe instead of the shortcut on your desktop may cause you to receive error E03001. Try using the shortcut that is located on your desktop or selecting the shortcut from your Aion folder in your Start Menu. Following these steps should resolve your issue. --- quote ---
Debugging their crappy command line parsing code sheds some light on this... Actually it's one of the gazillion broken apps that expects a _trailing_ whitespace at end of command line (similar to bug 16543).
To work around, use builtin "start.exe" for "NClauncher.exe" which automagically adds the whitespace (mimics Windows behaviour).
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/NCWest/NCLauncher ... wine start ./NCLauncher.exe /LauncherID:NCWest /CompanyID:12 /GameID:AION /LUpdateAddr:updater.nclauncher.ncsoft.com --- snip ---
The game downloader/updater/launcher comes with builtin torrent client which works a bit flaky (sometimes emits error E02018) but still manages to download several GiB of game data (given some restarts).
NOTE: I'm still on clean 32-bit WINEPREFIX, no native components (winetricks)
Now coming to the first crash "Aion started to launch, then gave error: CrySystem.dll Loading failed" ...
It seems the game is wrapped with the WinLicense software protection scheme from Oreans (http://www.oreans.com/). Yes, these guys that gave much grievance to Windows and Wine users with their infamous Themida protection scheme.
Despite various anti-debugging/dumping measure employed I worked out some issues... It seems the protection doesn't like Wine's msvcrt forwards to ntdll.
Partial dump of extra IAT:
--- snip --- ... 033B8514 F34F088A OFFSET msvcrt._splitpath 033B8518 F34EF7AC OFFSET msvcrt.MSVCRT__findfirst64i32 033B851C F3540318 OFFSET msvcrt.MSVCRT__snprintf_s 033B8520 F356C35A ASCII "ntdll.wcsstr" 033B8524 F35105D4 OFFSET msvcrt._mbsicmp 033B8528 F3532F92 OFFSET msvcrt.MSVCRT_wcschr ... 033B85D0 F3532C4A OFFSET msvcrt.MSVCRT_memset 033B85D4 F3532EAF OFFSET msvcrt.MSVCRT_strstr 033B85D8 F356C2B7 ASCII "ntdll.strncat" 033B85DC F35304B0 OFFSET msvcrt.MSVCRT_strncpy 033B85E0 F350BCA1 OFFSET msvcrt._CIlog ... 033B8620 F35332B0 OFFSET msvcrt._beginthreadex 033B8624 F356C2D3 ASCII "ntdll.strrchr" 033B8628 F3532C17 OFFSET msvcrt.MSVCRT_memcpy ... --- snip ---
Wine's msvcrt has been changed several times to not forward various API to ntdll anymore (see GIT commit log "Don't forward <foo> to ntdll")
I reduced the list further (copying the code from ntdll):
--- snip --- -@ cdecl _wcsnicmp(wstr wstr long) ntdll._wcsnicmp +@ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp ... -@ cdecl memcmp(ptr ptr long) ntdll.memcmp +@ cdecl memcmp(ptr ptr long) MSVCRT_memcmp ... -@ cdecl memmove(ptr ptr long) ntdll.memmove +@ cdecl memmove(ptr ptr long) MSVCRT_memmove ... -@ cdecl strcmp(str str) ntdll.strcmp +@ cdecl strcmp(str str) MSVCRT_strcmp ... -@ cdecl strlen(str) ntdll.strlen -@ cdecl strncat(str str long) ntdll.strncat +@ cdecl strlen(str) MSVCRT_strlen +@ cdecl strncat(str str long) MSVCRT_strncat ... -@ cdecl strrchr(str long) ntdll.strrchr +@ cdecl strrchr(str long) MSVCRT_strrchr ... -@ cdecl strstr(str str) ntdll.strstr +@ cdecl strstr(str str) MSVCRT_strstr ... -@ cdecl wcschr(wstr long) ntdll.wcschr +@ cdecl wcschr(wstr long) MSVCRT_wcschr ... -@ cdecl wcslen(wstr) ntdll.wcslen +@ cdecl wcslen(wstr) MSVCRT_wcslen ... -@ cdecl wcsstr(wstr wstr) ntdll.wcsstr +@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr --- snip ---
With those forwards removed the game runs a bit further - into next bug (similar issue with Wine's msvcp80.dll which deserves a separate bug)
$ wine --version wine-1.7.1-229-g7813f5c
Regards
http://bugs.winehq.org/show_bug.cgi?id=34455
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |34470
http://bugs.winehq.org/show_bug.cgi?id=34455
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #6 from Piotr Caban piotr.caban@gmail.com 2013-09-17 15:52:48 CDT --- Today I've sent patches that moved all of listed functions implementations to msvcrt. The game still doesn't run when builtin msvcr80 and native msvcp80 is used.
http://bugs.winehq.org/show_bug.cgi?id=34455
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |882761f15d180c5b2185bbe2750 | |c6d694f80a05b Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #7 from Anastasius Focht focht@gmx.net 2013-09-19 01:59:22 CDT --- Hello folks,
this is fixed by commit series 4fbf246298f8cef5cb40290084c8858a1b547fac .. 882761f15d180c5b2185bbe2750c6d694f80a05b
Thanks Piotr
Next crash is bug 34470
Regards
http://bugs.winehq.org/show_bug.cgi?id=34455
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2013-09-27 13:41:46 CDT --- Closing bugs fixed in 1.7.3.