有没有办法完全消除 64 位 Windows 上的任何 32 位支持?

有没有办法完全消除 64 位 Windows 上的任何 32 位支持?

我想完全禁用整个 syswow64。我的目标是让它不可能的运行任何 32 位应用程序,或在 64 位 Windows 系统上加载任何 32 位 DLL。与旧的 16 位 Windows 应用程序类似,它们可以在某些旧的 32 位系统上模拟,但在 64 位系统上不再模拟。

在 Linux 上,我可以在内核编译配置或通过某些设置简单地禁用 32 位仿真sysctl。但在 Windows 上可以做什么呢?

这可能吗?

我知道,任何 32 位程序(也许有些 64 位程序)都无法再运行,但这对我来说不是问题。实际上,这是我的目标。

目标是在 64 位 Windows 环境中进行实验。引发关于其可用性或是否需要的争论,是非常离题这里。我想要一个解决方案,不是辩论

答案1

实现此目的的最简单方法是不允许普通用户安装应用程序。如果你只安装 64 位应用程序,那么只有 64 位应用程序会运行,当然,Windows 仍在使用的 32 位进程除外。

在 Windows 的消费者版本上,无法禁用 WoW64 子系统,因为它不是“模拟”。但可以使用Windows 服务器。我假设它是一个Windows Feature可以Windows Server简单禁用的。链接的文章提供了命令,该命令是特定于旧版 Windows Server 的版本。

答案2

暴力破解方法是使用AppInit32 位版本在加载时崩溃的 DLL。由于每个 32 位进程都会加载它,因此它们在启动前都会崩溃。对 64 位程序没有直接损害,因为它们无论如何都会拒绝加载 32 位 DLL,但当然所有这些 32 位安装程序都会拒绝运行等。

相关内容