[Bug 45749] Multiple Node.js based applications/ installers need ntdll.NtQueryInformationFile to handle ' FileModeInformation' information class (MS Visual Studio 2017 Installer, FACEIT Anti-cheat client)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Oct 15 12:24:56 CDT 2018


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Visual Studio 2017          |Multiple Node.js based
                   |Installer needs             |applications/installers
                   |NtQueryInformationFile to   |need
                   |handle FileModeInformation  |ntdll.NtQueryInformationFil
                   |                            |e to handle
                   |                            |'FileModeInformation'
                   |                            |information class (MS
                   |                            |Visual Studio 2017
                   |                            |Installer, FACEIT
                   |                            |Anti-cheat client)

--- Comment #11 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming, found another app which uses Node.js and fails due to this problem.

Anti-Cheat FACEIT client:
https://faceit-client.faceit.com/release/FACEIT-setup-latest.exe

Prerequisite:

* 64-bit WINEPREFIX
* .NET Framework 4.5

--- snip ---
$ WINEDEBUG=+seh,+relay wine ./FACEIT.exe >>log.txt 2>&1
...
0036:Call KERNEL32.GetEnvironmentVariableW(0022d658
L"NODE_PENDING_PIPE_INSTANCES",0022de60,00007fff) ret=18004522f
0036:Ret  KERNEL32.GetEnvironmentVariableW() retval=00000000 ret=18004522f
...
0036:Call KERNEL32.CreateNamedPipeW(16232620
L"\\\\.\\pipe\\faceit.client",400c0003,00000000,000000ff,00010000,00010000,00000000,00000000)
ret=180140d3d
0036:Ret  KERNEL32.CreateNamedPipeW() retval=0000023c ret=180140d3d
0036:Call KERNEL32.SetNamedPipeHandleState(0000023c,0023dcd0,00000000,00000000)
ret=180140678
0036:Ret  KERNEL32.SetNamedPipeHandleState() retval=00000001 ret=180140678
0036:Call
ntdll.NtQueryInformationFile(0000023c,0023dcd8,0023dcd4,00000004,00000010)
ret=18014070f
0036:Ret  ntdll.NtQueryInformationFile() retval=c0000024 ret=18014070f
0036:Call KERNEL32.GetLastError() ret=180140d9c
0036:Ret  KERNEL32.GetLastError() retval=00000000 ret=180140d9c
0036:Call ucrtbase._errno() ret=180132dd8
0036:Ret  ucrtbase._errno() retval=0006db10 ret=180132dd8 
...
0036:Call user32.CreateWindowExW(00000000,0023c662 L"Static",04e6fe70
L"Uncaught Exception:\nTypeError: this.log is not a function\n   
           at Server.<anonymous>
(Z:\\home\\focht\\Downloads\\FACEITApp\\app-1.20.0\\resources\\app\\node_modules\\node-ipc\\dao\\socketServer.js:292:18)\n 
           at Server.emit (events.js:182:13)\n    at emitErrorNT
(net.js:1357:8)\n    at process._ti"...,
          
50000000,00000000,00000000,00000000,00000000,000200a2,00000000,00000000,00000000)
ret=7f4957120464
--- snip ---

Full message window error text:

--- snip ---
Uncaught Exception:
TypeError: this.log is not a function
at Server.<anonymous>
(Z:\\home\\focht\\Downloads\\FACEITApp\\app-1.20.0\\resources\\app\\node_modules\\node-ipc\\dao\\socketServer.js:292:18)
at Server.emit (events.js:182:13)
at emitErrorNT (net.js:1357:8)
at process._tickCallback(internal/process/next_tick.js:63:19)
--- snip ---

