یکی از روش های غیرقانونی فعالسازی ویندوز، روش KMS38 هستش که توسط Massgrave توسعه داده میشه.
مایکروسافت در بروزرسانی های اکتبر و نوامبر 2025، با تغییراتی که در ویندوز ایجاد کرده، باعث از کار افتادن این روش شده. در این پست نگاهی به این روش و تغییرات جدید انداختیم.
Volume License چیست:
این نوع لایسنس برای سازمانها و شرکتهایی طراحی شده که تعداد زیادی کامپیوتر یا سرور دارن. بجای خرید لایسنسهای جداگانه بصورت خرده فروشی (Retail)، برای هر دستگاه، یک قرارداد Volume License واحد خریداری میشه. Volume Activation به مشتریان اجازه میده تا فرآیند فعالسازی رو بصورت خودکار و شفاف، برای کاربران نهایی انجام بده.
KMS چیست:
Key Management Service (KMS) یک روش فعالسازی مجاز توسط مایکروسافت است که در برنامه Volume Licensing قرار میگیره. این سرویس به سازمانها اجازه میده تا محصولات مایکروسافت (مانند ویندوز و آفیس) رو در شبکه داخلی خودشون فعال کنن، بدون نیاز به اتصال تک تک دستگاهها به سرورهای فعالسازی مایکروسافت.
نحوه کار KMS به این صورت است:
- KMS Host: یک کامپیوتر در شبکه سازمان بعنوان هاست KMS پیکربندی میشه. این هاست با استفاده از یک کلید هاست KMS (KMS Host Key) که از مرکز مدیریت Microsoft 365 (یا منابع دیگه) دریافت شده، توسط مایکروسافت فعال میشه.
- KMS Client: دستگاههایی که نیاز به فعالسازی دارن (کلاینتها) بطور پیش فرض دارای Generic Volume License Key یا GVLK هستن. این کلید به سیستم میگه که به دنبال یک سرور KMS برای فعالسازی بگرده.
- فعالسازی: کلاینت KMS بطور دورهای (معمولا هر 7 روز) با هاست KMS تماس میگیره تا فعالسازی رو درخواست کنه.
- مدت فعالسازی: پس از فعالسازی موفقیت آمیز، کلاینت به مدت 180 روز در وضعیت مجاز باقی میمونه. کلاینت تلاش میکنه تا فعالسازی خودش رو قبل از انقضای این دوره (معمولا هر 7 روز) تمدید کنه. اگه تمدید مداوم موفقیت آمیز باشه، کلاینت فعاله، در غیر اینصورت کلاینت غیرفعال میشه و یسری محدودیت مانند نمایش واترمارک و غیرفعال شدن تنطیمات شخصی سازی و … اعمال میشه.
برای اینکه بتونیم اطلاعات لایسنس سیستم عامل خودمون رو مشاهده کنیم، میتونیم از دستور زیر استفاده کنیم:
|
1 |
slmgr.vbs /dli |
این دستور، Display License Information = dli، اطلاعات مفیدی درباره لایسنس فعلی فعال روی سیستم عامل ویندوز (یا آفیس) رو نمایش میده. خروجی این دستور که در یک پنجره جداگانه نمایش داده میشه، در سیستم تست من، بصورت زیر است:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Name: Windows(R), Professional edition Description: Windows(R) Operating System, VOLUME_KMSCLIENT channel Partial Product Key: T83GX License Status: Licensed Volume activation expiration: 6398600 minute(s) (4444 day(s)) Configured Activation Type: All Most recent activation information: Key Management Service client information Client Machine ID (CMID): 83890d-b6ca-49c0-96b7-fdf69aa56b Registered KMS machine name: 12.34.56.78:1833 KMS machine IP address: not available KMS machine extended PID: Activation interval: 120 minutes Renewal interval: 10080 minutes KMS host caching is enabled |
موارد مهم:
- NAME: مشخص کننده، نام سیستم عامل، که اینجا Windows(R), Professional edition است.
- Description: توضیحی در خصوص نسخه ویندوز و نوع لایسنس ارائه میده. عبارت VOLUME_KMSCLIENT channel نشون دهنده ی این است که این سیستم از طریق KMS فعال شده.
- Partial Product Key: نشون دهنده ی 5 کاراکتر آخر کلید فعالسازی یا همون GVLK است. در مثال مقدارش برابر T83GX است. برای اینکه بتونیم، مقدار کامل رو مشاهده کنیم، وارد سایت مایکروسافت میشیم. اگه این 5 کاراکتر رو سرچ کنیم به کلید زیر میرسیم، که نشون میده برای ویندوز10/11 نسخه ی Pro هستش:
|
1 |
W269N-WFGWX-YVC9B-4J6C9-T83GX |
- License Status: وضعیت فعال بودن رو نشون میده.
- Volume activation expiration: زمان انقضای Volume activation رو نشون میده. تا ۱۹ ژانویه ۲۰۳۸ فعال است.
- Registered KMS machine name: آدرس IP هاست KMS.
- Activation interval: نشون میده کلاینت اگه فعال نباشه، هر چند وقت یکبار دنبال هاست KMS بگرده. که اینجا مقدارش برابر 120 دقیقه یا 2 ساعت است.
- Renewal interval: نشون میده کلاینت اگه فعال باشه، هر چند وقت یکبار باید لایسنس رو تمدید کنه. مقدارش برابر 10080 دقیقه یا 7 روز است.
فایل gatherosstate.exe:
gatherosstate.exe یا Gather Downlevel OS Activation State، یک فایل اجرایی رسمی مایکروسافت است که بطور معمول در فرآیند ارتقاء سیستم عامل استفاده میشه. وظیفه اصلیش جمعآوری اطلاعات در مورد وضعیت فعالسازی فعلی سیستم عاملِ ، مثلا فعالسازی KMS و مدت زمان باقی مانده و … .
با اجرای این فایل، یک فایل بنام GenuineTicket.xml ایجاد میشه که حاوی اطلاعات فعالسازی است. این مکانیزم به سیستم اجازه میده تا لایسنس رو در طول ارتقاء، مثلا از ویندوز 10 به 11، به سیستم عامل جدید منتقل کنه و وضعیت فعالسازی رو حفظ کنه، که به اون CLIP-based KMS license migration هم میگن.
مثلا فرض کنید شما از روش KMS استفاده کردید و 100 روز از لایسنس، باقی مونده. سیستم عامل رو از ویندوز 10 به 11 ارتقاء میدید، برای اینکه اون 100 روز باقی مونده، نسوزه، این اجرایی اجرا و GenuineTicket.xml تولید و به ویندوز 11 انتقال میده. ویندوز 11 با خوندن این فایل، متوجه میشه که 100 روز از لایسنس مونده.
gatherosstate.exe در فایل ISO یا DVD نصب ویندوز و در قسمت sources هستش: (از گیتهاب هم میتونید دانلود کنید)

