Windivert64 sys ΡΡΠΎ ΡΡΠΎ
Windivert64 sys ΡΡΠΎ ΡΡΠΎ
WinDivertTool.exe is a simple program for:
WinDivertTool.exe is designed to work for any version of WinDivert.
WinDivert is an open source (LGPL) software package for capturing and modifying network packets for Windows. WinDivert was originally developed as part of the ReQrypt project for tunneling HTTP(S) traffic. Since then, WinDivert has used by many applications such as packet filtering, packet sniffing, firewalls, NATs, VPNs, tunneling applications, etc. Some projects that use WinDivert include:
Why is WinDivert on my system?
In this example, the WinDivertTool.exe output indicates that a program called tallow.exe (see the Tallow project) is using WinDivert. The WinDivertTool.exe also prints some additional technical information, including the process ID and hash, as well as the WinDivert version, filter string, layer, priority and flags.
How do I uninstall WinDivert?
The recommended method for uninstalling WinDivert is to uninstall whatever application is using it. In the example above, this can be achieved by uninstalling Tallow.
WinDivertTool.exe can also forcibly terminate all programs/applications using WinDivert and uninstall the WinDivert driver(s) from your system. This approach is not recommended and should only be used as a last resort. To forcibly uninstall WinDivert, run WinDivertTool.exe with the uninstall argument:
Note that this will not prevent the program/application from reinstalling WinDivert after WinDivertTool.exe has completed.
For security reasons, a program using WinDivert must have Administrator access rights, else the WinDivert driver will refuse to load/work. This policy mirrors similar policies for related tools on other platforms, such as divert sockets for MacOSX and netfilterqueue for Linux. Programs do not run as Administrator by default, and a program requesting Administrator rights will trigger a comfirmation via the UAC prompt.
ΠΠ°ΠΊ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Windivert64.sys (3-Ρ ΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ)
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 07/01/2021 [ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ:
Π€Π°ΠΉΠ» windivert64.sys, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ» WinDivert (web: http://reqrypt.org/windivert.html) (donate: 1C5vZVSbizPeZ8ydTYhUfm4LA2cNwBfcYh), Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Free Connected Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ WinDivert driver. Π€Π°ΠΉΠ»Ρ SYS ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² Win64 EXE (ΠΡΠ°ΠΉΠ²Π΅Ρ).
ΠΠΏΠ΅ΡΠ²ΡΠ΅ windivert64.sys Π±ΡΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ 01/31/2019 Π² ΡΠΎΡΡΠ°Π²Π΅ Free Download Manager 5.1.38.7312 Π΄Π»Ρ Windows 10. ΠΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ X-VPN 50 ΡΠ²Π»ΡΠ΅ΡΡΡ v1.1.8 built by: WinDDK, Π²ΡΠΏΡΡΠ΅Π½Π½Π°Ρ 08/15/2019.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ windivert64.sys, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ SYS ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΡΠΈΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ°: ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ΅Π΅ΡΡΡΠ° Π² WinThruster, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ windivert64.sys ΠΈ (ΠΈΠ»ΠΈ) X-VPN.
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Windows 10, 8, 7, Vista, XP ΠΈ 2000
Π‘ΡΠ΅Π΄Π½ΡΡ ΠΎΡΠ΅Π½ΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠ±Π·ΠΎΡ ΡΠ°ΠΉΠ»Π°
ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ β» | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: | windivert64.sys | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°: | ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ SYS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅: | WinDivert (web: http://reqrypt.org/windivert.html) (donate: 1C5vZVSbizPeZ8ydTYhUfm4LA2cNwBfcYh) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Π’ΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: | Driver | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: | Windows NT 32-bit | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Π’ΠΈΠΏ MIME: | application/octet-stream | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅ΠΉΡΠΈΠ½Π³ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ: |
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΈ ΠΠ | |
---|---|
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΠ: | Basil |
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: | WinDivert driver |
ΠΠ²ΡΠΎΡΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΎ: | Copyright Β© Basil 2011-2015 |
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ | |
---|---|
ΠΠ°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²: | Unicode |
ΠΠΎΠ΄ ΡΠ·ΡΠΊΠ°: | English (U.S.) |
Π€Π»Π°Π³ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²: | Private build |
ΠΠ°ΡΠΊΠ° ΡΠ»Π°Π³ΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ²: | 0x003f |
Π’ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π°: | 0x4e04 |
Π Π°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°: | 19456 |
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°: | 37 kB |
ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°: | 2020:01:10 14:13:04+00:00 |
Π’ΠΈΠΏ ΡΠ°ΠΉΠ»Π°: | Win64 EXE |
Π’ΠΈΠΏ MIME: | application/octet-stream |
Π’ΠΈΠΏ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°: | AMD AMD64 |
ΠΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ: | 2015:07:28 13:55:14+00:00 |
Π’ΠΈΠΏ PE: | PE32+ |
ΠΠ΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ°: | 9.0 |
Π Π°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°: | 19456 |
Π Π°Π·ΠΌΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ : | 13312 |
Π Π°Π·ΠΌΠ΅Ρ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ : | 0 |
Π’ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π°: | 0x4e04 |
ΠΠ΅ΡΡΠΈΡ ΠΠ‘: | 6.1 |
ΠΠ΅ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π·Π°: | 6.1 |
ΠΠ΅ΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ: | 6.1 |
ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°: | Native |
ΠΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π°: | 1.0.0.0 |
ΠΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°: | 1.0.0.0 |
ΠΠ°ΡΠΊΠ° ΡΠ»Π°Π³ΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ²: | 0x003f |
Π€Π»Π°Π³ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²: | Private build |
Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΠΠ‘: | Windows NT 32-bit |
Π’ΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: | Driver |
ΠΠΎΠ΄ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π°: | 6 |
ΠΠΎΠ΄ ΡΠ·ΡΠΊΠ°: | English (U.S.) |
ΠΠ°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²: | Unicode |
ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ: | Basil |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°: | WinDivert (web: http://reqrypt.org/windivert.html) (donate: 1C5vZVSbizPeZ8ydTYhUfm4LA2cNwBfcYh) |
ΠΠ΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°: | 1.1.8 built by: WinDDK |
ΠΠ½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΈΠΌΡ: | WinDivert.sys |
ΠΠ²ΡΠΎΡΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΎ: | Copyright Β© Basil 2011-2015 |
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°: | WinDivert driver |
ΠΠ΅ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°: | 1.1.8 |
β» Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠΌ Exiftool (Phil Harvey) ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Perl Artistic.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ windivert64.sys?
Windivert64.sys β ΠΎΡΠΈΠ±ΠΊΠΈ Β«ΡΠΈΠ½Π΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°Β» (BSOD)
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ΄ ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Ρ windivert64.sys. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ SYS ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ Β«ΡΠΈΠ½Π΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°Β» (BSOD). ΠΡΠΈ ΡΠΈΠΏΡ ΠΎΡΠΈΠ±ΠΎΠΊ windivert64.sys ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ, ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠΌΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ X-VPN). Π ΡΠΈΡΠ»ΠΎ ΡΡΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π²Ρ ΠΎΠ΄ΡΡ:
ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΠ‘ Windows Π·Π°Π²Π΅ΡΡΠΈΠ»Π° ΡΠ°Π±ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠΎ Π²ΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΠ°Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ»: windivert64.sys.
π ΠΠ° Π²Π°ΡΠ΅ΠΌ ΠΠ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ, ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ. Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅: [BSOD] (windivert64.sys).
STOP 0x0000001E: KMODE EXCEPTION NOT HANDLED (windivert64.sys)
STOP 0x00000050: PAGE FAULT IN A NONPAGED AREA (windivert64.sys)
STOP 0x0000007E: SYSTEM THREAD EXCEPTION NOT HANDLED (windivert64.sys)
STOP 0x0000000A: IRQL NOT LESS EQUAL (windivert64.sys)
STOP 0x0000003B: SYSTEM SERVICE EXCEPTION (windivert64.sys)
STOP 0Γ0000007A: KERNEL DATA INPAGE (windivert64.sys)
ΠΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΡΡΡΠ°Π½ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Β«ΡΠΈΠ½Π΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°Β»
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΡΠΈΠ±ΠΊΠΈ BSOD windivert64.sys Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ (X-VPN) ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Windows. Π ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Β«ΡΠΈΠ½Π΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°Β» windivert64.sys ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π²ΡΠ·Π²Π°Π½Π½ΠΎΠ΅ Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΡΡ Π² Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ» ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
Π‘ΠΠΠΠ’ ΠΠ’ Π‘ΠΠΠ¦ΠΠΠΠΠ‘Π’Π: ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠΏΡΡ, ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Windows ΠΈ (ΠΈΠ»ΠΈ) ΡΠΎΡΠΊΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Π½ΠΎΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π±Π»Π°Π³ΠΎΠΏΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ windivert64.sys ΠΎΡΠΈΠ±ΠΊΠΈ Β«ΡΠΈΠ½Π΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°Β» ΠΏΠΎΡΠ»Π΅ Π½Π΅Π΄Π°Π²Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ windivert64.sys β 3-ΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ (Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ windivert64.sys. ΠΡΠΈ ΡΠ°Π³ΠΈ ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π¨Π°Π³ 1. ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΎΡΠΊΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Β«ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ°Β» ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π·Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ (Windows XP, Vista, 7, 8 ΠΈ 10):
ΠΡΠ»ΠΈ Π½Π° ΡΡΠ°ΠΏΠ΅ 1 Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ windivert64.sys, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ°Π³Ρ 2 Π½ΠΈΠΆΠ΅.
Π¨Π°Π³ 2. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ X-VPN (ΠΈΠ»ΠΈ ΡΡ ΠΎΠΆΠ΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅), ΡΠ΄Π°Π»ΠΈΡΠ΅ Π΅Π³ΠΎ, Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ X-VPN.
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ X-VPN, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Windows XP, Vista, 7, 8 ΠΈ 10):
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΠ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ X-VPN.
ΠΡΠ»ΠΈ Π½Π° ΡΡΠ°ΠΏΠ΅ 2 ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ windivert64.sys, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ°Π³Ρ 3 Π½ΠΈΠΆΠ΅.
Π¨Π°Π³ 3. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Windows.
ΠΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠ°Π³Π° Π½Π΅ ΡΡΡΡΠ°Π½ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π¦Π΅Π½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Windows. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ windivert64.sys ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Windows. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π¦Π΅Π½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Windows, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ°Π³ΠΈ:
ΠΡΠ»ΠΈ Π¦Π΅Π½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Windows Π½Π΅ ΡΠΌΠΎΠ³ ΡΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ windivert64.sys, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π³Ρ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΠ.
ΠΡΠ»ΠΈ ΡΡΠΈ ΡΠ°Π³ΠΈ Π½Π΅ ΠΏΡΠΈΠ½Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°: ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» windivert64.sys (Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ)
ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π±Π΅Π·ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΈΠ²Π½ΡΠΌ ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ ΡΡΡΡΠ°Π½Π΅Π½Π°, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Windows 10.
Π‘ΠΠΠΠ’ ΠΠ’ Π‘ΠΠΠ¦ΠΠΠΠΠ‘Π’Π: ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Windows ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ windivert64.sys. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π²ΡΠ΅Ρ Π²Π°ΠΆΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ Π²Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΡΠ²ΠΎΠΈΡ Π΄Π°Π½Π½ΡΡ , Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ (ΡΠ°ΡΡΡ 1)
Π¦Π΅Π»Ρ
Π¦Π΅Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ β ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΡ Π΅ΠΌΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°Π²ΡΠΊΠ°ΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ ΠΏΡΠΈΠ±Π΅Π³Π°Ρ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΈΠΏΠ° HWINFO ΠΈ AIDA64.
ΠΠ±ΡΠ΅ΠΊΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
ΡΠ΅ΠΊΠ»Π°ΠΌΠ°
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ β Π½Π°Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·Π»ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ β ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΡΠΈΠΏΡΠ΅ΡΠ°, ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Ρ.Π΄.
ΠΠ»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π»ΡΠ±Π°Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠ°Ρ ΠΏΠ»Π°ΡΠ° ΠΎΡΠ½Π°ΡΠ°Π΅ΡΡΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠΎΠΉ Super I/O Chip, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ Π² Π½Π°ΡΠΎΠ΄Π΅ Β«ΠΌΡΠ»ΡΡΠΈΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΒ». ΠΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Π΅ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π±Π»ΠΎΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅Π½ΡΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΌΠΎΠ·Π°ΡΠΈΡΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΏΠΎΡΡΠΎΠ², ΡΠ»ΠΎΠΏΠΏΠΈ-Π΄ΠΈΡΠΊΠ°, ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. ΠΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ΅Π±Π΅ Π±ΠΎΠ»ΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ. Π ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π±Π»ΠΎΠΊΠΎΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (Environment Controller Ββ EC).
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄Π°Π²Π½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΡΠΈΠΈ Π²ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΠ΅ ΠΏΠ»Π°ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Gigabyte Technology ΠΎΡΠ½Π°ΡΠ°ΡΡΡΡ Β«ΠΌΡΠ»ΡΡΠΈΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈΒ» ΡΠΈΡΠΌΡ ITE. Π Π°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΄Π° ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ ITE ΠΎΠ±ΡΠΈΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΈΡΠ»ΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² (Voltage Inputs ΠΈΠ»ΠΈ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎ β VIN-Π»ΠΈΠ½ΠΈΠΈ), ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ EC-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ Π²Ρ ΠΎΠ΄Π½ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ, ΡΠΆΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ 8 ΡΡΡΠΊ. ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ , Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ Β«ΠΌΡΠ»ΡΡΠΈΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡΒ» ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΡΡ ΠΏΠ»Π°ΡΡ ΠΎΡΠ½Π°ΡΠ°ΡΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠΎΠΉ Ρ ΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ITE IT8792E. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠ°ΡΡΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΡΠ΄ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ, Π²ΡΠΎΠ΄Π΅ IT8705E (ΠΌΠΎΠ΄Π΅Π»Ρ 2003 Π³.), ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π»ΡΡ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, IT8686E (ΠΌΠΎΠ΄Π΅Π»Ρ 2016 Π³.) ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΡΡ TEMP-Π»ΠΈΠ½ΠΈΠΉ. ΠΠ°Π»ΠΈΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° IT8792E Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ Π·Π° ΡΡΡΡ Π½Π°Π»ΠΈΡΠΈΡ ΡΡΡΡ TEMP-Π»ΠΈΠ½ΠΈΠΉ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ Π΄ΠΎ Π΄Π΅Π²ΡΡΠΈ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΡ Π±Ρ ΡΠ°Π· ΠΏΡΠΎΡΠ²Π»ΡΠ» Π»ΡΠ±ΠΎΠΏΡΡΡΡΠ²ΠΎ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ BIOS Setup Utility. ΠΠ°ΠΊ ΡΠ°Π·-ΡΠ°ΠΊΠΈ BIOS Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ, ΡΡΠΈΡΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ EC-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². ΠΠΎ Π·Π°ΡΠ°ΡΡΡΡ, ΡΡΠΎΡ Π½Π°Π±ΠΎΡ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² BIOS ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°Ρ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠΈΡΠ°Π½ΠΈΡ (VBAT-Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅), Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°ΡΡ ΠΈ CMOS Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ BIOS. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ ΡΠΈΡΠΌΠ΅Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π»ΠΈΠ±ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠΈΠΏΠ° HWINFO ΠΈΠ»ΠΈ AIDA64. ΠΠΎ ΠΈ Π·Π΄Π΅ΡΡ Π·Π°ΡΠ°ΡΡΡΡ ΡΠ°ΡΠΈΡ Π½Π΅ΡΠ°Π·Π±Π΅ΡΠΈΡ Π°. ΠΠ°Π±ΠΎΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π² ΠΎΠ±ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π½ΠΈΡΡΡΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡ Π΅ΠΌΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ.
ΡΠ΅ΠΊΠ»Π°ΠΌΠ°
ΠΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΡΠ΅ΠΆΠ°ΠΌ ΠΈ ΡΡ Π΅ΠΌΠ°ΠΌ, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°Ρ, Π½Π΅Π»Π΅Π³ΠΊΠΎ. Π―Π²Π»ΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΠΎΠ½Π° Π½Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΡ ΡΠ°ΠΉΡΠΎΠ², Π³Π΄Π΅ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Π»ΠΈΠ±ΠΎ Π·Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠΏΠ»Π°ΡΡ. ΠΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ°ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π½Π΅ ΡΡΠΎΠ»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°Ρ. ΠΠ½Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π°ΡΡ ΠΈΠ² ΡΠΎ ΡΡ Π΅ΠΌΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΎΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ pdf Π΄Π»Ρ 800 ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°Ρ Gigabyte Ρ ΡΠ°ΠΉΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΡΠ°ΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΡΡ ΠΏΠ»Π°ΡΡ Gigabyte GA-AX370 Gaming 5.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΡΡ Π΅ΠΌΠ΅ Π²ΡΡΠ΅ (Π ΠΈΡ.3) Π΄Π°Π½Π½Π°Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠ°Ρ ΠΏΠ»Π°ΡΠ° ΠΎΡΠ½Π°ΡΠ΅Π½Π° Β«ΠΌΡΠ»ΡΡΠΈΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌΒ» ITE IT8686E. ΠΠΎΠ½ΡΠ°ΠΊΡΡ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ 121β127 Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΠΏΠΎΠ΄ VIN-Π»ΠΈΠ½ΠΈΠΈ Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ, Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ 117β119 (TEMP-Π»ΠΈΠ½ΠΈΠΈ) ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ β ΡΠ΅ΡΠΌΠΈΡΡΠΎΡΠ°ΠΌ ΠΈ ΡΠ΅ΡΠΌΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ VIN-Π»ΠΈΠ½ΠΈΠΈ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Ρ.ΠΊ. ΠΎΠ½ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° β VIN0, VIN1, VIN5 ΠΈ Ρ.Π΄. ΠΠΎ Π΄Π»Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° β CPU_TEMP, PM_TEMP ΠΈ SYS_TEMP. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π° ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΡΡ Π΅ΠΌΠ΅ (Π ΠΈΡ.4), ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ VIN4 ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ VCore SOC (Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Β«ΡΠ΅Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΡΠ°Β»), ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ VIN0 β VCore (Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΄ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°), VIN6 β VDDQ (Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΡΡ ΠΏΠ°ΠΌΡΡΠΈ), VIN1 β VCC3 (+3,3 Π), VIN3 β VCC (+5 Π), VIN2 β +12V, VIN5 β A_VDDP. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ, ΡΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡ Π΅ΠΌΠ΅ (Π ΠΈΡ.5) Π·Π΄Π΅ΡΡ Π²ΡΡ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. ΠΠΎ Π»ΠΈΠ½ΠΈ CPU_TEMP EC-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Ρ ΡΠ΅ΡΠΌΠΎΠ΄ΠΈΠΎΠ΄Π°, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΄ΡΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΠΎ Π»ΠΈΠ½ΠΈΠΈ SYS_TEMP ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°ΡΡΠΆΠ½ΡΠΉ ΡΠ΅ΡΠΌΠΈΡΡΠΎΡ, ΡΠ°Π·ΠΌΠ΅ΡΡΠ½Π½ΡΠΉ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΠ΅. ΠΠΈΠ½ΠΈΡ PM_TEMP ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΡΠΈΠΏΡΠ΅Ρ (ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠ° Β«ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΡΠ°Β») ΡΠ΅ΡΠΌΠΎΠ΄ΠΈΠΎΠ΄ ΠΈ EC-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° IT8792E.
ΡΠ΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΡΡ Π΅ΠΌΠ΅ (Π ΠΈΡ. 6), Π·Π΄Π΅ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ Π³ΡΡΠΏΠΏΠ° ΠΈΠ· ΡΠ΅ΡΡΠΈ VIN-Π»ΠΈΠ½ΠΈΠΉ VINA0βVINA5 (ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ 49β54) ΠΈ Π³ΡΡΠΏΠΏΠ° ΠΈΠ· ΡΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ β EC_TEMP1, EC_TEMP2 ΠΈ EC_TEMP3 (ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ 44β46). ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ VIN-Π»ΠΈΠ½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡ Π΅ΠΌΠΎΠΉ Π½ΠΈΠΆΠ΅ (Π ΠΈΡ. 7).
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ, ΡΠΎ Π·Π΄Π΅ΡΡ (Π ΠΈΡ. 8.) ΡΡ Π΅ΠΌΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ Π»ΠΈΡΡ Π΄Π»Ρ Π²Ρ ΠΎΠ΄ΠΎΠ² EC_TEMP2 ΠΈ EC_TEMP3. ΠΠ΅ΡΠ²ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Π½Π°ΡΡΠΆΠ½ΠΎΠΌΡ ΡΠ΅ΡΠΌΠΈΡΡΠΎΡΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡ Π²ΠΎΠ·Π»Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π³Π½Π΅Π·Π΄ PCIE x16. ΠΡΠΎΡΠΎΠΉ Π²Ρ ΠΎΠ΄, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Π»ΠΈΠ½ΠΈΠ΅ΠΉ SYS_TEMP Β«ΠΌΡΠ»ΡΡΠΈΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Β», ΡΠ²ΡΠ·Π°Π½ Ρ Π½Π°ΡΡΠΆΠ½ΡΠΌ ΡΠ΅ΡΠΌΠΈΡΡΠΎΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ, ΠΈΠ·ΠΌΠ΅ΡΡΡΡΠΈΠΌ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π΄ΡΡ Π°. Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, ΡΡΠΎ Π»ΠΈΠ½ΠΈΡ EC_TEMP1 ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π²ΠΎΠ·Π»Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π³Π½ΡΠ·Π΄ PCIE 8x.
ΠΡΠ²ΠΎΠ΄
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π°Π½Π°Π»ΠΈΠ· ΡΡ Π΅ΠΌΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² ΡΠ°ΡΡΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠ°Ρ ΠΏΠ»Π°ΡΠ° Gigabyte GA-AX370 Gaming 5 Π² ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°. ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΈΠ· 13 ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΈ 6 ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ. ΠΠΎ ΠΈ ΡΡΠΎ Π½Π΅ Π²ΡΡ. ΠΡΠ±ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΎΠ±ΡΠ°ΡΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΡΡ Π΅ΠΌΡ Π΄Π²ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ( Π ΠΈΡ. 3 ΠΈ Π ΠΈΡ. 6) ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΎΠ±Π΅ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌ Β«ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Β» Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ β VBAT, 3VSB ΠΈ VCC3 (AVCC3), Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΡΡΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ. ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Gigabyte ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ BIOS Setup Utility ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ»ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Β«ΠΌΡΠ»ΡΡΠΈΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌΒ» Π΅ΡΡ ΡΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡ β PCIE 16x, VRM ΠΈ SOC MOSFET.
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ°ΡΡΠΈ Π±ΡΠ΄Π΅Π½ Π΄Π°Π½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π² ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ.
WinDivert 2.2: Windows Packet Divert
Table of Contents
1. Introduction
WinDivert is a powerful user-mode capture/sniffing/modification/blocking/re-injection package for Windows 7, Windows 8 and Windows 10. WinDivert can be used to implement user-mode packet filters, packet sniffers, firewalls, NAT, VPNs, tunneling applications, etc., without the need to write kernel-mode code.
The main features of the WinDivert are:
WinDivert provides similar functionality to divert sockets from FreeBSD/MacOS, NETLINK sockets from Linux.
2. Building
Note that pre-built WinDivert binary distributions are available from the WinDivert website. Most users do not need to build their own version of WinDivert from source.
The source code for WinDivert is available for download at:
To build the WinDivert drivers from source:
To build the WinDivert user-mode library ( WinDivert.dll ) and sample programs:
The generated WinDivert.dll / WinDivert.lib files should be compatible with all major compilers, including both MinGW and Visual Studio.
2.1 Driver Signing
If you built your own WinDivert32.sys / WinDivert64.sys drivers, they must be digitally signed before they can be used. See Driver Signing Requirements for Windows for more information.
Note that the pre-built WinDivert32.sys / WinDivert64.sys drivers from the official WinDivert distribution are already digitally signed.
3. Installing
WinDivert does not require any special installation. Depending on your target configuration, simply place the following files in your application’s home directory:
4. Uninstalling
Alternatively, the WinDivert driver can be removed by using the windivertctl.exe sample program by issuing the following command:
5. Programming API
5.1 WINDIVERT_LAYER
WinDivert supports several layers for diverting or capturing network packets/events. Each layer has its own capabilities, such as the ability to block events or to inject new events, etc. The list of supported WinDivert layers is summarized below:
Layer | Capability | Description | |||
---|---|---|---|---|---|
Block? | Inject? | Data? | PID? | ||
WINDIVERT_LAYER_NETWORK | ✔ | ✔ | ✔ | Network packets to/from the local machine. | |
WINDIVERT_LAYER_NETWORK_FORWARD | ✔ | ✔ | ✔ | Network packets passing through the local machine. | |
WINDIVERT_LAYER_FLOW | ✔ | Network flow established/deleted events. | |||
WINDIVERT_LAYER_SOCKET | ✔ | ✔ | Socket operation events. | ||
WINDIVERT_LAYER_REFLECT | ✔ | ✔ | WinDivert handle events. |
Here, the layer capabilities are:
The WINDIVERT_LAYER_NETWORK and WINDIVERT_LAYER_NETWORK_FORWARD layers allow the user application to capture/block/inject network packets passing to/from (and through) the local machine. Due to technical limitations, process ID information is not available at these layers.
The WINDIVERT_LAYER_FLOW layer captures information about network flow establishment/deletion events. Here, a flow represents either (1) a TCP connection, or (2) an implicit flow created by the first sent/received packet for non-TCP traffic, e.g., UDP. Old flows are deleted when the corresponding connection is closed (for TCP), or based on an activity timeout (non-TCP). Flow-related events can be captured, but not blocked nor injected. Process ID information is also available at this layer. Due to technical limitations, the WINDIVERT_LAYER_FLOW layer cannot capture flow events that occurred before the handle was opened.
5.2 WINDIVERT_EVENT
Each layer supports one or more events summarized below:
WINDIVERT_LAYER_NETWORK and WINDIVERT_LAYER_NETWORK_FORWARD : Only a single event is supported:
Event | Description |
---|---|
WINDIVERT_EVENT_NETWORK_PACKET | A new network packet. |
WINDIVERT_LAYER_FLOW : Two events are supported:
Event | Description |
---|---|
WINDIVERT_EVENT_FLOW_ESTABLISHED | A new flow is created. |
WINDIVERT_EVENT_FLOW_DELETED | An old flow is deleted. |
WINDIVERT_LAYER_SOCKET : The following events are supported:
Event | Description |
---|---|
WINDIVERT_EVENT_SOCKET_BIND | A bind() operation. |
WINDIVERT_EVENT_SOCKET_CONNECT | A connect() operation. |
WINDIVERT_EVENT_SOCKET_LISTEN | A listen() operation. |
WINDIVERT_EVENT_SOCKET_ACCEPT | An accept() operation. |
WINDIVERT_EVENT_SOCKET_CLOSE | A socket endpoint is closed. This corresponds to a previous binding being released, or an established connection being terminated. The event cannot be blocked. |
WINDIVERT_LAYER_REFLECT : Two events are supported:
Event | Description |
---|---|
WINDIVERT_EVENT_REFLECT_OPEN | A new WinDivert handle was opened. |
WINDIVERT_EVENT_REFLECT_CLOSE | An old WinDivert handle was closed. |
5.3 WINDIVERT_ADDRESS
Remarks
The WINDIVERT_ADDRESS structure represents the «address» of a captured or injected packet. The address includes the packet’s timestamp, layer, event, flags, and layer-specific data. All fields are set by WinDivertRecv() when the packet/event is captured. Only some fields are used by WinDivertSend() when a packet is injected.
The Event indicates the layer-specific event ( WINDIVERT_EVENT_* ) that was captured.
The Outbound flag is set for outbound packets/events, and is cleared for inbound or direction-less packets/events.
The Loopback flag is set for loopback packets. Note that Windows considers any packet originating from, and destined to, the current machine to be a loopback packet, so loopback packets are not limited to localhost addresses. Note that WinDivert considers loopback packets to be outbound only, and will not capture loopback packets on the inbound path.
The IPv6 flag is set for IPv6 packets/events, and cleared for IPv4 packets/events.
The *Checksum flags indicate whether the packet has valid checksums or not. When IP/TCP/UDP checksum offloading is enabled, it is possible that captured packets do not have valid checksums. Invalid checksums may be arbitrary values.
The Network.* fields are only valid at the WINDIVERT_LAYER_NETWORK and WINDIVERT_LAYER_NETWORK_FORWARD layers. The Network.IfIdx / Network.SubIfIdx indicate the packet’s network adapter (a.k.a. interface) index. These values are ignored for outbound packets.
5.4 WinDivertOpen
Return Value
A valid WinDivert handle on success, or INVALID_HANDLE_VALUE if an error occurred. Use GetLastError() to get the reason for the error. Common errors include:
A typical application is only interested in a subset of all network traffic or events. In this case the filter should match as closely as possible to the subset of interest. This avoids unnecessary overheads introduced by diverting packets to the user-mode application. See the filter language section for more information.
The layer of the WinDivert handle is determined by the layer parameter. See WINDIVERT_LAYER for more information. Currently the following layers are supported:
Layer | Description |
---|---|
WINDIVERT_LAYER_NETWORK = 0 | Network packets to/from the local machine. This is the default layer. |
WINDIVERT_LAYER_NETWORK_FORWARD | Network packets passing through the local machine. |
WINDIVERT_LAYER_FLOW | Network flow established/deleted events. |
WINDIVERT_LAYER_SOCKET | Socket operation events. |
WINDIVERT_LAYER_REFLECT | WinDivert handle events. |
Different WinDivert handles can be assigned different priorities by the priority parameter. Packets are diverted to higher priority handles before lower priority handles. Packets injected by a handle are then diverted to the next priority handle, and so on, provided the packet matches the handle’s filter. A packet is only diverted once per priority level, so handles should not share priority levels unless they use mutually exclusive filters. Otherwise it is not defined which handle will receive the packet first. Higher priority values represent higher priorities, with WINDIVERT_PRIORITY_HIGHEST being the highest priority, 0 the middle (and a good default) priority, and WINDIVERT_PRIORITY_LOWEST the lowest priority.
Different flags affect how the opened handle behaves. The following flags are supported:
Note that any combination of (WINDIVERT_FLAG_SNIFF | WINDIVERT_FLAG_DROP) or (WINDIVERT_FLAG_RECV_ONLY | WINDIVERT_FLAG_SEND_ONLY) are considered invalid.
Some layers have mandatory flags, as listed below:
Layer | Required Flags |
---|---|
WINDIVERT_LAYER_FLOW | WINDIVERT_FLAG_SNIFF | WINDIVERT_FLAG_RECV_ONLY |
WINDIVERT_LAYER_SOCKET | WINDIVERT_FLAG_RECV_ONLY |
WINDIVERT_LAYER_REFLECT | WINDIVERT_FLAG_SNIFF | WINDIVERT_FLAG_RECV_ONLY |
5.5 WinDivertRecv
Return Value
TRUE if a packet/event was successfully received, or FALSE if an error occurred. Use GetLastError() to get the reason for the error.
Common errors include:
Name | Code | Description |
---|---|---|
ERROR_INSUFFICIENT_BUFFER | 122 | The captured packet is larger than the pPacket buffer. |
ERROR_NO_DATA | 232 | The handle has been shutdown using WinDivertShutdown() and the packet queue is empty. |
Only some layers can capture packets/data, as summarized below:
Layer | Data? | Description |
---|---|---|
WINDIVERT_LAYER_NETWORK | ✔ | Network packet. |
WINDIVERT_LAYER_NETWORK_FORWARD | ✔ | Network packet. |
WINDIVERT_LAYER_FLOW | — | |
WINDIVERT_LAYER_SOCKET | — | |
WINDIVERT_LAYER_REFLECT | ✔ | Filter object. |
Captured packets are guaranteed to have correct checksums or have the corresponding *Checksum flag unset (see WINDIVERT_ADDRESS ).
WinDivertRecv() should not be used on any WinDivert handle created with the WINDIVERT_FLAG_DROP set.
5.6 WinDivertRecvEx
Return Value
TRUE if a packet was successfully received, or FALSE otherwise. Use GetLastError() to get the reason. The error code ERROR_IO_PENDING indicates that the overlapped operation has been successfully initiated and that completion will be indicated at a later time. All other codes indicate an error.
Remarks
This function is equivalent to WinDivertRecv() except:
Batched I/O makes it possible to receive up to WINDIVERT_BATCH_MAX packets at once using a single operation, reducing the number of kernel/user-mode context switches and improving performance. To enable batched I/O:
5.7 WinDivertSend
Return Value
TRUE if a packet was successfully injected, or FALSE if an error occurred. Use GetLastError() to get the reason for the error.
Common errors include:
Name | Code | Description |
---|---|---|
ERROR_HOST_UNREACHABLE | 1232 | This error occurs when an impostor packet (with pAddr->Impostor set to 1 ) is injected and the ip.TTL or ipv6.HopLimit field goes to zero. This is a defense of last resort against infinite loops caused by impostor packets. |
Only the WINDIVERT_LAYER_NETWORK and WINDIVERT_LAYER_NETWORK_FORWARD layers support packet injection, as summarized below:
Layer | Inject? |
---|---|
WINDIVERT_LAYER_NETWORK | ✔ |
WINDIVERT_LAYER_NETWORK_FORWARD | ✔ |
WINDIVERT_LAYER_FLOW | |
WINDIVERT_LAYER_SOCKET | |
WINDIVERT_LAYER_REFLECT |
For packets injected into the inbound path, the pAddr->Network.IfIdx and pAddr->Network.SubIfIdx fields are assumed to contain valid interface numbers. These may be retrieved from WinDivertRecv() (for packet modification), or from the IP Helper API.
For outbound injected packets, the IfIdx and SubIfIdx fields are currently ignored and may be arbitrary values. Injecting an inbound packet on the outbound path may work (for some types of packets), however this should be considered «undocumented» behavior, and may be changed in the future.
Injected packets must have the correct checksums or have the corresponding pAddr->*Checksum flag unset. A packet/address pair captured by WinDivertRecv() is guaranteed to satisfy this condition, so can be reinjected unmodified without recalculating checksums. Otherwise, if a modification is necessary, checksums can be recalculated using the WinDivertHelperCalcChecksums() function.
5.8 WinDivertSendEx
Return Value
TRUE if a packet was successfully injected, or FALSE otherwise. Use GetLastError() to get the reason. The error code ERROR_IO_PENDING indicates that the overlapped operation has been successfully initiated and that completion will be indicated at a later time. All other codes indicate an error.
Remarks
This function is equivalent to WinDivertSend() except:
Batched I/O makes it possible to send up to WINDIVERT_BATCH_MAX packets at once using a single operation, reducing the number of kernel/user-mode context switches and improving performance. To use batched I/O:
5.9 WinDivertShutdown
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
Remarks
This operation causes all or part of a WinDivert handle to be shut down. The possible values for how are:
5.10 WinDivertClose
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
5.11 WinDivertSetParam
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
Remarks
Sets a WinDivert parameter. Currently, the following WinDivert parameters are defined.
5.12 WinDivertGetParam
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
Parameter | Description |
---|---|
WINDIVERT_PARAM_VERSION_MAJOR | Returns the major version of the driver. |
WINDIVERT_PARAM_VERSION_MINOR | Returns the minor version of the driver. |
6. Helper Programming API
6.1 WINDIVERT_IPHDR
Fields
See here for more information.
Remarks
IPv4 header definition.
The following fields can only be get/set using the following macro definitions:
6.2 WINDIVERT_IPV6HDR
Fields
See here for more information.
Remarks
IPv6 header definition.
The following fields can only be get/set using the following macro definitions:
6.3 WINDIVERT_ICMPHDR
Fields
See here for more information.
Remarks
ICMP header definition.
6.4 WINDIVERT_ICMPV6HDR
Fields
See here for more information.
Remarks
ICMPv6 header definition.
6.5 WINDIVERT_TCPHDR
Fields
See here for more information.
Remarks
TCP header definition.
6.6 WINDIVERT_UDPHDR
Fields
See here for more information.
Remarks
UDP header definition.
6.7 WinDivertHelperParsePacket
Return Value
TRUE if successful, FALSE if an error occurred.
Remarks
Parses a raw packet or batch of packets (e.g. from WinDivertRecv() ) into the various packet headers and/or payloads that may or may not be present.
This function does not do any verification of the header/payload contents beyond checking the header length and any other minimal information required for parsing. This function will always succeed provided the pPacket buffer contains at least one IPv4 or IPv6 header and the packetLen is correct.
6.8 WinDivertHelperHashPacket
Return Value
A 64bit hash value.
Remarks
Calculates a 64bit hash value of the given packet. Note that the hash function depends on the packet’s IP and transport headers only, and not the payload of the packet. That said, a weak dependency on the payload will exist if the TCP/UDP checksums are valid. The hash function itself is based on the xxHash algorithm and is not cryptographic.
The optional seed value is also incorporated into the hash.
6.9 WinDivertHelperParseIPv4Address
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
6.10 WinDivertHelperParseIPv6Address
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
6.11 WinDivertHelperParseIPv4Address
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
Remarks
Convert an IPv4 address into a string.
6.12 WinDivertHelperParseIPv6Address
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
Remarks
Convert an IPv6 address into a string.
6.13 WinDivertHelperCalcChecksums
Return Value
TRUE if successful, FALSE if an error occurred.
By default this function will calculate each checksum from scratch, even if the existing checksum is correct. This may be inefficient for some applications. For better performance, incremental checksum calculations should be used instead (not provided by this API).
6.14 WinDivertHelperDecrementTTL
For IPv4, this function will preserve the validity of the IPv4 checksum. That is, if the packet had a valid checksum before the operation, the resulting checksum will also be valid after the operation. This function updates the checksum field incrementally.
6.15 WinDivertHelperCompileFilter
Return Value
TRUE if the packet filter compilation is successful, FALSE otherwise.
The compilation operation will succeed if the given filter string is valid with respect to the filter language. Otherwise, if the filter is invalid, then a human readable description of the error is returned by errorStr (if non- NULL ), and the error’s position is returned by errorPos (if non- NULL ).
Note that all strings returned through errorStr are global static objects, and therefore do not need to be deallocated.
6.16 WinDivertHelperEvalFilter
Return Value
TRUE if the packet matches the filter string, FALSE otherwise.
Remarks
Evaluates the given packet against the given packet filter string. This function returns TRUE if the packet matches, and returns FALSE otherwise.
Note that this function is relatively slow since the packet filter string will be (re)compiled for each call. This overhead can be minimized by pre-compiling the filter string into the object representation using the WinDivertHelperCompileFilter() function.
6.17 WinDivertHelperFormatFilter
Return Value
TRUE if successful, FALSE if an error occurred. Use GetLastError() to get the reason for the error.
6.18 WinDivertHelperNtoh*
Return Value
The output value in host byte order.
Remarks
Converts a value/IPv6-address from network to host byte-order.
6.19 WinDivertHelperHton*
Return Value
The output value in network byte order.
Remarks
Converts a value/IPv6-address from host to network byte-order.
7. Filter Language
The WinDivertOpen() function accepts a string containing a filter. Only packets/events that match the filter will be blocked and/or captured. All other non-matching packets/events will be allowed to continue as normal.
The filter allows an application to select only a subset traffic that is of interest. For example, a HTTP blacklist filter is only interested in packets that might contain URLs. This could be achieved using the following filter.
This filter selects only the subset of all traffic that is:
A filter is a Boolean expression of the form:
A test is of the following form:
where op is one of the following:
Operator | Description |
---|---|
== or = | Equal |
!= | Not equal |
Less-than | |
> | Greater-than |
Less-than-or-equal | |
>= | Greater-than-or-equal |
Finally, a field is some layer-specific property matching the packet or event. The possible fields are:
Field | Layer | Description | ||||
---|---|---|---|---|---|---|
NETWORK | FORWARD | FLOW | SOCKET | REFLECT | ||
zero | ✔ | ✔ | ✔ | ✔ | ✔ | The value zero |
timestamp | ✔ | ✔ | ✔ | ✔ | ✔ | The packet/event timestamp |
event | ✔ | ✔ | ✔ | ✔ | ✔ | The event |
outbound | ✔ | ✔ | Is outbound? | |||
inbound | ✔ | ✔ | Is inbound? | |||
ifIdx | ✔ | ✔ | Interface index | |||
subIfIdx | ✔ | ✔ | Sub-interface index | |||
loopback | ✔ | ✔ | ✔ | Is loopback packet? | ||
impostor | ✔ | ✔ | Is impostor packet? | |||
fragment | ✔ | ✔ | Is IP fragment packet? | |||
endpointId | ✔ | ✔ | Endpoint ID | |||
parentEndpointId | ✔ | ✔ | Parent endpoint ID | |||
processId | ✔ | ✔ | ✔ | Process ID | ||
random8 | ✔ | ✔ | 8-bit random number | |||
random16 | ✔ | ✔ | 16-bit random number | |||
random32 | ✔ | ✔ | 32-bit random number | |||
layer | ✔ | The handle’s layer | ||||
priority | ✔ | The handle’s priority | ||||
packet[i] | ✔ | ✔ | The i th 8-bit word of the packet | |||
packet16[i] | ✔ | ✔ | The i th 16-bit word of the packet | |||
packet32[i] | ✔ | ✔ | The i th 32-bit word of the packet | |||
length | ✔ | ✔ | The packet length | |||
ip | ✔ | ✔ | ✔ | ✔ | Is IPv4? | |
ipv6 | ✔ | ✔ | ✔ | ✔ | Is IPv6? | |
icmp | ✔ | ✔ | ✔ | ✔ | Is ICMP? | |
icmpv6 | ✔ | ✔ | ✔ | ✔ | Is ICMPv6? | |
tcp | ✔ | ✔ | ✔ | ✔ | Is TCP? | |
udp | ✔ | ✔ | ✔ | ✔ | Is UDP? | |
protocol | ✔ | ✔ | ✔ | The protocol | ||
localAddr | ✔ | ✔ | ✔ | The local address | ||
localPort | ✔ | ✔ | ✔ | The local port | ||
remoteAddr | ✔ | ✔ | ✔ | The remote address | ||
remotePort | ✔ | ✔ | ✔ | The remote port | ||
ip.* | ✔ | ✔ | IPv4 fields (see WINDIVERT_IPHDR ) | |||
ipv6.* | ✔ | ✔ | IPv6 fields (see WINDIVERT_IPV6HDR ) | |||
icmp.* | ✔ | ✔ | ICMP fields (see WINDIVERT_ICMPHDR ) | |||
icmpv6.* | ✔ | ✔ | ICMPV6 fields (see WINDIVERT_ICMPV6HDR ) | |||
tcp.* | ✔ | ✔ | TCP fields (see WINDIVERT_TCPHDR ) | |||
tcp.PayloadLength | ✔ | ✔ | The TCP payload length | |||
tcp.Payload[i] | ✔ | ✔ | The i th 8-bit word of the TCP payload | |||
tcp.Payload16[i] | ✔ | ✔ | The i th 16-bit word of the TCP payload | |||
tcp.Payload32[i] | ✔ | ✔ | The i th 32-bit word of the TCP payload | |||
udp.* | ✔ | ✔ | UDP fields (see WINDIVERT_UDPHDR ) | |||
udp.PayloadLength | ✔ | ✔ | The UDP payload length | |||
udp.Payload[i] | ✔ | ✔ | The i th 8-bit word of the UDP payload | |||
udp.Payload16[i] | ✔ | ✔ | The i th 16-bit word of the UDP payload | |||
udp.Payload32[i] | ✔ | ✔ | The i th 32-bit word of the UDP payload |
A test will also fails if the field is not relevant. For example, the test tcp.DstPort == 80 will fail if the packet does not contain a TCP header.
The processId field matches the ID of the process associated to an event. Due to technical limitations, this field is not supported by the WINDIVERT_LAYER_NETWORK* layers. That said, it is usually possible to associate process IDs to network packets matching the same network 5-tuple. Note that a fundamental race condition exists between the processId and the termination of the corresponding process, see the know issues listed below.
These fields can be used to match filters against the contents of packets/payloads in addition to address/header information. Words are assumed to be in network-byte ordering. If the index is out-of-bounds then the corresponding test is deemed to have failed.
The random* fields are not really random but use a deterministic hash value calculated using the WinDivertHelperHashPacket() function.
Macro | Layer | Value | ||||
---|---|---|---|---|---|---|
NETWORK | FORWARD | FLOW | SOCKET | REFLECT | ||
TRUE | ✔ | ✔ | ✔ | ✔ | ✔ | 1 |
FALSE | ✔ | ✔ | ✔ | ✔ | ✔ | 0 |
TCP | ✔ | ✔ | ✔ | ✔ | ✔ | IPPROTO_TCP ( 6 ) |
UDP | ✔ | ✔ | ✔ | ✔ | ✔ | IPPROTO_UDP ( 17 ) |
ICMP | ✔ | ✔ | ✔ | ✔ | ✔ | IPPROTO_ICMP ( 1 ) |
ICMPV6 | ✔ | ✔ | ✔ | ✔ | ✔ | IPPROTO_ICMPV6 ( 58 ) |
PACKET | ✔ | ✔ | WINDIVERT_EVENT_NETWORK_PACKET | |||
ESTABLISHED | ✔ | WINDIVERT_EVENT_FLOW_ESTABLISHED | ||||
DELETED | ✔ | WINDIVERT_EVENT_FLOW_DELETED | ||||
BIND | ✔ | WINDIVERT_EVENT_SOCKET_BIND | ||||
CONNECT | ✔ | WINDIVERT_EVENT_SOCKET_CONNECT | ||||
ACCEPT | ✔ | WINDIVERT_EVENT_SOCKET_ACCEPT | ||||
LISTEN | ✔ | WINDIVERT_EVENT_SOCKET_LISTEN | ||||
OPEN | ✔ | WINDIVERT_EVENT_REFLECT_OPEN | ||||
CLOSE | ✔ | ✔ | WINDIVERT_EVENT_SOCKET_CLOSE for the SOCKET layer, or WINDIVERT_EVENT_REFLECT_CLOSE for the REFLECT layer. | |||
NETWORK | ✔ | WINDIVERT_LAYER_NETWORK | ||||
NETWORK_FORWARD | ✔ | WINDIVERT_LAYER_NETWORK_FORWARD | ||||
FLOW | ✔ | WINDIVERT_LAYER_FLOW | ||||
SOCKET | ✔ | WINDIVERT_LAYER_SOCKET | ||||
REFLECT | ✔ | WINDIVERT_LAYER_REFLECT |
7.1 Filter Examples
7.2 Filter Usage
The purpose of the filter is to help applications select the subset of all network traffic that the application is interested in. Ideally the filter should be
For some applications these two objectives can conflict. That is, a selective filter is not short, and a short filter is not selective. For such applications the developer should experiment with different filter configurations and carefully measure the performance impact to find the optimal solution.
8. Performance
Using WinDivert to redirect network traffic to/from a user application incurs performance overheads, such as copying packet data and user/kernel mode context switching. Under heavy load (≥1Gbps) these overheads can be significant. The following techniques can be used to reduce overheads (in order of importance):
The passthru.exe sample program can be used to experiment with different batch sizes and thread counts.
9. Samples
Some samples have been provided to demonstrate the WinDivert API. The sample programs are:
The samples are intended for educational purposes only, and are not fully-featured applications.
The following basic template for a WinDivert application using the WINDIVERT_LAYER_NETWORK layer. The basic idea is to open a WinDivert handle, then enter a capture-modify-reinject loop:
10. Known Issues
WinDivert has some known limitations listed below:
11. License
WinDivert is dual-licensed under your choice of either the GNU Lesser General Public License (LGPL) Version 3 or the GNU General Public License (GPL) Version 2. Please see the notices below:
- ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΈΡΠ»ΠΎΡΠ½ΡΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ no2
- Swapfile mac os ΡΡΠΎ