http://bugs.winehq.org/show_bug.cgi?id=23033
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Component|-unknown |shell32 Resolution|DUPLICATE | Summary|Runaway 2: The Dream Of The |Tages Protection v5.x: |Turtle can't run (Tages |games report "DLL not found |Protection v5.x) |shell.dll16.dll" (Runaway | |2: The Dream Of The Turtle, | |...)
--- Comment #6 from Anastasius Focht focht@gmx.net 2011-06-09 17:24:23 CDT --- Hello,
rechristening this bug because I debugged it and found it's not related to Tages kernel driver covered by bug 10264 but main executable/unpacker protection.
Using "Fantasy Wars Demo":
$ wine --version wine-1.3.21-310-g7cd20a4
$ sha1sum FantasyWars_Demo_EN.exe 96c0d6a46adca29ea5d55d0013cc78d842f441dd FantasyWars_Demo_EN.exe
--- snip --- -=[ ProtectionID v0.6.4.0 JULY]=- (c) 2003-2010 CDKiLLER & TippeX Build 07/08/10-17:57:05 Ready... Scanning -> H:.wine\drive_c\Program Files\Nobilis\Fantasy Wars Demo\fw.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 35106816 (0217B000h) Byte(s) [File Heuristics] -> Flag : 00000000000000001100000000000011 (0x0000C003) [!] Tages v5.5.2 protected ! [i] protection level: Tages BASIC [i] protection info: cd/dvd check disabled [CompilerDetect] -> Visual C++ 8.0 (Visual Studio 2005) - Scan Took : 1.547 Second(s) --- snip ---
The main executable protection/wrapper has some kind of in-memory PE dll scanner/validator. For each bound library the PE structures are validated which includes the export directory of each dll. Unfortunately the special "RunDLL_CallEntry16" export does the harm:
http://source.winehq.org/git/wine.git/blob/3174ea94c13c4aca3963c0bcaa040c6a0...
--- snip --- 122 stdcall -private @(long long long str long) shell.dll16.RunDLL_CallEntry16 --- snip ---
It confuses the protection as it doesn't know about "dll16" string part (Wine invention for 16-bit counterparts).
Bug 10264 still applies afterwards for the games mentioned here...
Regards