https://bugs.winehq.org/show_bug.cgi?id=32321
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello Bruno,
following information.
ProtectionID scan on your installer executable:
--- snip --- -=[ ProtectionID v0.6.6.7 DECEMBER]=- (c) 2003-2015 CDKiLLER & TippeX Build 24/12/14-22:48:13 Ready...
Scanning -> Z:\home\focht\Downloads\vusc_setup_en.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 2291663 (022F7CFh) Byte(s) Compilation TimeStamp : 0x47B7CFC9 -> Sun 17th Feb 2008 06:10:17 (GMT) [TimeStamp] 0x47B7CFC9 -> Sun 17th Feb 2008 06:10:17 (GMT) | PE Header | - | Offset: 0x00000088 | VA: 0x00400088 | - -> File has 2187215 (0215FCFh) bytes of appended data starting at offset 019800h [File Heuristics] -> Flag #1 : 00000000000001001100000000000100 (0x0004C004) [Entrypoint Section Entropy] : 6.28 (section #0) ".text " | Size : 0xC39 (3129) byte(s) [DllCharacteristics] -> Flag : (0x0000) -> NONE [SectionCount] 7 (0x7) | ImageSize 0x1F000 (126976) byte(s) [-= Installer =-] Gentee Installer ! - Scan Took : 0.344 Second(s) [000000158h (344) tick(s)] [558 of 573 scan(s) done] --- snip ---
From official download site:
http://www.ok2kkw.com/vusc/vusc4win/vusc-en_soubory/vusc_634_en.zip (unpacked)
--- snip --- Scanning -> Z:\home\focht\Downloads\VUSC_setup_en.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 2291689 (022F7E9h) Byte(s) Compilation TimeStamp : 0x47B7CFC9 -> Sun 17th Feb 2008 06:10:17 (GMT) [TimeStamp] 0x47B7CFC9 -> Sun 17th Feb 2008 06:10:17 (GMT) | PE Header | - | Offset: 0x00000088 | VA: 0x00400088 | - -> File has 2187241 (0215FE9h) bytes of appended data starting at offset 019800h [File Heuristics] -> Flag #1 : 00000000000001001100000000000100 (0x0004C004) [Entrypoint Section Entropy] : 6.28 (section #0) ".text " | Size : 0xC39 (3129) byte(s) [DllCharacteristics] -> Flag : (0x0000) -> NONE [SectionCount] 7 (0x7) | ImageSize 0x1F000 (126976) byte(s) [-= Installer =-] Gentee Installer ! - Scan Took : 0.380 Second(s) [00000017Ch (380) tick(s)] [558 of 573 scan(s) done] --- snip ---
Only very small difference in actual payload.
Your main executable:
--- snip --- Scanning -> C:\VUSC\VUSC.EXE File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 403456 (062800h) Byte(s) Compilation TimeStamp : 0x50543BA1 -> Sat 15th Sep 2012 08:26:09 (GMT) [TimeStamp] 0x50543BA1 -> Sat 15th Sep 2012 08:26:09 (GMT) | PE Header | - | Offset: 0x000000F0 | VA: 0x004000F0 | - [!] Executable uses SEH Tables (/SAFESEH) (3 calculated 3 recorded... 0 invalid addresses) [File Heuristics] -> Flag #1 : 00000000000001001100000000000000 (0x0004C000) [Entrypoint Section Entropy] : 6.66 (section #0) ".text " | Size : 0x45C52 (285778) byte(s) [DllCharacteristics] -> Flag : (0x8000) -> TSA [SectionCount] 4 (0x4) | ImageSize 0x12F000 (1241088) byte(s) [VersionInfo] Company Name : OK1DIX Doma [VersionInfo] Product Name : VUSC [VersionInfo] Product Version : 6. 3. 4. 0 [VersionInfo] File Description : VUSC [VersionInfo] File Version : 6. 3. 4. 0 [VersionInfo] Original FileName : VUSC.exe [VersionInfo] Internal Name : VUSC [VersionInfo] Legal Copyrights : Copyright © 2006-2012 [CdKeySerial] found "Invalid code" @ VA: 0x0004A270 / Offset: 0x00049470 [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) [!] File appears to have no protection or is using an unknown protection - Scan Took : 0.538 Second(s) [00000021Ah (538) tick(s)] [499 of 573 scan(s) done] --- snip ---
Official one ... surprise. Same checksum/hash. I then did a full directory tree comparison, including registry hives. Surprise again
The only difference is that the version from official download site contains a single additional empty(!) file in the directory tree:
--- snip --- $ ls -lisa .wine/drive_c/VUSC/work/vuscwork.bin 1268871 0 -rw-rw-r--. 1 focht focht 0 Aug 12 2011 .wine/drive_c/VUSC/work/vuscwork.bin --- snip ---
The empty file is not the problem - but the missing 'work' directory is. It seems the app can't handle this:
--- snip --- 0027:Call user32.SetWindowTextA(0001017c,00449c0c "Reading database files...OK") ret=00420963 ... 0027:Call KERNEL32.CreateFileA(004493f0 ".\work\vuscwork.bin",c0000000,00000003,0033e488,00000004,10000080,00000000) ret=0043b72e 0027:Ret KERNEL32.CreateFileA() retval=ffffffff ret=0043b72e 0027:Call KERNEL32.GetLastError() ret=0043b790 0027:Ret KERNEL32.GetLastError() retval=00000003 ret=0043b790 0027:Call KERNEL32.GetLastError() ret=0043799b ... 027:Call KERNEL32.IsDebuggerPresent() ret=004375a6 0027:Ret KERNEL32.IsDebuggerPresent() retval=00000000 ret=004375a6 0027:Call KERNEL32.SetUnhandledExceptionFilter(00000000) ret=004375b0 0027:Ret KERNEL32.SetUnhandledExceptionFilter() retval=0044098d ret=004375b0 0027:Call KERNEL32.UnhandledExceptionFilter(0033e1f0) ret=004375bd wine: Unhandled exception 0xc0000417 in thread 27 at address 0x330023:0x004332b3 (thread 0027), starting debugger... --- snip ---
The directory 'work' must be present beforehand. The app code doesn't make any attempt to create intermediate directories and subsequently crashes. Whoever created your "version" obviously had no clue about this.
It should crash the same way on Windows - did you ever test this?
IMHO the bug was 'invalid' from start, there was nothing to fix with Wine here.
Not particularly aimed at this bug since I spent only some minutes on it - but looking at the past I wasted a considerable amount of time investigating issues that were present on Windows too. To avoid this, please *always* test with Windows first.
Regards