Открыть сервисСервис

WinDivert: удаление и удаление драйвера

WinDivert (Windows Divert) — это свободная библиотека и драйвер для операционных систем Windows, позволяющая перехватывать, модифицировать и пересылать сетевые пакеты на уровне ядра. Драйвер устанавливается в систему и регистрируется в диспетчере устройств, поэтому его удаление требует корректной деинсталляции, а не просто удаления файлов.

Назначение и принцип работы

WinDivert используется программистами и администраторами для создания файрволов, трафик-менеджеров, VPN-клиентов, инструментов анализа сетевого трафика. Библиотека работает в паре с одноимённым драйвером ядра (WinDivert.sys), который подключается к системному стеку сети через WFP (Windows Filtering Platform). При запуске программы, использующей WinDivert, драйвер перехватывает указанные потоки пакетов и передаёт их в пространство пользователя, где приложение может их изменить или переслать.

Типичные сценарии использования:

  • перехват и фильтрация трафика определённых приложений;
  • блокировка соединений с указанными адресами;
  • модификация заголовков TCP/IP;
  • перехват DNS-запросов;
  • создание собственных VPN-туннелей.

Поскольку драйвер работает на уровне ядра, его установка сопровождается изменением системных компонентов. Это означает, что обычное удаление исполняемых файлов из папки программы не удаляет драйвер из системы.

Признаки наличия WinDivert в системе

Определить, установлен ли WinDivert, можно несколькими способами:

  1. Диспетчер устройств — в разделе «Сетевые адаптеры» или через меню «Вид → Показать скрытые устройства» может отображаться устройство WinDivert.
  2. Диспетчер служб — драйвер регистрируется как служба WinDivert, которую можно найти через services.msc или команду sc query WinDivert.
  3. Командная строка — команда driverquery | findstr /i windivert покажет, присутствует ли драйвер в системе.
  4. Папка System32\drivers — файл WinDivert.sys может находиться в каталоге C:\Windows\System32\drivers.

Способы удаления

Удаление через командную строку

Наиболее надёжный способ — остановить службу и удалить драйвер из реестра драйверов с помощью встроенных утилит Windows. Для этого требуется запустить командную строку или PowerShell с правами администратора и выполнить:

`` sc stop WinDivert sc delete WinDivert ``

После удаления службы файл WinDivert.sys можно удалить вручную из C:\Windows\System32\drivers. Если файл заблокирован системой, потребуется перезагрузка компьютера, после которой его можно удалить без помех.

Удаление через реестр

Если служба не удаляется штатными средствами, можно вручную удалить ключ реестра:

`` HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDivert ``

После удаления ключа необходимо перезагрузить компьютер и удалить файл драйвера.

Удаление программой-оболочкой

Некоторые приложения, использующие WinDivert, поставляются с собственными средствами деинсталляции. Если WinDivert был установлен вместе с конкретной программой (например, трафик-менеджером или VPN-клиентом), сначала следует удалить эту программу через «Установку и удаление программ» в Windows — в большинстве случаев драйвер удаляется автоматически.

Использование утилит сторонних разработчиков

Существуют утилиты для управления драйверами, такие как Driver Store Explorer или O&O AppBuster, которые позволяют находить и удалять драйверы, оставшиеся от удалённых программ. Они полезны, если драйвер не удаляется штатными средствами.

Возможные проблемы при удалении

  • Ошибка «файл используется» — возникает, если какая-то программа активно использует драйвер. Перед удалением необходимо закрыть все приложения, работающие с WinDivert, и остановить службу.
  • Драйвер не отображается в списке служб — в этом случае следует проверить реестр и диспетчер устройств со скрытыми элементами.
  • Синий экран при удалении — возникает редко и обычно связан с попыткой удалить драйвер, который активно обрабатывает пакеты. Корректная остановка службы перед удалением исключает эту ситуацию.

Проверка после удаления

После выполнения удаления рекомендуется убедиться, что драйвер полностью устранён: повторно выполнить sc query WinDivert, проверить отсутствие файла в каталоге драйверов и перезагрузить систему. Если после перезагрузки драйвер снова появляется, значит, какая-то программа переустанавливает его при каждом запуске — в этом случае необходимо удалить или отключить эту программу.

Источники:

  • Официальная документация WinDivert (reqrypt.org/windivert)
  • Microsoft Docs: Windows Filtering Platform
  • Microsoft Docs: Управление службами Windows (SC.exe)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru