https://bugs.winehq.org/show_bug.cgi?id=44456
Bug ID: 44456 Summary: i cant launch the game Product: WineHQ Apps Database Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: appdb-unknown Assignee: wine-bugs@winehq.org Reporter: zulmenkibo@gmail.com Distribution: ---
Created attachment 60396 --> https://bugs.winehq.org/attachment.cgi?id=60396 i cant launch the game
i cant launch the game
https://bugs.winehq.org/show_bug.cgi?id=44456
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Product|WineHQ Apps Database |Wine Component|appdb-unknown |-unknown Version|unspecified |3.0 Summary|i cant launch the game |Football Manager 2017 | |crashes
--- Comment #1 from Austin English austinenglish@gmail.com --- Not an appdb bug. Please read https://wiki.winehq.org/Bugs for info on filing a bug report.
https://bugs.winehq.org/show_bug.cgi?id=44456
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |x86-64 Component|-unknown |kernel32 CC| |focht@gmx.net Ever confirmed|0 |1 Summary|Football Manager 2017 |64-bit Football Manager |crashes |2017 crashes due missing | |'kernel32.dll' -> | |'kernelbase.dll' load-time | |dependency (Minwin/Win7+) Status|UNCONFIRMED |NEW
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
It seems the game is specifically built for Windows 7 or later.
--- snip --- $ pwd /home/focht/Downloads/wine64/drive_c/Games/Football Manager 2017
$ file *.{dll,exe} avutil-ttv-51.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows D3DCompiler_43.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows dbghelp.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows icudt57.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows icuin57.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows icuuc57.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows libmfxsw64.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows libmp3lame-ttv.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows OpenAL32.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows steam_api64.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows steamclient64.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows swresample-ttv-0.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows twitchsdk_x64_release.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows vpxmt.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows fm.exe: PE32+ executable (GUI) x86-64, for MS Windows stp-fm2017.exe: PE32+ executable (GUI) x86-64, for MS Windows unins000.exe: PE32 executable (GUI) Intel 80386, for MS Windows
$ WINEDEBUG=+seh,+relay wine ./stp-fm2017.exe >>log.txt 2>&1 ... 0030:Starting process L"C:\Games\Football Manager 2017\stp-fm2017.exe" (entryproc=0x1400047f0) 0030:Call KERNEL32.GetStartupInfoW(0023fcd0,) ret=140005336 0030:Ret KERNEL32.GetStartupInfoW() retval=0023fcd0 ret=140005336 0030:Call ntdll.RtlEncodePointer(00000000,) ret=140004b4e 0030:Ret ntdll.RtlEncodePointer() retval=c565c21f6edfb267 ret=140004b4e 0030:Call ntdll.RtlEncodePointer(1400082a4,) ret=1400082d5 0030:Ret ntdll.RtlEncodePointer() retval=c565c21e2edf30c3 ret=1400082d5 0030:Call KERNEL32.GetModuleHandleW(140010f60 L"kernel32.dll",) ret=1400053db 0030:Ret KERNEL32.GetModuleHandleW() retval=7b460000 ret=1400053db ... 0030:Call KERNEL32.GetModuleHandleW(140015500 L"ntdll.dll",) ret=14012f66b 0030:Ret KERNEL32.GetModuleHandleW() retval=7bc80000 ret=14012f66b 0030:Call KERNEL32.GetModuleHandleW(140015518 L"kernel32.dll",) ret=140188e27 0030:Ret KERNEL32.GetModuleHandleW() retval=7b460000 ret=140188e27 0030:Call KERNEL32.GetModuleHandleW(140015538 L"ntdll.dll",) ret=1400bc3dd 0030:Ret KERNEL32.GetModuleHandleW() retval=7bc80000 ret=1400bc3dd 0030:Call KERNEL32.GetModuleHandleW(140015550 L"kernelbase.dll",) ret=1401eb184 0030:Ret KERNEL32.GetModuleHandleW() retval=00000000 ret=1401eb184 0030:trace:seh:NtRaiseException code=c0000005 flags=0 addr=0x140001a40 ip=140001a40 tid=0030 0030:trace:seh:NtRaiseException info[0]=0000000000000000 0030:trace:seh:NtRaiseException info[1]=000000000000003c 0030:trace:seh:NtRaiseException rax=000000000000003c rbx=e26a418e972198e9 rcx=000000007bdb0279 rdx=0000000140001203 0030:trace:seh:NtRaiseException rsi=000000014005553f rdi=000000000023e980 rbp=000000000023eb24 rsp=000000000023e980 0030:trace:seh:NtRaiseException r8=0000000000000009 r9=00000001401eb184 r10=0000000000000000 r11=0000000000000246 0030:trace:seh:NtRaiseException r12=000000014001c100 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 0030:trace:seh:RtlVirtualUnwind type 1 rip 140001a40 rsp 23e980 ... --- snip ---
It expects Minwin 'kernelbase.dll' already mapped by 'kernel32.dll' core dll. Traditional core dlls (except ntdll) forward their calls to Minwin (Minimal Windows kernel) dlls.
http://windows-now.com/blogs/robert/mark-russinovich-explains-minwin-once-an...
--- quote --- As an aside, for those of you wondering, a lot of the MinWin magic happens in KernelBase.dll. It contains a lot of the functionality that was refactored from Kernel32.dll, so for compatibility with older programs, they left “forwarders” in there that pass the calls down to KernelBase.dll as necessary. --- quote ---
Unfortunately Wine does it the other way around.
Regards
https://bugs.winehq.org/show_bug.cgi?id=44456
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
the easiest solution is to preload 'kernelbase.dll' by default on process init.
I'm not sure if it's worth to add a version check for Win7+ to decide to preload it or not. It would be safe at least from the case when an app/game checks for the presence of 'kernelbase.dll' (without explicit load dependency) to validate against reported Windows version.
https://source.winehq.org/git/wine.git/blob/f9181daa1ddc2c10d3b6ddd4610bc142...
--- snip --- 3324 void __wine_process_init(void) 3325 { 3326 static const WCHAR kernel32W[] = {'k','e','r','n','e','l','3','2','.','d','l','l',0}; 3327 3328 WINE_MODREF *wm; 3329 NTSTATUS status; 3330 ANSI_STRING func_name; 3331 void (* DECLSPEC_NORETURN CDECL init_func)(void); 3332 3333 main_exe_file = thread_init(); 3334 3335 /* retrieve current umask */ 3336 FILE_umask = umask(0777); 3337 umask( FILE_umask ); 3338 3339 load_global_options(); 3340 3341 /* setup the load callback and create ntdll modref */ 3342 wine_dll_set_callback( load_builtin_callback ); 3343 3344 if ((status = load_builtin_dll( NULL, kernel32W, 0, 0, &wm )) != STATUS_SUCCESS) 3345 { 3346 MESSAGE( "wine: could not load kernel32.dll, status %x\n", status ); 3347 exit(1); 3348 } 3349 RtlInitAnsiString( &func_name, "UnhandledExceptionFilter" ); 3350 LdrGetProcedureAddress( wm->ldr.BaseAddress, &func_name, 0, (void **)&unhandled_exception_filter ); 3351 3352 RtlInitAnsiString( &func_name, "__wine_kernel_init" ); 3353 if ((status = LdrGetProcedureAddress( wm->ldr.BaseAddress, &func_name, 3354 0, (void **)&init_func )) != STATUS_SUCCESS) 3355 { 3356 MESSAGE( "wine: could not find __wine_kernel_init in kernel32.dll, status %x\n", status ); 3357 exit(1); 3358 } 3359 init_func(); 3360 } --- snip ---
I added it here and the wrapper ran successfully, spawning the real game executable 'fm.exe'.
That one is hanging on entry which is bug 44438 (Denuvo "Anti-Tamper" x64 variant #2)
--- snip --- -=[ ProtectionID v0.6.9.0 DECEMBER]=- (c) 2003-2017 CDKiLLER & TippeX Build 24/12/17-21:05:42 Ready... Scanning -> Z:\home\focht\Downloads\wine64\drive_c\Games\Football Manager 2017\fm.exe File Type : 64-Bit Exe (Subsystem : Win GUI / 2), Size : 135495168 (08137E00h) Byte(s) | Machine: 0x8664 (AMD64) [!] Warning -> File needs higher OS (Current OS : 05.01, Requires OS: 06.00) [!] Warning : File is 64 Bit, this os is NOT Compilation TimeStamp : 0x58BEFC7B -> Tue 07th Mar 2017 18:31:23 (GMT) [TimeStamp] 0x58BEFC7B -> Tue 07th Mar 2017 18:31:23 (GMT) | PE Header | - | Offset: 0x00000000:000000E0 | VA: 0x00000001:400000E0 | - [TimeStamp] 0x58BEFC7B -> Tue 07th Mar 2017 18:31:23 (GMT) | DebugDirectory | - | Offset: 0x00000000:040048C4 | VA: 0x00000001:46E4C2C4 | - [TimeStamp] 0x58BEFC7B -> Tue 07th Mar 2017 18:31:23 (GMT) | DebugDirectory | - | Offset: 0x00000000:040048E0 | VA: 0x00000001:46E4C2E0 | - [!] Executable uses TLS callbacks (1 total... 0 invalid addresses) [LoadConfig] Struct determined as v3 (Expected size 148 | Actual size 148) [LoadConfig] CFG (/Guard) - Handler @ 0x1:42DCAFF8 [LoadConfig] CFG Table @ 0x0:00000000 | 0x00 (00) entries [LoadConfig] CFG Flags : 0x100 [LoadConfig] CFG Data Present, yet setting is not present in the DllCharacteristics.. patched out? [File Heuristics] -> Flag #1 : 00000100000001001100001000100001 (0x0404C221) [Entrypoint Section Entropy] : 4.87 (section #8) ".data " | Size : 0x15D (349) byte(s) [DllCharacteristics] -> Flag : (0x8120) -> HEVA | DEP | TSA [SectionCount] 12 (0xC) | ImageSize 0xAF80000 (184025088) byte(s) [VersionInfo] Company Name : Sports Interactive [VersionInfo] Product Name : Football Manager 2017 [VersionInfo] Product Version : 17.3.1f939048 [VersionInfo] File Description : Football Manager 2017 17.3.1f939048 (update) [VersionInfo] File Version : 17.3.1f939048 [VersionInfo] Original FileName : FM2017 [VersionInfo] Internal Name : Football Manager 2017 [VersionInfo] Legal Copyrights : (c)Sports InteractiveLtd 2016 [ModuleReport] [IAT] Modules -> ADVAPI32.dll | COMDLG32.dll | CRYPT32.dll | GDI32.dll | IMM32.dll | KERNEL32.dll | OpenAL32.dll | POWRPROF.dll | RPCRT4.dll | SHELL32.dll | SHLWAPI.dll | USER32.dll | VERSION.dll | WININET.dll | WINMM.dll | WS2_32.dll | WTSAPI32.dll | d3d9.dll | d3dx9_43.dll | icuin57.dll | icuuc57.dll | kernel32.dll | ole32.dll | pdh.dll | steam_api64.dll | twitchsdk_x64_release.dll | vpxmt.dll [Debug Info] (record 1 of 2) (file offset 0x40048C0) Characteristics : 0x0 | TimeDateStamp : 0x58BEFC7B (Tue 07th Mar 2017 18:31:23 (GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 (0x2) -> CodeView | Size : 0x78 (120) AddressOfRawData : 0x6E4C2F8 | PointerToRawData : 0x40048F8 CvSig : 0x53445352 | SigGuid 7598FF24-AD46-4829-8113BD73EE65189E Age : 0x2 (2) | Pdb : fm.pdb [Debug Info] (record 2 of 2) (file offset 0x40048DC) Characteristics : 0x0 | TimeDateStamp : 0x58BEFC7B (Tue 07th Mar 2017 18:31:23 (GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 12 (0xC) -> Undocumented | Size : 0x14 (20) AddressOfRawData : 0x6E4C370 | PointerToRawData : 0x407D770 [Raw/Hidden Debug Record] (File Offset 0x8FA5E4) CvSig : 0x53445352 | SigGuid 898D5156-BBA5-4B3A-B2D5E26D31629C5C Age : 0x1 (1) | Pdb : E:\perforce_data\dev\projects\games\fm\branches\fm2017\update\game\builds\vs2015\x64\final protected\application\unprotected.pdb [!] Steam api usage detected [!] Denuvo "Anti-Tamper" x64 variant #2 detected [CdKeySerial] found "Invalid code" @ VA: 0x0327B078 / Offset: 0x004B1678 [CdKeySerial] found "Unregistered" @ VA: 0x03282070 / Offset: 0x004B8670 [CdKeySerial] found "Unregistered" @ VA: 0x03282108 / Offset: 0x004B8708 [CdKeySerial] found "Serial Number" @ VA: 0x032B7EFF / Offset: 0x004EE4FF [CdKeySerial] found "SerialNumber" @ VA: 0x0334C7BE / Offset: 0x00582DBE [CdKeySerial] found "Unregistered" @ VA: 0x03381E08 / Offset: 0x005B8408 [CdKeySerial] found "Unregistered" @ VA: 0x03381FD0 / Offset: 0x005B85D0 [CdKeySerial] found "Invalid code" @ VA: 0x03463328 / Offset: 0x00699928 [CdKeySerial] found "Invalid code" @ VA: 0x03463370 / Offset: 0x00699970 [CdKeySerial] found "Serial Number" @ VA: 0x034B9B98 / Offset: 0x006F0198 [CdKeySerial] found "Serial Number" @ VA: 0x03517128 / Offset: 0x0074D728 [CdKeySerial] found "SerialNumber" @ VA: 0x035176F8 / Offset: 0x0074DCF8 [CdKeySerial] found "Serial Number" @ VA: 0x03518BA5 / Offset: 0x0074F1A5 [CompilerDetect] -> Borland Delphi (unknown version) - 20% probability - Scan Took : 18.292 Second(s) [000004914h (18708) tick(s)] [180 of 580 scan(s) done] --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=44456
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x@gmail.com
--- Comment #4 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Anastasius Focht from comment #3)
Hello folks,
Hi Anastasius,
It looks like apparantly IPCameraViewer suffers from same. Both in XP, win7 or win10 mode. It throws up a messagebox Module not found.
https://www.deskshare.com/ip-camera-viewer.aspx
0009:Call KERNEL32.VirtualProtect(7bc22e00,00000005,00000020,0032f3d4) ret=00c2db9c 0009:Ret KERNEL32.VirtualProtect() retval=00000001 ret=00c2db9c 0009:Call KERNEL32.GetModuleHandleW(009e8718 L"kernelbase.dll") ret=00c2e896 0009:Ret KERNEL32.GetModuleHandleW() retval=00000000 ret=00c2e896 0009:Call KERNEL32.GetLastError() ret=00c2e8a2 0009:Ret KERNEL32.GetLastError() retval=0000007e ret=00c2e8a2 0009:Call KERNEL32.SetEvent(00000064) ret=00c685ee 0009:Ret KERNEL32.SetEvent() retval=00000001 ret=00c685ee 0009:Call ntdll.RtlAllocateHeap(00590000,00000000,00000220) ret=00b9f3a4 0009:Ret ntdll.RtlAllocateHeap() retval=005a19e8 ret=00b9f3a4 0009:Call KERNEL32.FormatMessageW(00001000,00000000,8007007e,00000000,005a19f8,00000104,00000000) ret=00bfb874 0009:Ret KERNEL32.FormatMessageW() retval=00000013 ret=00bfb874
https://bugs.winehq.org/show_bug.cgi?id=44456
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |bunglehead@gmail.com
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- I'll take a look, this will need some restructuring with what we already have in kernelbase.dll.
https://bugs.winehq.org/show_bug.cgi?id=44456
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|bunglehead@gmail.com |wine-bugs@winehq.org
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- Restructuring turned out to be more involved.
https://bugs.winehq.org/show_bug.cgi?id=44456
--- Comment #7 from Nikolay Sivov bunglehead@gmail.com --- I'm guessing this is fixed now? I tried to test "IP Camera Viewer" and it crashes with current wine, I don't see traces from comment 4 so maybe it crashes earlier now.
https://bugs.winehq.org/show_bug.cgi?id=44456
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|64-bit Football Manager |Multiple Windows 7+ games |2017 crashes due missing |and applications crash due |'kernel32.dll' -> |missing 'kernel32.dll' -> |'kernelbase.dll' load-time |'kernelbase.dll' load-time |dependency (Minwin/Win7+) |dependency (64-bit Football | |Manager 2017, IP Camera | |Viewer 4.x) Status|NEW |RESOLVED Keywords| |download Resolution|--- |FIXED URL| |https://web.archive.org/web | |/20170627081707if_/http://w | |ww.deskshare.com/download/i | |pcv/IPCameraViewer.exe Fixed by SHA1| |2a455ce049d65eeab95895b6b6d | |52f6e5047537b
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
this was fixed some time ago by commit https://source.winehq.org/git/wine.git/commitdiff/2a455ce049d65eeab95895b6b6... ("kernel32: Move lstr* string functions to kernelbase.") which added explicit load-time dependency to 'kernelbase'.
Thanks Alexandre
$ sha1sum IPCameraViewer.exe 7192e251213c9e7748549520e1bde5527cda01ca IPCameraViewer.exe
$ du -sh IPCameraViewer.exe 20M IPCameraViewer.exe
$ wine --version wine-4.21-138-g7ca1c4900e
Regards
https://bugs.winehq.org/show_bug.cgi?id=44456
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello Nikolay,
--- quote --- I tried to test "IP Camera Viewer" and it crashes with current wine, I don't see traces from comment 4 so maybe it crashes earlier now. --- quote ---
it's another issue, I've created bug 48235 for that.
Regards
https://bugs.winehq.org/show_bug.cgi?id=44456
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.0-rc1.