https://bugs.winehq.org/show_bug.cgi?id=46903
Bug ID: 46903 Summary: SIMATIC WinCC V15.1 Runtime installer: AdHocSigner.exe tool crashes on unimplemented functions mssign32.dll.SignerSignEx and SignerFreeSignerContext Product: Wine Version: 4.4 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: mssign32 Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
as it says. Continuation of bug 46899
The tool is temporarily unpacked and run during installation.
--- snip --- Unhandled exception: unimplemented function mssign32.dll.SignerSignEx called in 32-bit code (0x7b44c142). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7b44c142 ESP:0032f9d4 EBP:0032fa38 EFLAGS:00000216( - -- I -A-P- ) EAX:7b43a4ad EBX:00401dcf ECX:00000000 EDX:00000000 ESI:00000000 EDI:00405028 ... Backtrace: =>0 0x7b44c142 RaiseException+0x7f() [/home/focht/projects/wine/mainline-src/dlls/kernel32/except.c:85] in kernel32 (0x0032fa38) 1 0x7cabaffa __wine_spec_unimplemented_stub+0x23() [/home/focht/projects/wine/mainline-src/dlls/winecrt0/stub.c:34] in mssign32 (0x0032fa74) 2 0x7cababcd __wine_stub_SignerSignEx+0x28() in mssign32 (0x0032fb10) 3 0x00401e6a EntryPoint+0x564() in adhocsigner (0x0032fb10) 4 0x004017d7 EntryPoint+0xffffffff() in adhocsigner (0x0032fbc4) 5 0x00401aba EntryPoint+0x1b4() in adhocsigner (0x0032fe38) 0x7b44c142 RaiseException+0x7f [/home/focht/projects/wine/mainline-src/dlls/kernel32/except.c:85] in kernel32: addl $12,%esp 85 RtlRaiseException( &record ); Modules: Module Address Debug info Name (77 modules) PE 400000- 408000 Export adhocsigner PE 772b0000-7731c000 Deferred riched20 ELF 7b400000-7b806000 Dwarf kernel32<elf> -PE 7b420000-7b806000 \ kernel32 ELF 7bc00000-7bd1e000 Deferred ntdll<elf> -PE 7bc30000-7bd1e000 \ ntdll ELF 7c000000-7c004000 Deferred <wine-loader> ELF 7caa9000-7cabe000 Dwarf mssign32<elf> -PE 7cab0000-7cabe000 \ mssign32 ELF 7cabe000-7cafe000 Deferred rsaenh<elf> -PE 7cad0000-7cafe000 \ rsaenh ... ELF f7da6000-f7f5e000 Dwarf libwine.so.1 ELF f7f60000-f7f89000 Deferred ld-linux.so.2 ELF f7f8c000-f7f8d000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) 00000008 Start.exe 00000009 0 ... 0000001f s7oiehsx64.exe 0000004a 0 ... 00000020 0 00000028 S7EpaSRV64x.exe 00000034 0 00000029 0 00000030 TraceConceptX.exe 0000003b 0 ... 00000031 0 ... 0000006f SIA2.exe 000000c8 0 ... 00000070 0 00000146 Setup.exe 00000147 0 ... 0000017e (D) C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe 0000017f 0 <== --- snip ---
Application log:
--- snip --- 10:39:07| |StartAppl | ======================== 10:39:07| |StartAppl | BEGIN StartApplAfter... 10:39:07| |StartAppl | ======================== 10:39:07| |StartAppl | ADS_TEMPDIR: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\ 10:39:07| |StartAppl | Property TIMEOUT= out of range (1 - 60) 10:39:07| |StartAppl | Appl1= [ADS_TEMPDIR]AdHocSigner.exe 10:39:07| |StartAppl | Condition1 '(VersionNT > 600)' is true 10:39:07| |StartAppl | NoWait1 = 10:39:07| |StartAppl | Application path: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe 10:39:07| |StartAppl | WDir1= [COMMONDIR]PTTouchinput 10:39:07| |StartAppl | Change WorkingDir to: C:\Program Files (x86)\Common Files\Siemens\PTTouchinput 10:39:07| |StartAppl | Application found: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe 10:39:07| |StartAppl | Param1= "C:\Program Files (x86)\Common Files\Siemens\PTTouchinput\TouchInputPC.exe" 10:39:07| |StartAppl | Start Application silent: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe with parameter: "C:\Program Files (x86)\Common Files\Siemens\PTTouchinput\TouchInputPC.exe" 10:39:07| |::LaunchAppGetExitCode | LaunchAppGetExitCode Start 10:39:07| |::LaunchAppGetExitCode | Command: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe 10:39:07| |::LaunchAppGetExitCode | Parameters: "C:\Program Files (x86)\Common Files\Siemens\PTTouchinput\TouchInputPC.exe" 10:39:07| |::LaunchAppGetExitCode | StartDir: C:\Program Files (x86)\Common Files\Siemens\PTTouchinput 10:39:07| |::LaunchAppGetExitCode | Silent: 1 10:39:07| |::LaunchAppGetExitCodeC | call CreateProcess 10:39:07| |::LaunchAppGetExitCodeC | TimeOutWaitingForAppl= 10 minutes 10:39:21| |::LaunchAppGetExitCodeC | WaitForSingleObject ReturnValue= 0 10:39:21| |::LaunchAppGetExitCode | END LaunchAppGetExitCode ReturnValue= -2147483392 10:39:21| |StartAppl | Elapsed time= 14,1 seconds 10:39:21| |StartAppl | Successfully started: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe "C:\Program Files (x86)\Common Files\Siemens\PTTouchinput\TouchInputPC.exe" ReturnValue=-2147483392 10:39:21| | | 10:39:21| |StartAppl | Appl2= 10:39:21| |StartAppl | END StartApplAfter ReturnValue=0 --- snip ---
'Mssign32.dll' seems to be dynamically loaded at runtime.
Two functions are referenced:
* SignerSignEx -> https://docs.microsoft.com/en-us/windows/desktop/seccrypto/signersignex * SignerFreeSignerContext -> https://docs.microsoft.com/en-us/windows/desktop/seccrypto/signerfreesignerc...
Wine source:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/mssign32/mssign32.spe...
--- snip --- 25 @ stub SignerFreeSignerContext 26 @ stub SignerSign 27 @ stub SignerSignEx --- snip ---
$ sha1sum SIMATIC_WinCC_Runtime_Advanced_V15_1.exe db1f97bb648b62fa1c5d974d7f2bcb6b4a9fd786 SIMATIC_WinCC_Runtime_Advanced_V15_1.exe
$ du -sh SIMATIC_WinCC_Runtime_Advanced_V15_1.exe 1.3G SIMATIC_WinCC_Runtime_Advanced_V15_1.exe
$ wine --version wine-4.4-188-gc988910cae
Regards