--- snip ---
$ tree --charset=ANSI -L 4
.
|-- app-1.20.0
|   |-- api-ms-win-core-console-l1-1-0.dll
...
|   |-- api-ms-win-crt-utility-l1-1-0.dll
|   |-- blink_image_resources_200_percent.pak
|   |-- content_resources_200_percent.pak
|   |-- content_shell.pak
|   |-- d3dcompiler_47.dll
|   |-- FACEIT.exe
|   |-- ffmpeg.dll
|   |-- icudtl.dat
|   |-- libEGL.dll
|   |-- libGLESv2.dll
|   |-- LICENSE
|   |-- locales
|   |   |-- am.pak
|   |   |-- ar.pak
|   |   |-- bg.pak
|   |   |-- bn.pak
...
|   |   |-- zh-CN.pak
|   |   `-- zh-TW.pak
|   |-- msvcp140.dll
|   |-- natives_blob.bin
|   |-- node.dll
|   |-- resources
|   |   |-- app
|   |   |   |-- assets
|   |   |   |-- components
|   |   |   |-- config
|   |   |   |-- languages
|   |   |   |-- main.js
|   |   |   |-- node_modules
|   |   |   |-- package.json
|   |   |   `-- preload.js
|   |   `-- electron.asar
|   |-- squirrel.exe
|   |-- SquirrelSetup.log
|   |-- ucrtbase.dll
|   |-- ui_resources_200_percent.pak
|   |-- v8_context_snapshot.bin
|   |-- vcruntime140.dll
|   `-- views_resources_200_percent.pak
|-- FACEIT.exe
|-- packages
|   |-- FACEITApp-1.20.0-full.nupkg
|   |-- RELEASES
|   `-- SquirrelTemp
|-- SquirrelSetup.log
`-- Update.exe

11 directories, 123 files
--- snip ---

Applying the Fabian's patch (comment #7) fixes the problem.
This might be a candidate for Wine-Staging or direct mainline.

ProtectionID scan for documentation: Node.js = 10.2

