[Bug 36627] New: Games For Windows Live 2.0.0687.0 (PANORAMA_V2.00_RTM.090421-2351) needs MSASN1.dll

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jun 1 05:42:55 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=36627

            Bug ID: 36627
           Summary: Games For Windows Live 2.0.0687.0
                    (PANORAMA_V2.00_RTM.090421-2351) needs MSASN1.dll
           Product: Wine
           Version: 1.7.19
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net

Hello folks,

there were a few GFWL/XLive bug comments in the past that stated "copying
MSASN1.dll solves the issue" (bug 28035).

There is indeed a specific version of GFWL that hard-binds to 'MSASN1.dll'.

'winetricks msasn1' obviously solves the problem for 'xlive.dll' load failure.

It doesn't solve GFWL init failure at runtime as 
explained in https://bugs.winehq.org/show_bug.cgi?id=28035#c37

This bug is about adding a stub dll and possible implementation later.

The specific version is:

--- snip ---
xlive.dll
Microsoft Corporation
Games for Windows - LIVE DLL
2.0.0687.0 (PANORAMA_V2.00_RTM.090421-2351)
Wednesday 22 April 2009, 00.20.44
--- snip ---

Other versions such as '2.0.0672.0 (PANORAMA_V2.00_RTM.081022-0447)' don't have
this binding.

'xLiveRedist.msi' redist installer 'File' table dumped with 'ORCA':

--- snip ---
File          Component_     FileName                         FileSize  Version

s72           s72             l255                                i4        S72

dxdx1037      DirectXRedist   ze3kb3ub.cab|Mar2008_d3dx10_37_x86.cab 821508 512
xlive         XLiveRuntimeComponent  xlive.dll              14311680  2.0.687.0
sqmapidll     SQMAPI          sqmapi.dll                 134144  6.0.6000.16386
dxdxsetupexe  DirectXRedist   DXSETUP.exe                     527880  4.9.0.904
dxdx937       DirectXRedist   rxp0yibt.cab|Mar2008_d3dx9_37_x86.cab 1446530 512
dxxinput      DirectXRedist   qdji7bjl.cab|APR2007_xinput_x86.cab 56902     512
dxdsetupdll   DirectXRedist   DSETUP.dll                       97288  4.9.0.904
dxdsetup32    DirectXRedist   dsetup32.dll                   1694728  4.9.0.904
dxdllreg      DirectXRedist   an7grfka.cab|dxdllreg_x86.cab      47596      512
dxupdate      DirectXRedist   dxupdate.cab                       97396      512
xlivecat      XLiveRuntimeComponent  kh3w9dph.cat|xlive.dll.cat 172173      512
xlivefnt      XLiveRuntimeComponent  xlivefnt.dll           13642496  2.0.687.0
...
--- snip ---

It bundles/installs .NET Framework 3.0

--- snip ---
Wine-dbg>info process
 pid      threads  executable (all id:s are in hex)
 00000024 1        'explorer.exe'
 0000000e 8        'services.exe'
 000000cf 4        \_ 'mscorsvw.exe'
 00000019 3        \_ 'plugplay.exe'
 00000012 4        \_ 'winedevice.exe'
 00000008 1        'setup.exe'
 00000034 6        \_ 'msiexec.exe'
 0000003b 2           \_ 'gfwlivesetup.exe'
 0000003e 1              \_ 'GFWLIVESetupStub.exe'
 00000030 2                 \_ 'dotnetfx3.exe'
 00000028 2                    \_ 'setup.exe'
--- snip ---

Starting a game that installed this specific GFWL version, for example
'Resident Evil 5' (bug 23914) yields:

--- snip ---
$ wine ./Launcher.exe 
err:module:import_dll Library MSASN1.dll (which is needed by
L"C:\\windows\\system32\\xlive.dll") not found
err:module:import_dll Library xlive.dll (which is needed by L"C:\\Program
Files\\CAPCOM\\RESIDENT EVIL 5\\RE5DX9.EXE") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program
Files\\CAPCOM\\RESIDENT EVIL 5\\RE5DX9.EXE" failed, status c0000135
--- snip ---

Dumping the 'MSASN1.dll' import descriptor from main executable yields:

--- snip ---
...

26. ImageImportDescriptor:
    OriginalFirstThunk:  0x005ED47C
    TimeDateStamp:       0x00000000  (GMT: Thu Jan 01 00:00:00 1970)
    ForwarderChain:      0x00000000
    Name:                0x005ECA68  ("MSASN1.dll")
    FirstThunk:          0x000018B4

    Ordinal/Hint API name
    ------------ ---------------------------------------
    0x0019       "ASN1BERDecS32Val"
    0x000C       "ASN1BERDecGeneralizedTime"
    0x000A       "ASN1BERDecExplicitTag"
    0x000F       "ASN1BERDecNotEndOfContents"
    0x0017       "ASN1BERDecPeekTag"
    0x0053       "ASN1DecAlloc"
    0x0025       "ASN1BERDecZeroCharString"
    0x0008       "ASN1BERDecEndOfContents"
    0x0031       "ASN1BEREncExplicitTag"
    0x003C       "ASN1BEREncS32"
    0x002F       "ASN1BEREncEndOfContents"
    0x0013       "ASN1BERDecOctetString"
    0x0005       "ASN1BERDecCharString"
    0x0029       "ASN1BEREncBool"
    0x0000       "ASN1BERDecBitString"
    0x001F       "ASN1BERDecU32Val"
    0x004C       "ASN1CEREncGeneralizedTime"
    0x002C       "ASN1BEREncCharString"
    0x0028       "ASN1BEREncBitString"
    0x0039       "ASN1BEREncOctetString"
    0x003F       "ASN1BEREncU32"
    0x00DB       "ASN1_CloseEncoder"
    0x00DE       "ASN1_CreateDecoder"
    0x00E0       "ASN1_CreateEncoder"
    0x00E3       "ASN1_Encode"
    0x00E2       "ASN1_Decode"
    0x00DA       "ASN1_CloseDecoder"
--- snip ---

This might be also useful to split out ASN.1 API/helpers from builtin crypt.

$ sha1sum gfwlivesetup.exe 
ed02393e367c2a9e47f2a3f10da553cc292fa22a  gfwlivesetup.exe

$ du -sh gfwlivesetup.exe 
171M  gfwlivesetup.exe

$ wine --version
wine-1.7.19-70-gd6a59f7

Regards

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