Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
296 changes: 296 additions & 0 deletions WinDivert 2 Error Fiexed/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,296 @@
** WinDivert 2 Error Fixed**
I managed to fix the WinDivert startup/interception issue on Windows, so here’s a clean troubleshooting path for anyone stuck with the driver showing `STOPPED` or traffic not being intercepted.

## Full WinDivert Reset + Reinstall Fix

### STEP 1 — Completely remove old WinDivert state

Run Terminal as Administrator:

```powershell
sc stop windivert
sc delete windivert
```

-optional if you run into any problem after doing all the steps:

Then manually remove leftovers:

```text
C:\Windows\System32\drivers\
```

Delete these if they exist:

```text
WinDivert.sys
WinDivert64.sys
```

Also remove old copies from the repo/application folder:

```text
WinDivert.dll
WinDivert.sys
WinDivert64.sys
```

The goal is a completely clean state before reinstalling.

---

## STEP 2 — Reinstall WinDivert properly

Download ONLY from the official source:

https://reqrypt.org/windivert.html

Use:

* latest stable WinDivert 2.x
* matching architecture (usually x64)\

Extract into a dedicated folder such as:

```text
C:\WinDivert\
```

Put only these files there:

```text
WinDivert.dll
WinDivert64.sys
WinDivert32.sys (optional)
```

Avoid scattering driver files into random folders or System32 manually.

---

## STEP 3 — Install and start the driver manually

Open Terminal as Administrator inside:

```text
C:\WinDivert\
```

Run:

```powershell
sc create windivert type= kernel binPath= C:\WinDivert\WinDivert64.sys
```

Then:

```powershell
sc start windivert
```

---

## STEP 4 — Verify driver state

Check:

```powershell
sc query windivert
```

Expected result:

```text
STATE : 4 RUNNING
```

If the driver still shows STOPPED or errors like:

* System error 577
* error 1058
* error 3

then Windows is likely blocking kernel driver loading.

Possible fixes:

