[Bug 23033] Tages Protection v5.x: games report "DLL not found shell.dll16.dll" (Runaway 2: The Dream Of The Turtle, ...)

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jun 9 17:24:23 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=23033

Anastasius Focht <focht at 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 at 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/3174ea94c13c4aca3963c0bcaa040c6a0d0dabf9:/dlls/shell32/shell32.spec#l117

--- 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

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list