HWID Activation


Note: HWID Activation is working again with a new method.

  • How to use it? Please find the instructions here.

  • This activation is supported for Windows 10/11 only.

  • This activation does not store or modify/patch any files in your system.

  • This activation is a permanent activation for your system Hardware.

  • On a system, this activation can be created for all the supported editions, and all can be linked to Microsoft account without any issues.

  • Once a system is activated, this activation cannot be removed because the license is stored in the Microsoft servers and not in the user’s system. MS checks the hardware ID (HWID) and if a license is found in their database, the system will automatically activate. This is how official digital license works.

  • Any significant changes in the Hardware (such as a motherboard) may deactivate the system. It is possible to reactivate a system that was deactivated because of significant hardware changes, IF your activation, was linked to an online Microsoft account.

  • For activation to succeed, internet connectivity must be enabled. If you are trying to activate without these conditions being met, then the system will auto-activate later when the conditions are met.

  • Auto activation scenario after the Windows re-install:

    • The Internet is required. (Only at the time of activation)

    • The system will auto-activate if Retail (Consumer) media was used for the installation.

    • The system will NOT auto-activate if VL (Business) media was used for the installation. In this case, the user will have to insert that windows edition Retail/OEM key (find keys below on this page) to activate, if the user doesn’t wish to activate again using this script.

HWID History

How does it work?

HWID 1 (Now defunct) (Summer of 2018 - Sep 26 2023)

  • In the official upgrade process from Windows 7 to Windows 10, Microsoft provided an HWID (digital license) activation for Windows 10 without any cost.

  • In the background, the upgrade process runs a file named gatherosstate.exe (available in Windows 10/11 ISO) and it checks the license of current Windows if found activated, it generates a valid GenuineTicket.xml ticket which is sent to Microsoft and in return, MS authorizes a license.

  • So if we just convince the gatherosstate.exe file that the conditions are met for ticket generation by fooling it, it will generate a valid ticket, which can be used to get the valid HWID (Digital license).

  • How to convince the gatherosstate.exe?
    There are two methods for it.

    1- Place a custom slc.dll file beside gatherosstate.exe:
    gatherosstate.exe uses the system's C:\Windows\System32\slc.dll file to gather the system's info. If we place a custom slc.dll file beside gatherosstate.exe which can send the rubbish data to it, then it will simply accept it and generate a valid ticket.

    2- Modify the gatherosstate.exe file itself so that it doesn't check the system's activation status and can directly create a valid ticket.

  • You can find working of this old method here MAS-Legacy-Methods.

  • Microsoft made server side changes to to block the free upgrade and with that server side change, this method stopped working. To be clear, only new activation requests coming from new hardware was blocked, already established HWID are fine.

HWID 2 (Currently working) (03 Oct 2023 - Current)

  • When Microsoft stopped the free upgrade, it started requiring Genuine valid key in ticket to authorize a digital license. In the new method we used only the Installation ID of a genuine, valid key. This gets accepted by the server and allows us to get a digital license for free. Check manual activation process in below section to know how to make working universal tickets.

Now a question, can Microsoft block the new requests or revoke already established HWID license?

  • Revoking the license would be too extreme and will face many complications and risk of voiding valid licenses. However they can block the new activation requests for new hardware coming from the methods mentioned here.

Supported Products

Windows 10/11 Generic Retail/OEM/MAK Key
Enterprise XGVPP-NMH47-7TTHJ-W3FW7-8HV2C
Enterprise LTSB 2015 FWN7H-PF93Q-4GGP8-M8RF3-MDWWW
Enterprise LTSB 2016 NK96Y-D9CD8-W44CQ-R8YTK-DYJWX
Enterprise LTSC 2019 43TBQ-NH92J-XKTM7-KT3KK-P39PB
Enterprise N LTSB 2015 NTX6B-BRYC2-K6786-F6MVQ-M7V2X
Enterprise N LTSB 2016 2DBW3-N2PJG-MVHW3-G7TDK-9HKR4
Home China N2434-X9D7W-8PF6X-8DV9T-8TYMD
Home Single Language BT79Q-G7N6G-PGBYW-4YWX6-6F4BT
IoT Enterprise LTSC 2021 QPM6N-7J2WJ-P88HH-P3YRH-YY74H
IoT Enterprise LTSC 2024 CGK42-GYN6Y-VD22B-BX98W-J8JXD
IoT Enterprise LTSC Subscription 2024 J7NJW-V6KBM-CC8RW-Y29Y4-HQ2MJ
Pro Education 8PTT6-RNW4C-6V7J2-C2D3X-MHBPB
Pro for Workstations DXG7C-N36C4-C4HTG-X4T3X-2YV77
Pro N for Workstations WYPNQ-8C467-V2W6J-TX4WX-WT2RQ
S N NH9J3-68WK7-6FB93-4K3DF-DJ4F6


  • X86-X64 and ARM64 architecture systems are supported.

  • Any Evaluation version of Windows (i.e. ‘EVAL’ LTSB/C) cannot be activated.

  • IoTEnterpriseS (LTSC) 2021 key will be used to activate the unsupported EnterpriseS (LTSC) 2021 edition.

  • Windows Server does not support HWID activation.

  • ServerRdsh edition does not officially support activation on non-azure systems.

How to remove HWID?

  • You can not remove it, same as you can not remove official Windows digital (HWID) license. Once a system is activated, this activation cannot be removed because the license is stored in the Microsoft servers and not in the user’s system. MS checks the hardware ID (HWID) and if a license is found in their database, the system will automatically activate.

Command line Switches

Manual Activation

This is for those who wants to perform manual activation. If you want a tool to do this for you then check here.

We can divide the manual activation process into two parts.

1- From Ready-Made Ticket

  • Make sure the Internet is enabled.

  • Open Windows Powershell as administrator, and enter the following listed commands in the sequence in which they are given.

  • Enter the Key, (Replace <key> with the key from the above list) with the following command

slmgr /ipk <key>

  • Download Universal tickets from here and extract the downloaded file.

  • Now enter below code in Powershell

(Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\ProductOptions).OSProductPfn

  • This command will you show you some text like Microsoft.Windows.48.X19-98841_8wekyb3d8bbwe

  • You need to find the exact same name ticket file in the folder which you have extracted earlier.

  • Copy that ticket file and paste it in the below folder


  • Now run below command in Powershell to apply the ticket

clipup -v -o

  • Activate Windows with the following command

slmgr /ato

  • Check Activation Status with the following command

slmgr /xpr

  • Done.

2- From Scratch

In this process we will perform activation from scratch. This is based on Universal ticket method. Here we will create identical tickets which are used in MAS HWID script and activate the system with it.

slmgr /ipk <key>

  • Copy the below code all at once and enter it in PowerShell to modify the gatherosstate.exe file. This code to modify the file is based on GamersOsState.
$bytes  = [System.IO.File]::ReadAllBytes("C:\Files\gatherosstate.exe")
$bytes[320] = 0xf8
$bytes[321] = 0xfb
$bytes[322] = 0x05
$bytes[324] = 0x03
$bytes[13672] = 0x25
$bytes[13674] = 0x73
$bytes[13676] = 0x3b
$bytes[13678] = 0x00
$bytes[13680] = 0x00
$bytes[13682] = 0x00
$bytes[13684] = 0x00
$bytes[32748] = 0xe9
$bytes[32749] = 0x9e
$bytes[32750] = 0x00
$bytes[32751] = 0x00
$bytes[32752] = 0x00
$bytes[32894] = 0x8b
$bytes[32895] = 0x44
$bytes[32897] = 0x64
$bytes[32898] = 0x85
$bytes[32899] = 0xc0
$bytes[32900] = 0x0f
$bytes[32901] = 0x85
$bytes[32902] = 0x1c
$bytes[32903] = 0x02
$bytes[32904] = 0x00
$bytes[32906] = 0xe9
$bytes[32907] = 0x3c
$bytes[32908] = 0x01
$bytes[32909] = 0x00
$bytes[32910] = 0x00
$bytes[32911] = 0x85
$bytes[32912] = 0xdb
$bytes[32913] = 0x75
$bytes[32914] = 0xeb
$bytes[32915] = 0xe9
$bytes[32916] = 0x69
$bytes[32917] = 0xff
$bytes[32918] = 0xff
$bytes[32919] = 0xff
$bytes[33094] = 0xe9
$bytes[33095] = 0x80
$bytes[33096] = 0x00
$bytes[33097] = 0x00
$bytes[33098] = 0x00
$bytes[33449] = 0x64
$bytes[33576] = 0x8d
$bytes[33577] = 0x54
$bytes[33579] = 0x24
$bytes[33580] = 0xe9
$bytes[33581] = 0x55
$bytes[33582] = 0x01
$bytes[33583] = 0x00
$bytes[33584] = 0x00
$bytes[33978] = 0xc3
$bytes[34189] = 0x59
$bytes[34190] = 0xeb
$bytes[34191] = 0x28
$bytes[34238] = 0xe9
$bytes[34239] = 0x4f
$bytes[34240] = 0x00
$bytes[34241] = 0x00
$bytes[34242] = 0x00
$bytes[34346] = 0x24
$bytes[34376] = 0xeb
$bytes[34377] = 0x63
[System.IO.File]::WriteAllBytes("C:\Files\gatherosstatemodified.exe", $bytes)
  • Now right click on the file gatherosstatemodified.exe and goto properties and set the compatibility to Windows XP SP3.
  • Now we need to generate the ticket, to do that, enter the below command.
$value = (Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\ProductOptions).OSProductPfn

C:\Files\gatherosstatemodified.exe /c Pfn=$value`;PKeyIID=465145217131314304264339481117862266242033457260311819664735280
  • A GenuineTicket.xml file should be created in the folder C:\Files\ now let’s apply it.

clipup -v -o -altto C:\Files\

  • Activate Windows with the following command

slmgr /ato

  • Check Activation Status with the following command

slmgr /xpr

  • Done.


  • If the system is already activated then created ticket will be a Lockbox ticket and if not then it will be a Downlevel ticket.

  • To make the exact ticket used in MAS HWID script, make sure system is already activated and fix the time with below Powershell command and then initiate the ticket generation process as per above mentioned steps.
    Set-TimeZone -Id "UTC"; $date=[datetime]"2022/10/11 12:00";while($true){set-date $date; start-sleep -milliseconds 10}

Setup Preactivate

  • Check the Extract OEM option in the MAS Extras section if you want pre-activated Windows installation.

  • Further, read here.