این فایل رو در مسیر دسکتاپ یا جایی که امکان نوشتن وجود داره، کپی و اجرا کنید. با اجراش، فایل GenuineTicket.xml ساخته میشه:

محتوای این فایل بصورت زیر (نسخه ی کوتاه شده): (برای نمایش در فرمت بهتر متونید از سایتهایی مانند onlineviewer استفاده کنید.)
|
1 2 3 4 5 6 7 8 9 10 11 |
<?xml version="1.0" encoding="utf-8"?> <genuineAuthorization xmlns="http://www.microsoft.com/DRM/SL/GenuineAuthorization/1.0"> <version>1.0</version> <genuineProperties origin="sppclient"> <properties>OA3xOriginalProductId=;OA3xOriginalProductKey=;SessionId=AHcAbgBsAGUAd...AAAA=;TimeStampClient=2025-11-19T16:42:30Z</properties> <signatures> <signature name="clientLockboxKey" method="rsa-sha256">uODJ2thqtc...pDvxl8=</signature> </signatures> </genuineProperties> </genuineAuthorization> |
همونطور که مشاهده میکنید، بخشی از مقادیر، رمز شدن. برای دیکد کردن باید از Base64 و فرمت UCS-2LE استفاده کنیم. برای ای منظور میتوانیم از پایتون یا ابزارهای آنلاین استفاده کنیم. در این آموزش من از سایت base64decode استفاده کردم. توجه داشته باشید که Source character set رو روی UCS-2LE تنظیم کنید:

همانطور که مشاهده میکنید، اطلاعات مختلفی وجود داره، مثلا یکی از موارد تاریخ انقضای فعالسازی است که با مقدار 19-01-2038 مشخص شده.
سرویس Client License Service (ClipSVC):
سرویس Client License Service (ClipSVC) یک سرویس ویندوزی است که در سیستم عاملهای ویندوز ۱۰ و ۱۱ وجود داره. این سرویس زیرساخت لازم برای مدیریت لایسنسها و فعالسازی برنامههای خریداری شده از استور مایکروسافت رو فراهم میکنه. بعبارت سادهتر، ClipSVC به برنامههای استور کمک میکنه تا لایسنسهای دیجیتالی خودشون رو بررسی و اعمال کنن و بدون اون، اپلیکیشنهای استور ممکنِ به درستی کار نکنن یا اصلا باز نشن.
این سرویس بصورت اشتراکی توسط پروسس svchost.exe بعنوان LocalSystem و بصورت زیر اجرا میشه:
|
1 |
svchost.exe -k wsappx -p |
wsappx یک Service Host Group است یعنی یک مجموعه از سرویسهای مرتبط با Windows Store. گروه wsappx شامل این سرویسهاست:
- سرویس ClipSVC: مدیریت لایسنس UWP + فعالسازی دیجیتال
- AppXSVC (AppX Deployment Service): نصب و آپدیت اپهای Store
- WSService (Windows Store Service): مدیریت Store
وقتی ویندوز میخواد این سرویسها رو اجرا کنه، برای کاهش تعداد پروسسها، اونارو توسط Svchost در یک پروسس مشترک اجرا میکنه. در خصوص ClipSVC، فایل زیر اجرا میشه:
|
1 |
%WinDir%\System32\ClipSVC.dll |
در فرایند فعالسازی با KMS، سرویس ClipSVC، فایل GenuineTicket.xml رو در مسیر زیر جستجو میکنه:
|
1 |
C:\ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket |
در ادامه ClipSVC اون فایل رو خونده، امضای دیجیتال اون رو تأیید میکنه، دادههای لایسنس (Clip) رو ازش استخراج و بعدش لایسنس رو در دیتابیس لایسنسهای محافظت شده سیستم (Clip Store یا Protected License Store) اعمال میکنه تا ویندوز فعال بشه.
KMS38 چیست؟
KMS38 یک روش غیرقانونی برای فعالسازی ویندوز است که توسط Massgrave و در قالب اسکریپتی بنام MAS (Microsoft Activation Scripts) ارایه شده.
تکنیکی که این روش استفاده میکنه بصورت کلی بدین شکلِ که در فرایند قانونی، gatherosstate.exe اجرا میشه و فایل GenuineTicket.xml ساخته میشه که مقدار GVLKExp در اون برابر 180 روز است. KMS38 کاری که میکنه، مقدار GVLKExp رو از 180 روز به 19 ژانویه 2038 تغییر میده. بنابراین در صورت بررسی و تایید این فایل، سیستم تا 2038 فعاله . بدلیل همین 2038، اسمش رو هم گذاشتن KMS38.
حالا چرا 19 ژانویه 2038؟
چون مقدار زمان (timestamp) در این ساختار لایسنس بصورت عدد صحیح 32 بیتی علامتدار (signed 32-bit integer) و در فرمت Unix Epoch Time نگهداری میشه. یعنی زمان بصورت تعداد ثانیهها از 1 ژانویه 1970 محاسبه و در یک متغیر از نوع عدد صحیح 32 بیتی علامت دار ذخیره میشه. با توجه به اینکه محدوده ی عدد صحیح 32 بیتی علامتدار از 2147483648- تا 2147483647 هستش، بنابراین اگه بیشترین مقدار یعنی 2147483647 رو بعنوان تاریخ انقضا لایسنس در نظر بگیریم، با استفاده از سایت Epochconverter، این مقدار رو به تاریخ قابل درک توسط انسان، تبدیل کنیم، 19 ژانویه 2038 بدست میاد.

عملکرد مایکروسافت برای از کار انداختن KMS38:
از بیلد 26040 (ژانویه 2024) به بعد مایکروسافت فایل gatherosstate.exe رو از ISO حذف کرد. در نتیجه، بعد از هر ارتقای نسخه یا ارتقاء بصورت درجا (in-place upgrade)، دوره ی مهلت KMS دیگه منتقل نمیشه و همیشه به صفر ریست میشه و سیستم باید دوباره به سرور KMS وصل بشه تا بتونه فعالسازی رو تمدید کنه.
بعد از بروزرسانی اکتبر 2025، از بیلد 26100.7019، مایکروسافت قابلیت CLIP-based KMS license migration رو منسوخ و در نتیجه دیگه KMS38 روی نسخه های جدید کار نمیکنه.
تیم Massgrave در اسکریپت MAS، بخش KMS38 رو حذف کرده. ولی اگه از نسخه های قدیمی ویندوز استفاده میکنید، این تکنیک همچنان کار میکنه که میتونید از اینجا، بهش دسترسی داشته باشید.
تکنیکهای دیگه فعالسازی:
علاوه بر KMS38 و روشهای قانونی، روشهای دیگه ای برای فعال سازی وجود داره، از جمله:
- HWID (Hardware ID Based Digital License): یک روش فعالسازی رسمی و دائمی برای ویندوز ۱۰ و ۱۱ است که در MAS گنجانده شده. این روش، لایسنس دیجیتال رو به شناسه سختافزاری دستگاه متصل میکنه. مایکروسافت HWID رو در سرورهای خودش بررسی میکنه و اگه لایسنس معتبر باشه، سیستم بطور خودکار فعال میشه. در اسکریپت MAS، از Microsoft Activation API استفاده شده.
- TSforge: یک روش پیشرفته و چندمنظوره فعالسازی دائمی است که در MAS برای جبران محدودیتهای روشهای قدیمی مانند KMS38 طراحی شده. این ابزار با دستکاری مستقیم “Trusted Store” (ذخیره فیزیکی لایسنس در Software Protection Platform یا SPP مایکروسافت) کار میکنه و دادههای جعلی معتبر رو تزریق میکنه تا SPP لایسنس رو بعنوان لایسنس واقعی قبول کنه. TSforge شامل الگوریتمهایی مانند ZeroCID (حذف CID برای فعالسازی نامحدود)، KMS4k (توسعه یافته ی KMS) و گزینههای دیگه است.
برای اینکه بسته به شرایط و نسخه ای که دارید، بهترین گزینه رو انتخاب کنید، میتونید از جداول زیر استفاده کنید.
جدول زیر قابلیتهای پایه ی ای روشهای مختلف فعالسازی رو مشخص میکنه:
| مورد | HWID | Ohook | Online KMS | ZeroCID1 | StaticCID1 | KMS4k1 |
|---|---|---|---|---|---|---|
| کارکرد آفلاین | ❌ | ✅ | ❌ | ✅ | ❌ | ✅ |
| فعالسازی دائمی است | ✅ | ✅ | ✅2 | ✅ | ✅ | ✅3 |
| بدون باقی گذاشتن فایل در سیستم | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
جدول زیر هم، ماندگاری فعالسازی رو برای هر روش مشخص میکنه:
| مورد | HWID | Ohook | Online KMS | ZeroCID1 | StaticCID1 | KMS4k1 |
|---|---|---|---|---|---|---|
| بعد از تغییر سخت افزار، باقی میمونه. | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ |
| بعد از پاک کردن و نصب مجدد روی همان سختافزار باقی میمونه. | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| بعد از ارتقاء نسخه های ویندوز 10 / 11 باقی میمونه | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
جدول زیر هم پشتیبانی سیستمها از هر روش رو نشون میده:
| HWID | Ohook | Online KMS | ZeroCID1 | StaticCID1 | KMS4k1 | |
|---|---|---|---|---|---|---|
| Windows Vista / 7 | ❌ | ❌ | ✅4 | ✅ | ❌ | ✅4 |
| Windows 8 / 8.1 | ❌ | ❌ | ✅4 | ✅ | ✅ | ✅4 |
| Windows 10 / 11 | ✅ | ❌ | ✅4 | ✅ | ✅ | ✅4 |
| Windows 11 (26100.4188 and later) | ✅ | ❌ | ✅4 | ❌ | ✅ | ✅4 |
| Windows Server 2008 / 2008 R2 | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ |
| Windows Server 2012 / 2012 R2 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| Windows Server 2016 and later | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| Office 2010 | ❌ | ✅ | ✅4 | ❌ | ❌ | ❌ |
| Office 2013 and later | ❌ | ✅ | ✅4 | ✅5 | ✅5 | ✅4 5 |
| Windows / Office KMS Host | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
| Windows Extended Security Updates | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
| OCUR / RP / APPXLOB addons | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
- 1: این موارد توسط TSforge ارائه میشه.
- 2: پیش فرض ۱۸۰ روز معتبر است. با تمدید، دائمی میشه.
- 3: تا سال ۴۰۸۳ فعال میکنه.
- 4: فقط نسخه های Volume activation-capable رو پشتیبانی میکنه.
- 5: فقط در ویندوز ۸ و بعد از اون پشتیبانی میشه. نسخههای Subscription پشتیبانی نمیشن.