--- snip ---
-=[ ProtectionID v0.6.9.0 DECEMBER]=-
(c) 2003-2017 CDKiLLER & TippeX
Build 24/12/17-21:05:42
Ready...
Scanning -> Z:\home\focht\Downloads\FACEITApp\app-1.20.0\node.dll
File Type : 64-Bit Dll (Subsystem : Win GUI / 2), Size : 18580416 (011B83C0h)
Byte(s) | Machine: 0x8664 (AMD64)
Compilation TimeStamp : 0x5BAD43EC -> Thu 27th Sep 2018 20:56:12 (GMT)
[TimeStamp] 0x5BAD43EC -> Thu 27th Sep 2018 20:56:12 (GMT) | PE Header | - |
Offset: 0x00000000:00000128 | VA: 0x00000001:80000128 | -
[TimeStamp] 0xFFFFFFFF -> Sun 07th Feb 2106 06:28:15 (GMT) | Export | - |
Offset: 0x00000000:00F634E4 | VA: 0x00000001:80F642E4 | -
[TimeStamp] 0x5BAD43EC -> Thu 27th Sep 2018 20:56:12 (GMT) | DebugDirectory | -
| Offset: 0x00000000:00EBB6C4 | VA: 0x00000001:80EBC4C4 | -
[TimeStamp] 0x5BAD43EC -> Thu 27th Sep 2018 20:56:12 (GMT) | DebugDirectory | -
| Offset: 0x00000000:00EBB6E0 | VA: 0x00000001:80EBC4E0 | -
[TimeStamp] 0x5BAD43EC -> Thu 27th Sep 2018 20:56:12 (GMT) | DebugDirectory | -
| Offset: 0x00000000:00EBB6FC | VA: 0x00000001:80EBC4FC | -
-> File Appears to be Digitally Signed @ Offset 011B6800h, size : 01BC0h /
07104 byte(s)
[LoadConfig] Struct determined as v8 (Expected size 232 | Actual size 248)
[LoadConfig] CFG (/Guard) - Handler @ 0x1:80B001C0
[LoadConfig] CFG Table @ 0x1:80B00D40 | 0x05F3A (024378) entries
[LoadConfig] CFG Flags : 0x13500
[LoadConfig] CodeIntegrity -> Flags 0x0 | Catalog 0x0 (0) | Catalog Offset 0x0
| Reserved 0x0
[LoadConfig] GuardAddressTakenIatEntryTable 0x0:00000000 | Count 0x000000000
(00)
[LoadConfig] GuardLongJumpTargetTable 0x0:00000000 | Count 0x000000000 (00)
[LoadConfig] HybridMetadataPointer 0x1:80B00D40 | DynamicValueRelocTable
0x0:00000000
[LoadConfig] FailFastIndirectProc 0x80AFA810:00000001 | FailFastPointer
0x80B001D0:00000001
[LoadConfig] UnknownZero1 0x0       0
[File Heuristics] -> Flag #1 : 00000100000001001101000100000100 (0x0404D104)
[Entrypoint Section Entropy] : 6.39 (section #0) ".text   " | Size : 0xAFDCFB
(11525371) byte(s)
[DllCharacteristics] -> Flag : (0x4160) -> HEVA | ASLR | DEP | CFG
[SectionCount] 6 (0x6) | ImageSize 0x11CE000 (18669568) byte(s)
[Export] 98% of function(s) (18191 of 18456) are in file | 0 are forwarded |
17330 code | 1126 data | 0 uninit data | 0 unknown | 
[VersionInfo] Company Name : Node.js
[VersionInfo] Product Name : Node.js
[VersionInfo] Product Version : 10.2.0
[VersionInfo] File Description : Node.js: Server-side JavaScript
[VersionInfo] File Version : 10.2.0
[VersionInfo] Original FileName : node.exe
[VersionInfo] Internal Name : node
[VersionInfo] Legal Copyrights : Copyright Node.js contributors. MIT license.
[ModuleReport] [IAT] Modules -> PSAPI.DLL | ADVAPI32.dll | IPHLPAPI.DLL |
USER32.dll | USERENV.dll | WS2_32.dll | CRYPT32.dll | dbghelp.dll |
MSVCP140.dll | bcrypt.dll | KERNEL32.dll | VCRUNTIME140.dll |
api-ms-win-crt-runtime-l1-1-0.dll | api-ms-win-crt-stdio-l1-1-0.dll |
api-ms-win-crt-heap-l1-1-0.dll | api-ms-win-crt-string-l1-1-0.dll |
api-ms-win-crt-filesystem-l1-1-0.dll | api-ms-win-crt-convert-l1-1-0.dll |
api-ms-win-crt-environment-l1-1-0.dll | api-ms-win-crt-math-l1-1-0.dll |
api-ms-win-crt-utility-l1-1-0.dll | api-ms-win-crt-time-l1-1-0.dll |
api-ms-win-crt-locale-l1-1-0.dll | WINMM.dll
[Debug Info] (record 1 of 3) (file offset 0xEBB6C0)
Characteristics : 0x0 | TimeDateStamp : 0x5BAD43EC (Thu 27th Sep 2018 20:56:12
(GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0)
Type : 2 (0x2) -> CodeView | Size : 0x40 (64) 
AddressOfRawData : 0xEC9B44 | PointerToRawData : 0xEC8D44
CvSig : 0x53445352 | SigGuid D4C22F4B-9E92-4CBC-8289623B7EB2D055
Age : 0x1 (1) | Pdb : C:\projects\electron\out\R\node.dll.pdb
[Debug Info] (record 2 of 3) (file offset 0xEBB6DC)
Characteristics : 0x0 | TimeDateStamp : 0x5BAD43EC (Thu 27th Sep 2018 20:56:12
(GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0)
Type : 12 (0xC) -> Undocumented | Size : 0x14 (20) 
AddressOfRawData : 0xEC9B84 | PointerToRawData : 0xEC8D84
[Debug Info] (record 3 of 3) (file offset 0xEBB6F8)
Characteristics : 0x0 | TimeDateStamp : 0x5BAD43EC (Thu 27th Sep 2018 20:56:12
(GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0)
Type : 13 (0xD) -> Undocumented | Size : 0x36C (876) 
AddressOfRawData : 0xEC9B98 | PointerToRawData : 0xEC8D98
...
[!] File appears to have no protection or is using an unknown protection
- Scan Took : 3.996 Second(s) [000000BBCh (3004) tick(s)] [162 of 580 scan(s)
done]
--- snip ---

$ sha1sum FACEIT-setup-latest.exe 
332b313b0e34a3a7398a8e9b1537399c128034f4  FACEIT-setup-latest.exe

$ du -sh FACEIT-setup-latest.exe 
58M    FACEIT-setup-latest.exe

$ wine --version
wine-3.18

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