2

深挖:微软二月 Windows 10 / Windows 11 更新阻止软件 / 注册表方式修改默认网络浏览...

 1 week ago
source link: https://www.51cto.com/article/785612.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

深挖:微软二月 Windows 10 / Windows 11 更新阻止软件 / 注册表方式修改默认网络浏览器

作者:故渊 2024-04-08 10:23:16
微软今年 2 月面向 Windows 10 用户推送 KB5034763 更新、面向 Windows 11 用户推送 KB5034765 更新,其中一项调整是阻止用户使用软件或者修改注册表方式,配置系统的默认浏览器。
f34cdd516050c6f90f1147bc4ea46b4d672b5e.png

4 月 8 日消息,微软今年 2 月面向 Windows 10 用户推送 KB5034763 更新、面向 Windows 11 用户推送 KB5034765 更新,其中一项调整是阻止用户使用软件或者修改注册表方式,配置系统的默认浏览器。

IT之家 3 月 26 日已经报道过这个问题,现在关于这个问题的更多细节被披露。IT 顾问 Christoph Kolbicz 率先发现微软的这项调整,安装 2 月更新之后导致其 SetUserFTA 和 SetDefaultBrowser 程序无法正常使用。

SetUserFTA 是一个命令行程序,可让 Windows 管理员通过登录脚本和其他方法更改文件关联;SetDefaultBrowser 的工作原理类似,但只能用于更改 Windows 中的默认浏览器。

微软自 Windows 8 系统开始就引入了新的安全机制,为了防止恶意软件和恶意脚本篡改,将文件扩展名、URL 协议与默认程序关联起来。

微软的这一新机制,将文件扩展名或 URL 协议关联,存储在 UserChoice 注册表键值下。

例如,分配给 HTTPS URL 协议的默认网络浏览器的路径如下:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice]
"ProgId"="ChromeHTML"
"Hash"="N3eikAB1HhI="

如果未使用正确的哈希值,Windows 将忽略注册表值,并使用该 URL 协议的默认程序,即 Microsoft Edge。

Kolbicz 逆向设计了这种 Hashing 算法,创建了 SetUserFTA 和 SetDefaultBrowser 程序来更改默认程序。

2 月新调整

不过 Windows 10 和 Windows 11 系统安装 2 月更新之后,Kolbicz 注意到这些注册表键值现在已被锁定,在 Windows 设置之外修改时会出现错误。

例如,使用 Windows 注册表编辑器修改这些设置时会出现错误,提示“无法编辑哈希值:错误写入值的新内容”。

经过进一步研究,Kolbicz 发现微软在二月份的更新中引入了一个新的 Windows 过滤驱动程序(c:\windows\system32\drivers\UCPD.sys)。

b76959e572de0fe2247578f6e38772e641f75f.jpg

该驱动程序被称为 "用户选择保护驱动程序",加载后可防止直接编辑与 HTTP 和 HTTPS URL 关联以及 .PDF 文件关联相关的注册表键值。

e8a02aa427ada6acc4a585bb984067fe8250e9.jpg

相关的注册表键值是:

HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\pdf\UserChoice

临时修改方案

Kolbicz 在一篇博文中解释说,虽然不能卸载驱动程序,但可以在注册表中禁用它。

该驱动程序固然无法卸载,但可以禁用!

在以管理员权限打开的 PowerShell 窗口下,输入以下命令,然后重启生效:

New-ItemProperty -Path “HKLM\SYSTEM\CurrentControlSet\Services\UCPD” -Name “Start” -Value 4 -PropertyType DWORD -Force

这就恢复了 SetUserFTA 的功能,但遗憾的是需要管理权限和重启。

Gunnar Haslinger 在一篇博文中解释说,在 \Microsoft\Windows\AppxDeploymentClient 下新创建的 "UCPD velocity" 计划任务会在服务禁用时自动重新启用。

853e05e61074c1778ce4472b9888226680ae7b.jpg

因此,禁用驱动程序的唯一方法是通过注册表关闭它,并删除 / 禁用计划任务。

相关阅读:

部分 Win10 用户反馈安装微软 2 月更新后,第三方工具无法调整 URL 关联


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK