https://bugs.winehq.org/show_bug.cgi?id=41469
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |obfuscation Summary|'Ski Racing 2005 featuring |'Ski Racing 2005 featuring |Hermann Maier' crashes on |Hermann Maier' crashes on |startup |startup (JoWood X-Prot | |v1.5.9.49 protection | |scheme) CC| |focht@gmx.net
--- Comment #21 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, crashes for me too.
It's most likely an issue with the software protection scheme used here.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/JoWooD/Ski Racing 2005 Demo
$ WINEDEBUG=+tid,+seh,+relay wine ./SR2005_Demo.exe >>log.txt 2>&1 ... 0039:Starting process L"C:\Program Files\JoWooD\Ski Racing 2005 Demo\SR2005_Demo.exe" (entryproc=0x69d080) 0039:Call KERNEL32.VirtualProtect(0033f564,000008c0,00000040,0069d056) ret=0069dd30 0039:Ret KERNEL32.VirtualProtect() retval=00000001 ret=0069dd30 0039:trace:seh:raise_exception code=c000001d flags=0 addr=0x69f927 ip=0069f927 tid=0039 0039:trace:seh:raise_exception eax=73a70193 ebx=0033feb0 ecx=00063a00 edx=12345678 esi=0069e857 edi=006a0323 0039:trace:seh:raise_exception ebp=002177bb esp=0033fdfc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010246 0039:trace:seh:call_stack_handlers calling handler at 0x69eaa2 code=c000001d flags=0 0039:trace:seh:call_stack_handlers handler at 0x69eaa2 returned 0 0039:trace:seh:raise_exception code=80000004 flags=0 addr=0x69f839 ip=0069f839 tid=0039 0039:trace:seh:raise_exception eax=4855d311 ebx=0033feb0 ecx=000639ff edx=7f272775 esi=0069e857 edi=006a0323 0039:trace:seh:raise_exception ebp=4243484b esp=0033fdfc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 0039:trace:seh:call_stack_handlers calling handler at 0x69eaa2 code=80000004 flags=0 0039:trace:seh:call_stack_handlers handler at 0x69eaa2 returned 0 0039:trace:seh:raise_exception code=c000001d flags=0 addr=0x69f927 ip=0069f927 tid=0039 0039:trace:seh:raise_exception eax=06ec8094 ebx=0033feb0 ecx=00063800 edx=7f272775 esi=0069e857 edi=006a0323 0039:trace:seh:raise_exception ebp=002177bb esp=0033fdfc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010246 0039:trace:seh:call_stack_handlers calling handler at 0x69eaa2 code=c000001d flags=0 0039:trace:seh:call_stack_handlers handler at 0x69eaa2 returned 0 ... 0039:trace:seh:raise_exception code=80000004 flags=0 addr=0x69f839 ip=0069f839 tid=0039 0039:trace:seh:raise_exception eax=0f28d5f8 ebx=0033feb0 ecx=000001ff edx=5dcdea49 esi=0069e857 edi=006a0323 0039:trace:seh:raise_exception ebp=4243484b esp=0033fdfc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010202 0039:trace:seh:call_stack_handlers calling handler at 0x69eaa2 code=80000004 flags=0 0039:trace:seh:call_stack_handlers handler at 0x69eaa2 returned 0 0039:trace:seh:raise_exception code=80000004 flags=0 addr=0x6a0d75 ip=006a0d75 tid=0039 0039:trace:seh:raise_exception eax=e60ff5fe ebx=0033feb0 ecx=00000000 edx=5dcdea49 esi=0069e857 edi=006a0323 0039:trace:seh:raise_exception ebp=002177bb esp=0033fdfc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000246 0039:trace:seh:call_stack_handlers calling handler at 0x69eaa2 code=80000004 flags=0 0039:trace:seh:call_stack_handlers handler at 0x69eaa2 returned 0 0039:trace:seh:raise_exception code=c0000005 flags=0 addr=0x6a1200 ip=006a1200 tid=0039 0039:trace:seh:raise_exception info[0]=00000001 0039:trace:seh:raise_exception info[1]=a71233f8 0039:trace:seh:raise_exception eax=00000090 ebx=0033feb0 ecx=00000090 edx=ffeb8d88 esi=0069e857 edi=006a1200 0039:trace:seh:raise_exception ebp=002177bb esp=0033fe24 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010202 0039:trace:seh:call_stack_handlers calling handler at 0x7bcadc69 code=c0000005 flags=0 0039:Call KERNEL32.UnhandledExceptionFilter(0033f924) ret=7bcadca4 wine: Unhandled page fault on write access to 0xa71233f8 at address 0x6a1200 (thread 0039), starting debugger... ... Backtrace: =>0 0x006a1200 in sr2005_demo (+0x2a1200) (0x002177bb) 0x006a1200: rorb %cl,0xa6f0bc3d(%ebp)
Modules: Module Address Debug info Name (14 modules) PE 400000- 76c000 Export sr2005_demo ELF 7b400000-7b7f0000 Deferred kernel32<elf> -PE 7b420000-7b7f0000 \ kernel32 ELF 7bc00000-7bd0a000 Deferred ntdll<elf> -PE 7bc30000-7bd0a000 \ ntdll ELF 7c000000-7c004000 Deferred <wine-loader> ELF 7ef88000-7efd6000 Deferred libm.so.6 ELF f73f3000-f73f8000 Deferred libdl.so.2 ELF f73f8000-f75c4000 Deferred libc.so.6 ELF f75c4000-f75e1000 Deferred libpthread.so.0 ELF f75e2000-f75f0000 Deferred libnss_files.so.2 ELF f760b000-f77c2000 Dwarf libwine.so.1 ELF f77c3000-f77e6000 Deferred ld-linux.so.2 ELF f77e8000-f77e9000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) ... 00000038 (D) C:\Program Files\JoWooD\Ski Racing 2005 Demo\SR2005_Demo.exe 00000039 0 <== --- snip ---
Protection ID scan:
--- snip --- -=[ ProtectionID v0.6.8.5 DECEMBER]=- (c) 2003-2017 CDKiLLER & TippeX Build 24/12/16-13:09:21 Ready... Scanning -> C:\Program Files\JoWooD\Ski Racing 2005 Demo\SR2005_Demo.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 2068480 (01F9000h) Byte(s) | Machine: 0x14C (I386) Compilation TimeStamp : 0x000030BB -> Thu 01st Jan 1970 03:27:55 (GMT) [!] Warning - FileAlignment seems wrong.. is 0x00001000, calculated 0x00000400 [TimeStamp] 0x000030BB -> Thu 01st Jan 1970 03:27:55 (GMT) | PE Header | - | Offset: 0x00000108 | VA: 0x00400108 | - [File Heuristics] -> Flag #1 : 00000000000000001100000000110011 (0x0000C033) [Entrypoint Section Entropy] : 8.00 (section #3) ".dcrtext" | Size : 0x67000 (421888) byte(s) [DllCharacteristics] -> Flag : (0x0000) -> NONE [SectionCount] 8 (0x8) | ImageSize 0x36C000 (3588096) byte(s) [ModuleReport] [IAT] Modules -> kernel32.dll [!] JoWood X-Prot v1.5.9.49 detected ! - Scan Took : 0.439 Second(s) [0000001B7h (439) tick(s)] [506 of 580 scan(s) done] --- snip ---
The large number of single step (hwbp) and invalid instruction exceptions in the trace log are normal (except the last one), they are part of section decrypt mechanism. It decrypts the first part in (top down) and when doing the next part it encounters invalid opcodes in the decrypt continuation which ought to be decrypted during first part.
The screenshot from Windows VM (comment #18) also points to same area. There are some reports on Internet claiming this game is incompatible with newer Windows versions (Vista+). It should run on Windows XP though (originally stated by vendor).
It would be interesting to see Louis' (comment #2) machine specs where this game is reported to run on. Which distro, gcc version, Wine version (vanilla), flags used to build...
$ sha1sum SkiRacing2005-Demo-Setup1.exe d7684789b7de45fb909fc11846f5a1f24fd7d7cc SkiRacing2005-Demo-Setup1.exe
$ du -sh SkiRacing2005-Demo-Setup1.exe 42M SkiRacing2005-Demo-Setup1.exe
$ wine --version wine-2.9-147-ge5733e7cd4
Regards