This commit is contained in:
2022-11-07 12:30:36 -08:00
parent 4bb0e5702a
commit fc4cb1da66
46 changed files with 2099 additions and 655 deletions

View File

@ -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 tickets OSVersion is 10. If its generated on
Windows 10/11 then MS ideally arent 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
tickets 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 =&lt;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 arent
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 isnt. Microsoft will not take action against it, because
of the risk of voiding valid licenses. Besides, they never really cared
for consumer piracy; Thats 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 dont seem to
care much for consumer piracy; Thats not where they get the most money
from.</li>
</ul>
<hr />
</div>
@ -542,46 +574,50 @@ for consumer piracy; Thats 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 &amp; 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 dont suggest running the Lockbox method on a production
system. Hence by default script will choose the Downlevel method and
wont 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 thats 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>Its 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(&quot;C:\Files\gatherosstate.exe&quot;)
$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(&quot;C:\Files\gatherosstatemodified.exe&quot;, $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 lets 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">