Браузер должен остаться только один
Корпорация Microsoft встроила в Windows новый «драйвер», который мешает пользователям менять браузер по умолчанию с помощью стороннего ПО. Отныне даже через правку реестра сделать это невозможно, пишет портал Bleeping Computer. Возможность смены браузера стандартными средствами ОС пока что сохранена, но надолго ли? Microsoft ранее сильно усложняла этот процесс.
«Драйвером» новый компонент Windows называют эксперты портала Bleeping Computer. С «железом» ПК этот драйвер не связан, хотя и находится в системной папке Drivers.
Что примечательно, новый драйвер внедряется в систему Windows 11 после установки обновления KB5034765, устанавливать которое, по меньшей мере, крайней нежелательно. Вышедшее в феврале 2024 г., оно, как сообщал CNews, ломает многие важные компоненты системы.
Для Windows 10 новый драйвер Microsoft тоже существует. Он проникает на компьютер в составе февральского патча KB5034763.
Как все устроено
В числе первых, кто обратил внимание на нововведение Microsoft, был ИТ-специалист Кристоф Колбич (Christoph Kolbicz). Он понял, что что-то не так, когда созданные им программы SetUserFTA и SetDefaultBrowser внезапно перестали работать.
SetUserFTA – это программа командной строки, которая позволяет администраторам Windows изменять ассоциации файлов с помощью сценариев входа в систему и других методов. SetDefaultBrowser работает аналогично, но предназначен только для изменения браузера по умолчанию в Windows.
Начиная с Windows 8, Microsoft использует новую систему связывания расширений файлов и протоколов URL-адресов с программами по умолчанию, чтобы предотвратить их вмешательство со стороны вредоносных программ и вредоносных сценариев.
Эта новая система связывает расширение файла или протокол URL со специально созданным хешем, хранящимся под ключами реестра UserChoice.
Например, веб-браузер по умолчанию, назначенный URL-протоколу HTTPS, находится в разделе: [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice] "ProgId"="ChromeHTML" "Hash"="N3eikAB1HhI=".
Если правильный хэш не используется, Windows проигнорирует значения реестра и будет использовать программу по умолчанию для этого протокола URL-адреса, то есть браузер Edge, который впервые появился в 2015 г. вместе с релизом Windows 10, а спустя четыре года отказался от собственного движка EdgeHTML и превратился в очередную модификацию Chrome.
Колбич заметил также что после установки февральских обновлений больше нельзя сменить браузер по умолчанию путем правки реестра. Редактор выдает сообщение об ошибке с текстом «Невозможно изменить хеш: ошибка при записи нового содержимого значения».
Вывести Microsoft на чистую воду
Колбич начал искать источник проблемы и вскоре выяснил, что все происходящее связано с драйвером User Choice Protection Driver, он же UCPD.sys. При загрузке системы этот драйвер блокирует прямое редактирование ключей реестра, связанных с ассоциациями URL-адресов HTTP и HTTPS, а также ассоциацией файлов PDF.
Речь о следующих ключах реестра Windows: 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
Решение есть
Описывая проблему в своем личном блоге, Колбич привел и способ ее устранения. По его словам, удалить браузер из системы нельзя, но можно программно заблокировать его в реестре.
Колбич также привел команду для PowerShell, которая за секунду внесет в реестр Windows необходимый компонент для принудительной блокировки драйвера. Нужно вписать «New-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\UCPD” -Name “Start” -Value 4 -PropertyType DWORD -Force» без кавычек. Делать это нужно с правами администратора, а после потребуется перезагрузить компьютер.
Но с Колбичем не согласен другой ИТ-специалист, Гуннар Хаслингер (Gunnar Haslinger). Он утверждает, что вместе с обнаруженным Колбичем драйвером в системе появляется и новая задача в «Планировщике» – как раз на случай подобных манипуляций со стороны опытных пользователей.
Эта задача отслеживает работоспособность драйвера UCPD и активирует его, если тот отключится.
В связи с этим эксперты портала Bleeping Computer видят лишь один выход из ситуации – отключить драйвер через реестр предложенным Колбичем способом, а затем любыми методами добраться до «Планировщика задач» и отключить/удалить из него задачу, повторно активирующую драйвер UCPD.