[Bug 21147] SafeDisc v1.3x media validation fails/launcher crashes (secdrv.sys doesn't support WinVer > Win2000) (Rayman 2, Microsoft Flight Simulator 2000, ...)

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jun 7 14:04:23 CDT 2011


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |obfuscation
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |focht at gmx.net
         Resolution|                            |FIXED
            Summary|SafeDisc v1.35.000 and      |SafeDisc v1.3x media
                   |Rayman 2                    |validation fails/launcher
                   |                            |crashes (secdrv.sys doesn't
                   |                            |support WinVer > Win2000)
                   |                            |(Rayman 2, Microsoft Flight
                   |                            |Simulator 2000, ...)

--- Comment #3 from Anastasius Focht <focht at gmx.net> 2011-06-07 14:04:21 CDT ---
Hello,

capturing this bug for Safedisc v1.3x targets ...

I got hold of Microsoft Flight Simulator 2000 which has a very similar SafeDisc
version ... and it can be made to work without effort.

--- 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\Microsoft Games\FS2000\FS2000.EXE
File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 280451 (044783h)
Byte(s)
-> File has 1411 (0583h) bytes of appended data starting at offset 044200h
[File Heuristics] -> Flag : 00000000000001001100000000000101 (0x0004C005)
[!] Safedisc v1.30.010 detected !
[CompilerDetect] -> Visual C++ 5.0
- Scan Took : 0.463 Second(s) 
--- snip ---

The problem with current Wine and this SafeDisc version is that the driver is
tailored to specific Windows versions (even service packs).
Wine's default "Windows XP" is not supported by this old SafeDisc version.
The main app/launcher crashes because the SafeDisc 1.x driver refuses to create
symbolic device links in its driver entry.

--- snip ---
...
0026:Call driver init 0x542466
(obj=0x6834b4a0,str=L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\Secdrv")
0026:Call
ntdll.RtlQueryRegistryValues(00000003,00540324,0053e4ac,00000000,00000000)
ret=0054038c
000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000010) ret=683262cd
000d:Ret  ntdll.RtlAllocateHeap() retval=00153d68 ret=683262cd
0026:Ret  ntdll.RtlQueryRegistryValues() retval=00000000 ret=0054038c
000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000018) ret=68320b8d
0026:Call ntdll.RtlInitUnicodeString(0053e5c4,00540392 L"3.51") ret=005404ca
000d:Ret  ntdll.RtlAllocateHeap() retval=00153d80 ret=68320b8d
0026:Ret  ntdll.RtlInitUnicodeString() retval=0053e5c4 ret=005404ca
000d:Call ntdll.RtlAllocateHeap(00110000,00000000,0000000c) ret=68320b8d
0026:Call ntdll.RtlEqualUnicodeString(0053e5dc,0053e5c4,00000001) ret=005404de
000d:Ret  ntdll.RtlAllocateHeap() retval=00153da0 ret=68320b8d
0026:Ret  ntdll.RtlEqualUnicodeString() retval=00000000 ret=005404de
000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000010) ret=683262cd
0026:Call ntdll.RtlInitUnicodeString(0053e5bc,0054039e L"4.0") ret=005404f7
000d:Ret  ntdll.RtlAllocateHeap() retval=00153db8 ret=683262cd
0026:Ret  ntdll.RtlInitUnicodeString() retval=0053e5bc ret=005404f7
000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000013) ret=68320b8d
0026:Call ntdll.RtlEqualUnicodeString(0053e5dc,0053e5bc,00000001) ret=00540502
000d:Ret  ntdll.RtlAllocateHeap() retval=00153dd0 ret=68320b8d
0026:Ret  ntdll.RtlEqualUnicodeString() retval=00000000 ret=00540502
000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000006) ret=68320b8d
0026:Call ntdll.RtlInitUnicodeString(0053e5cc,005403a6 L"5.0") ret=00540527
000d:Ret  ntdll.RtlAllocateHeap() retval=00153df0 ret=68320b8d
0026:Ret  ntdll.RtlInitUnicodeString() retval=0053e5cc ret=00540527
000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000010) ret=683262cd
0026:Call ntdll.RtlEqualUnicodeString(0053e5dc,0053e5cc,00000001) ret=00540532
000d:Ret  ntdll.RtlAllocateHeap() retval=00153e08 ret=683262cd
0026:Ret  ntdll.RtlEqualUnicodeString() retval=00000000 ret=00540532
000d:Call ntdll.RtlAllocateHeap(00110000,00000000,0000000a) ret=68320b8d
0026:Ret  driver init 0x542466
(obj=0x6834b4a0,str=L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\Secdrv")
retval=c0000001
...
--- snip ---

Set Winver to "Windows 2000" (winecfg) and the SD driver will correctly
initialize itself, creating necessary device links.
Driver pass-through/original media validation works, the game can be started
and somehow played (though Wine's dx7/ddraw7 isn't very happy).

I assume the same goes for other games using similar version of SafeDisc v1.3x
(made by C-Dilla).
Marking this one fixed - it was probably fixed a considerable time ago.

If you still have problems with latest Wine and Winver "Windows 2000", reopen.

$ wine --version
wine-1.3.21-254-g5bf7622

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