1.7
This commit is contained in:
188
_site/hwid.html
188
_site/hwid.html
@ -327,6 +327,9 @@ div.tocify {
|
||||
<li>
|
||||
<a href="troubleshoot.html">Troubleshoot</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="genuine-installation-media.html">Download Windows/Office</a>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Docs
|
||||
@ -344,6 +347,10 @@ div.tocify {
|
||||
<a href="online_kms.html">Online KMS Activation</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="command_line_switches.html">Command Line Switches</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="check_activation_status.html">Check Activation Status</a>
|
||||
</li>
|
||||
@ -363,11 +370,11 @@ div.tocify {
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="genuine-installation-media.html">Download Genuine Installation Media</a>
|
||||
<a href="office-license-is-not-genuine.html">Office License Is Not Genuine</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="office-license-is-not-genuine.html">Office License Is Not Genuine</a>
|
||||
<a href="unsupported_products_activation.html">Unsupported Products Activation</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
@ -448,26 +455,51 @@ without any cost.</p></li>
|
||||
Windows if found activated, it generates a valid GenuineTicket.xml which
|
||||
is sent to Microsoft and in return, MS authorizes a license.</p></li>
|
||||
<li><p>So if we just convince the <code>gatherosstate.exe</code> file
|
||||
that the system is activated by fooling it, it will generate a valid
|
||||
ticket, which can be used to get the valid HWID (Digital license). The
|
||||
script here does exactly that to get the activation for free without any
|
||||
upgrade process.</p></li>
|
||||
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). The script here does exactly that to get the
|
||||
activation for free without any upgrade process.</p></li>
|
||||
</ul>
|
||||
<p>Now a question, can Microsoft differentiate counterfeit tickets and
|
||||
block the license?</p>
|
||||
<hr />
|
||||
</div>
|
||||
<div id="types-of-tickets" class="section level2">
|
||||
<h2>Types of Tickets</h2>
|
||||
<p>There are many methods for ticket generation, however we can classify
|
||||
the ticket types in 3 categories.</p>
|
||||
<ol style="list-style-type: decimal">
|
||||
<li><p><strong>Downlevel Ticket</strong> - This is the simplest ticket
|
||||
generation process. In this method, ticket is signed by downlevel key by
|
||||
the system and the ticket’s OSVersion is 10. If it’s generated on
|
||||
Windows 10/11 then MS ideally aren’t supposed to grant activation,
|
||||
however they do and method is continuously working from last 4-5 years.
|
||||
Almost every HWID activator (at the time of writing this) is based on
|
||||
this method.</p></li>
|
||||
<li><p><strong>Lockbox Ticket</strong> - This is slightly a trickier
|
||||
method. The ticket is signed by Lockbox key by the system and the
|
||||
ticket’s OSVersion is 10. This ticket generation process involves
|
||||
cleaning Clipsvc licenses and IdentityCRL registry key in the system.
|
||||
Due to some hiccups in the process, this method is not primarily used in
|
||||
MAS, however these are the types of tickets that are identical to the
|
||||
genuine ticket generated by system on activated Windows 10/11.</p></li>
|
||||
<li><p><strong>Universal Ticket</strong> - In this method, we set the
|
||||
OSVersion =<5 in the ticket and when we apply the ticket, system
|
||||
ignores the HWID in the ticket due to lower OSVersion and grant the
|
||||
activation anyway. This ticket can be applied on any system. These
|
||||
tickets can either be Downlevel or Lockbox type. MS ideally aren’t
|
||||
supposed to grant activation, however they do.</p></li>
|
||||
</ol>
|
||||
<p>Latest version of MAS is using Universal ticket method. Other ticket
|
||||
method scripts can be found in this repo <a
|
||||
href="https://github.com/massgravel/MAS-Legacy-Methods">MAS-Legacy-Methods</a></p>
|
||||
<p>Now a question, can Microsoft block the new requests or revoke
|
||||
already established HWID license?</p>
|
||||
<ul>
|
||||
<li>Umm.. Yes, but actually no. The signature type can (sort of) be used
|
||||
to determine what utility is responsible for the ticket. There is no way
|
||||
(in a standard environment) for a non-activated Windows 10 installation
|
||||
to generate a ticket. In the normal process, gatherosstate will ask SLC
|
||||
for the entire ticket, but when this fails it will generate and sign it
|
||||
by itself, creating a “downlevelGTkey” signature. For every activated
|
||||
system, a generated ticket will be returned by SLC and thus will have a
|
||||
“clientLockboxKey” signature. Put simply, the signature (should) always
|
||||
be a “clientLockboxKey” one in the case of an activated system, but in
|
||||
this case, it isn’t. Microsoft will not take action against it, because
|
||||
of the risk of voiding valid licenses. Besides, they never really cared
|
||||
for consumer piracy; That’s not where they get the most money from.</li>
|
||||
<li>Revoking the license would be insane and will face many
|
||||
complications and risk of voiding valid licenses. However maybe they can
|
||||
block the new activation requests coming from Downlevel and Universal
|
||||
tickets. But the tools are working from 4-5 years and they don’t seem to
|
||||
care much for consumer piracy; That’s not where they get the most money
|
||||
from.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
@ -542,46 +574,50 @@ for consumer piracy; That’s not where they get the most money from.</li>
|
||||
<td align="left"><code>QPM6N-7J2WJ-P88HH-P3YRH-YY74H</code></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left">IoT Enterprise LTSC Subscription</td>
|
||||
<td align="left"><code>J7NJW-V6KBM-CC8RW-Y29Y4-HQ2MJ</code></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left">Pro</td>
|
||||
<td align="left"><code>VK7JG-NPHTM-C97JM-9MPGT-3V66T</code></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<tr class="even">
|
||||
<td align="left">Pro N</td>
|
||||
<td align="left"><code>2B87N-8KFHP-DKV6R-Y2C8J-PKCKT</code></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<tr class="odd">
|
||||
<td align="left">Pro Education</td>
|
||||
<td align="left"><code>8PTT6-RNW4C-6V7J2-C2D3X-MHBPB</code></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<tr class="even">
|
||||
<td align="left">Pro Education N</td>
|
||||
<td align="left"><code>GJTYN-HDMQY-FRR76-HVGC7-QPF8P</code></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<tr class="odd">
|
||||
<td align="left">Pro for Workstations</td>
|
||||
<td align="left"><code>DXG7C-N36C4-C4HTG-X4T3X-2YV77</code></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<tr class="even">
|
||||
<td align="left">Pro N for Workstations</td>
|
||||
<td align="left"><code>WYPNQ-8C467-V2W6J-TX4WX-WT2RQ</code></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<tr class="odd">
|
||||
<td align="left">S</td>
|
||||
<td align="left"><code>V3WVW-N2PV2-CGWC3-34QGF-VMJ2C</code></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<tr class="even">
|
||||
<td align="left">S N</td>
|
||||
<td align="left"><code>NH9J3-68WK7-6FB93-4K3DF-DJ4F6</code></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<tr class="odd">
|
||||
<td align="left">SE</td>
|
||||
<td align="left"><code>K9VKN-3BGWV-Y624W-MCRMQ-BHDCD</code></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<tr class="even">
|
||||
<td align="left">SE N</td>
|
||||
<td align="left"><code>KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W</code></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<tr class="odd">
|
||||
<td align="left">Team</td>
|
||||
<td align="left"><code>XKCNC-J26Q9-KFHD2-FKTHY-KD72Y</code></td>
|
||||
</tr>
|
||||
@ -601,75 +637,28 @@ support activation on non-azure systems.</p></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div id="downlevel-lockbox-ticket" class="section level2">
|
||||
<h2>Downlevel & Lockbox Ticket</h2>
|
||||
<p>Downlevel = downlevelGTkey</p>
|
||||
<p>Lockbox = clientLockboxKey</p>
|
||||
<ul>
|
||||
<li><p>Downlevel Method: It creates a downlevelGTkey ticket for
|
||||
activation with the simplest process.</p></li>
|
||||
<li><p>LockBox Method: It creates a clientLockboxKey ticket which better
|
||||
mimics genuine activation, But requires more steps such as,</p>
|
||||
<ul>
|
||||
<li><p>Cleaning ClipSVC licenses</p></li>
|
||||
<li><p>Deleting a volatile and protected registry key by taking
|
||||
ownership<br />
|
||||
<code>HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState</code></p></li>
|
||||
<li><p>System may need a restart for successful activation</p></li>
|
||||
<li><p>Microsoft Account and Store Apps may need relogin-restart in the
|
||||
system</p></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<p><strong>Notes:</strong></p>
|
||||
<ul>
|
||||
<li><p>We don’t suggest running the Lockbox method on a production
|
||||
system. Hence by default script will choose the Downlevel method and
|
||||
won’t show you the option to select the Lockbox method. However, if you
|
||||
want, you can apply it through command line switches.</p></li>
|
||||
<li><p>Microsoft accepts both types of tickets and that’s unlikely to
|
||||
change.</p></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div id="command-line-switches" class="section level2">
|
||||
<h2>Command line Switches</h2>
|
||||
<ul>
|
||||
<li><p>This is applicable only in separate files versions.</p></li>
|
||||
<li><p>If any parameter is used then the script will automatically run
|
||||
in unattended mode.</p></li>
|
||||
<li><p>To activate with the Downlevel method (default),</p></li>
|
||||
<li>Check <a
|
||||
href="https://massgrave.dev/command_line_switches.html">here</a>.</li>
|
||||
</ul>
|
||||
<p><code>"HWID_Activation.cmd" /a</code></p>
|
||||
<ul>
|
||||
<li>To only generate GenuineTicket.xml with the Downlevel method
|
||||
(default),</li>
|
||||
</ul>
|
||||
<p><code>"HWID_Activation.cmd" /g</code></p>
|
||||
<ul>
|
||||
<li>To enable LockBox method (not recommended), run the script with /k
|
||||
parameter You need to use this option with either activation or ticket
|
||||
generation. Example,</li>
|
||||
</ul>
|
||||
<p><code>"HWID_Activation.cmd" /a /k</code></p>
|
||||
<p><code>"HWID_Activation.cmd" /g /k</code></p>
|
||||
<hr />
|
||||
</div>
|
||||
<div id="file-details" class="section level2">
|
||||
<h2>File Details</h2>
|
||||
<p>Besides the plain batch script, HWID activation requires the use of
|
||||
the official gatherosstate.exe (x86) file.</p>
|
||||
<pre><code> File: gatherosstate.exe
|
||||
SHA-1: FABB5A0FC1E6A372219711152291339AF36ED0B5 </code></pre>
|
||||
<p>It’s taken from <a
|
||||
href="https://go.microsoft.com/fwlink/p/?LinkId=526740">Windows 10
|
||||
Version 1607 ADK</a> (Section: User State Migration Tool)</p>
|
||||
<hr />
|
||||
</div>
|
||||
<div id="manual-activation" class="section level2">
|
||||
<h2>Manual Activation</h2>
|
||||
<p>The process here 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.</p>
|
||||
<ul>
|
||||
<li><p>You need the <code>gatherosstate.exe</code> file, get it from MAS
|
||||
separate files version.</p></li>
|
||||
<li><p>Download file from the below official MS link and extract this
|
||||
.cab file.<br />
|
||||
<a
|
||||
href="https://download.microsoft.com/download/9/A/E/9AE69DD5-BA93-44E0-864E-180F5E700AB4/adk/Installers/14f4df8a2a7fc82a4f415cf6a341415d.cab"
|
||||
class="uri">https://download.microsoft.com/download/9/A/E/9AE69DD5-BA93-44E0-864E-180F5E700AB4/adk/Installers/14f4df8a2a7fc82a4f415cf6a341415d.cab</a></p></li>
|
||||
<li><p>Find the file named
|
||||
<code>filf8377e82b29deadca67bc4858ed3fba9</code> and rename it as
|
||||
<code>gatherosstate.exe</code></p></li>
|
||||
<li><p>Make a folder named <code>Files</code> in C drive,
|
||||
<code>C:\Files</code> and copy the <code>gatherosstate.exe</code> file
|
||||
in that folder.</p></li>
|
||||
@ -686,9 +675,10 @@ the <code>gatherosstate.exe</code> file.</li>
|
||||
</ul>
|
||||
<!-- -->
|
||||
<pre><code>$bytes = [System.IO.File]::ReadAllBytes("C:\Files\gatherosstate.exe")
|
||||
$bytes[320] = 0x9c
|
||||
$bytes[320] = 0xf8
|
||||
$bytes[321] = 0xfb
|
||||
$bytes[322] = 0x05
|
||||
$bytes[324] = 0x03
|
||||
$bytes[13672] = 0x25
|
||||
$bytes[13674] = 0x73
|
||||
$bytes[13676] = 0x3b
|
||||
@ -739,6 +729,7 @@ $bytes[33581] = 0x55
|
||||
$bytes[33582] = 0x01
|
||||
$bytes[33583] = 0x00
|
||||
$bytes[33584] = 0x00
|
||||
$bytes[33978] = 0xc3
|
||||
$bytes[34189] = 0x59
|
||||
$bytes[34190] = 0xeb
|
||||
$bytes[34191] = 0x28
|
||||
@ -752,13 +743,16 @@ $bytes[34376] = 0xeb
|
||||
$bytes[34377] = 0x63
|
||||
[System.IO.File]::WriteAllBytes("C:\Files\gatherosstatemodified.exe", $bytes)</code></pre>
|
||||
<ul>
|
||||
<li>Now right click on the file <code>gatherosstatemodified.exe</code>
|
||||
and goto properties and set the compatibility to Windows XP SP3.<br />
|
||||
</li>
|
||||
<li>Now we need to generate the ticket, to do that, enter the below
|
||||
command.</li>
|
||||
</ul>
|
||||
<!-- -->
|
||||
<pre><code>$value = (Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\ProductOptions).OSProductPfn
|
||||
|
||||
C:\Files\gatherosstatemodified.exe Pfn=$value`;DownlevelGenuineState=1</code></pre>
|
||||
C:\Files\gatherosstatemodified.exe /c Pfn=$value`;DownlevelGenuineState=1</code></pre>
|
||||
<ul>
|
||||
<li>A GenuineTicket.xml file should be created in the folder
|
||||
<code>C:\Files\</code> now let’s apply it.</li>
|
||||
@ -775,6 +769,16 @@ C:\Files\gatherosstatemodified.exe Pfn=$value`;DownlevelGenuineState=1</code></p
|
||||
<ul>
|
||||
<li>Done.</li>
|
||||
</ul>
|
||||
<p><strong>Notes:</strong></p>
|
||||
<ul>
|
||||
<li><p>If the system is already activated then created ticket will be a
|
||||
Lockbox ticket and if not then it will be a Downlevel ticket.</p></li>
|
||||
<li><p>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.<br />
|
||||
<code>$date=[datetime]"2022/10/11 12:00";while($true){set-date $date; start-sleep -milliseconds 10}</code></p></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div id="setup-preactivate" class="section level2">
|
||||
|
Reference in New Issue
Block a user