[Bug 49400] New: Multiple Windows 10 applications need IsWow64Process2 to determine real OS architecture (ex: detect WOW64 on ARM64)

WineHQ Bugzilla wine-bugs at winehq.org
Wed Jun 17 04:57:52 CDT 2020


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

            Bug ID: 49400
           Summary: Multiple Windows 10 applications need IsWow64Process2
                    to determine real OS architecture (ex: detect WOW64 on
                    ARM64)
           Product: Wine
           Version: 5.10
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: kernelbase
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

to track:

https://www.winehq.org/pipermail/wine-devel/2020-June/168211.html

https://source.winehq.org/patches/data/187205

I've found some apps on Github using it. No idea which app/game Dmitry wants to
fix ;-)

* https://github.com/joelbyford/WowProcNewVsOld
* https://github.com/wixtoolset/dutil
* https://github.com/guided-hacking/GuidedHacking-Injector

Microsoft docs:

https://docs.microsoft.com/en-us/windows/win32/api/wow64apiset/nf-wow64apiset-iswow64process2

.NET core mentions this as well:

https://github.com/dotnet/runtime/issues/26612

--- quote ---
When x86 code is executed on an ARM64 Windows,
System.Runtime.InteropServices.RuntimeInformation.OSArchitecture returns X86
and System.Environment.Is64BitOperatingSystem returns False. These two
properties call GetNativeSystemInfo and IsWow64Process Kernel32.dll functions
respectively, which conceal the real OS architecture from x86 code by returning
PROCESSOR_ARCHITECTURE_INTEL (meaning x86) and FALSE. To obtain the real OS
architecture, Windows 10 introduced a new IsWow64Process2 function in version
1511.

We need to make a decision how an app may reliably figure out the real OS
architecture it is running on:
Should we fix the implementation of the existing CoreFX properties?
Or do we recommend resorting to an IsWow64Process2 PInvoke wrapped in a
necessary try/catch?
--- quote ---

$ wine --version
wine-5.10-247-gf8955cfb0f

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