* disable Core Isolation / Memory Integrity (i don't recommend do it with while you accept the full risks)
* verify Secure Boot restrictions  (i don't recommend do it with while you accept the full risks)
* try another WinDivert version compatible with your system

---

## STEP 5 — Confirm traffic interception

*Note: you may or may not need another VPN to test this, if you're in Iran but for users specifically in Iran Step 1~4 is enough

After WinDivert is RUNNING:

```powershell
netstat -ano | findstr :443
```

Generate HTTPS traffic(open a random site) in a browser and confirm the application is actually logging/capturing packets.

---

## Important note regarding this "method"

Even with WinDivert working correctly:

* modern TLS stacks may ignore SNI spoofing
* QUIC/HTTP3 (UDP/443) bypasses many TCP-only interception methods
* some endpoints reject mismatched TLS fingerprints/SNI combinations

so do it use this method accepting the full risk (which for IRAN is negligible comparing to.....)
----------------------------
*لطفا از نسخه انگلیسی استفاده کنید؛ این ترجمه گوگل است(همچنین فایل های مورد نیاز هم قرار دادم که واسه دانلود اذیت نشید)

**رفع خطای WinDivert 2**
من موفق شدم مشکل راه‌اندازی/قطع اتصال WinDivert را در ویندوز برطرف کنم، بنابراین در اینجا یک مسیر عیب‌یابی ساده برای هر کسی که با درایوری که عبارت «متوقف شده» را نشان می‌دهد یا ترافیک قطع نمی‌شود، گیر کرده است، آورده شده است.

## تنظیم مجدد کامل WinDivert + رفع مشکل نصب مجدد

### مرحله ۱ — حذف کامل وضعیت قدیمی WinDivert

اجرای ترمینال به عنوان مدیر:

```powershell
sc stop windivert
sc delete windivert
```

-اگر بعد از انجام تمام مراحل با مشکلی مواجه شدید، اختیاری است:

سپس موارد باقی مانده را به صورت دستی حذف کنید:

```text
C:\Windows\System32\drivers\
```

در صورت وجود، این موارد را حذف کنید:

```text
WinDivert.sys
WinDivert64.sys
```

همچنین نسخه‌های قدیمی را از پوشه repo/application حذف کنید:

```text
WinDivert.dll
WinDivert.sys
WinDivert64.sys
```

هدف، یک وضعیت کاملاً پاک قبل از نصب مجدد است.

---

## مرحله ۲ — نصب مجدد صحیح WinDivert

فقط از منبع رسمی دانلود کنید:

https://reqrypt.org/windivert.html

استفاده از:

* آخرین نسخه پایدار WinDivert 2.x
* معماری منطبق (معمولاً x64)\

در یک پوشه اختصاصی مانند:

```text
C:\WinDivert\
```

فقط این فایل‌ها را در آنجا قرار دهید:

```text
WinDivert.dll
WinDivert64.sys
WinDivert32.sys (اختیاری)
```

از پراکندگی فایل‌های درایور در پوشه‌های تصادفی یا System32 به صورت دستی خودداری کنید.

---

## مرحله ۳ — نصب و اجرای دستی درایور

ترمینال را به عنوان ادمین باز کنید:

```text
C:\WinDivert\
```

اجرا کنید:

```powershell
sc create windivert type= kernel binPath= C:\WinDivert\WinDivert64.sys
```

سپس:

```powershell
sc start windivert
```

---

## مرحله ۴ — بررسی وضعیت درایور

بررسی کنید:

```powershell
sc query windivert
```

نتیجه مورد انتظار:

```text
STATE : ۴ RUNNING
```

اگر درایور هنوز STOPPED یا خطاهایی مانند:

* خطای سیستم ۵۷۷
* خطای ۱۰۵۸
* خطای ۳

پس احتمالاً ویندوز بارگیری درایور هسته را مسدود می‌کند.

راه‌حل‌های ممکن:

* غیرفعال کردن جداسازی هسته / یکپارچگی حافظه (توصیه نمی‌کنم این کار را با پذیرش کامل خطرات انجام دهید)

* بررسی محدودیت‌های بوت امن (توصیه نمی‌کنم این کار را با پذیرش کامل خطرات انجام دهید)

* نسخه دیگری از WinDivert را که با سیستم شما سازگار است، امتحان کنید.

---

## مرحله ۵ - تأیید رهگیری ترافیک

* توجه: اگر در ایران هستید، ممکن است برای آزمایش این مورد به VPN دیگری نیاز داشته باشید یا نداشته باشید، اما برای کاربرانی که به طور خاص در ایران هستند، مراحل ۱ تا ۴ کافی است.

پس از اجرای WinDivert:

```powershell
netstat -ano | findstr :443
```

ترافیک HTTPS را در یک مرورگر ایجاد کنید (یک سایت تصادفی باز کنید) و تأیید کنید که برنامه در واقع در حال ثبت/ضبط بسته‌ها است.


---

## نکته مهم در مورد این "روش"

حتی با عملکرد صحیح WinDivert:

* پشته‌های TLS مدرن ممکن است جعل SNI را نادیده بگیرند.
* QUIC/HTTP3 (UDP/443) بسیاری از روش‌های رهگیری فقط TCP را دور می‌زند.
* برخی از نقاط پایانی، اثر انگشت‌های TLS/ترکیبات SNI نامتناسب را رد می‌کنند.

بنابراین، آیا از این روش با پذیرش ریسک کامل استفاده می‌کنید (که برای ایران در مقایسه با..... ناچیز است).
Binary file added WinDivert 2 Error Fiexed/WinDivert.dll
Binary file not shown.
Binary file added WinDivert 2 Error Fiexed/WinDivert32.sys
Binary file not shown.
Binary file added WinDivert 2 Error Fiexed/WinDivert64.sys
Binary file not shown.