diff --git a/MAS/All-In-One-Version/MAS_AIO.cmd b/MAS/All-In-One-Version/MAS_AIO.cmd index 3a2e4b1..ca645fc 100644 --- a/MAS/All-In-One-Version/MAS_AIO.cmd +++ b/MAS/All-In-One-Version/MAS_AIO.cmd @@ -1,3 +1,4 @@ +@set masver=2.3 @setlocal DisableDelayedExpansion @echo off @@ -91,7 +92,7 @@ popd cls color 07 -title Microsoft_Activation_Scripts +title Microsoft_Activation_Scripts %masver% set _args= set _elev= @@ -151,7 +152,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -199,6 +200,35 @@ exit /b ::======================================================================================================================================== +:: Check for updates + +set -= +set old= + +for /f "delims=[] tokens=2" %%# in ('ping -n 1 updatecheck.mass%-%grave.dev') do ( +if not [%%#]==[] echo "%%#" | find "127.69.%masver%" %nul1% || set old=1 +) + +if defined old ( +echo ________________________________________________ +%eline% +echo You are running outdated version MAS %masver% +echo ________________________________________________ +echo: +if not defined _MASunattended ( +echo [1] Download Latest MAS +echo [0] Continue Anyway +echo: +call :_color %_Green% "Enter a menu option in the Keyboard [1,0] :" +choice /C:10 /N +if !errorlevel!==2 rem +if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) +) +) +cls + +::======================================================================================================================================== + :: Run script with parameters in unattended mode set _elev= @@ -229,7 +259,7 @@ setlocal EnableDelayedExpansion cls color 07 -title Microsoft_Activation_Scripts 2.2 +title Microsoft_Activation_Scripts %masver% mode 76, 30 echo: @@ -258,7 +288,7 @@ choice /C:123456780 /N set _erl=%errorlevel% if %_erl%==9 exit /b -if %_erl%==8 start https://%mas%/troubleshoot.html & goto :MainMenu +if %_erl%==8 start %mas%troubleshoot.html & goto :MainMenu if %_erl%==7 goto:Extras if %_erl%==6 setlocal & call :troubleshoot & cls & endlocal & goto :MainMenu if %_erl%==5 setlocal & call :_Check_Status_wmi & cls & endlocal & goto :MainMenu @@ -431,11 +461,13 @@ set _NoEditionChange=0 :: If value is changed in above lines or parameter is used then script will run in unattended mode + + ::======================================================================================================================================== cls color 07 -title HWID Activation +title HWID Activation %masver% set _args= set _elev= @@ -526,7 +558,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -534,7 +566,7 @@ setlocal EnableDelayedExpansion cls mode 108, 34 -title HWID Activation +title HWID Activation %masver% :: Start Windows update service at the beginning and in later checks as well, because in some normal conditions one kick is not enough @@ -1183,7 +1215,7 @@ set showfix=1 if defined safeboot_option ( set error=1 set showfix=1 -call :dk_color2 %Red% "Checking Boot Mode " %Blue% "[System is running in safe mode. Run in normal mode.]" +call :dk_color2 %Red% "Checking Boot Mode " %Blue% "[Safe mode found. Run in normal mode.]" ) @@ -1197,7 +1229,7 @@ call :dk_color2 %Red% "Checking Audit Mode " %Blue% "[IMAGE_ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( set error=1 set showfix=1 -call :dk_color2 %Red% "Checking WinPE " %Blue% "[System is running in WinPE mode. Run in normal mode.]" +call :dk_color2 %Red% "Checking WinPE " %Blue% "[WinPE mode found. Run in normal mode.]" ) @@ -1539,11 +1571,13 @@ set _rem=0 :: If value is changed in above lines or parameter is used then script will run in unattended mode + + ::======================================================================================================================================== cls color 07 -title Ohook Activation +title Ohook Activation %masver% set _args= set _elev= @@ -1626,7 +1660,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -1639,7 +1673,7 @@ if %_rem%==1 goto :oh_uninstall if %_unattended%==0 ( cls mode 76, 25 -title Ohook Activation +title Ohook Activation %masver% echo: echo: @@ -1675,7 +1709,7 @@ cls mode 128, 32 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=32;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" -title Ohook Activation +title Ohook Activation %masver% echo: echo Initializing... @@ -1886,34 +1920,27 @@ call :oh_hookinstall ::======================================================================================================================================== :: Find remnants of Office vNext license block and remove it because it stops non vNext licenses from appearing +:: https://learn.microsoft.com/en-us/office/troubleshoot/activation/reset-office-365-proplus-activation-state set sub_next= -set kNext=HKCU\SOFTWARE\Microsoft\Office\16.0\Common\Licensing -reg query %kNext%\LicensingNext /v MigrationToV5Done %nul2% | find /i "0x1" %nul% && ( -reg query %kNext%\LicensingNext %nul2% | findstr /i "volume retail" %nul2% | findstr /i "0x2 0x3" %nul% && ( +for /f "tokens=* delims=" %%a in ('%psc% "$userSIDs = Get-WmiObject -Class Win32_UserAccount | ForEach-Object {write-host $_.SID}" %nul6%') do (if defined _sid (set "_sid=!_sid! HKU\%%a") else (set "_sid=HKU\%%a")) + +for %%# in (!_sid! HKCU) do if not defined sub_next ( +reg query %%#\Software\Microsoft\Office\16.0\Common\Licensing\LicensingNext /v MigrationToV5Done %nul2% | find /i "0x1" %nul% && ( +reg query %%#\Software\Microsoft\Office\16.0\Common\Licensing\LicensingNext %nul2% | findstr /i "volume retail" %nul2% | findstr /i "0x2 0x3" %nul% && ( set sub_next=1 -reg delete %kNext% /f %nul% +) ) ) -if defined sub_next ( -reg query %kNext%\LicensingNext %nul% && ( -call :dk_color %Red% "Removing Office vNext Block [Failed]" -) || ( -echo Removing Office vNext Block [Successful] -) +if defined sub_next for %%# in (!_sid! HKCU) do ( +reg delete %%#\Software\Microsoft\Office\16.0\Common\Licensing /f %nul% +reg delete %%#\Software\Microsoft\Office\16.0\Common\Identity /f %nul% +reg delete %%#\Software\Microsoft\Office\16.0\Registration /f %nul% ) -::======================================================================================================================================== - -:: Subscription licenses attempt to validate the license and may show a banner "There was a problem checking this device's license status.", other products don't do that. -:: A simple registry entry can skip this check - -if defined _sublic ( -echo Adding a Reg To Skip License Check [Successful] -reg add HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /v "TimeOfLastHeartbeatFailure" /t REG_SZ /d "2033-08-18T22:18:45Z" /f %nul% -) +if defined sub_next echo Removing Office vNext Block [Successful] ::======================================================================================================================================== @@ -1997,7 +2024,7 @@ goto :dk_done cls mode 99, 28 -title Uninstall Ohook Activation +title Uninstall Ohook Activation %masver% set _present= set _unerror= @@ -2034,15 +2061,21 @@ if exist "%%~A\Microsoft %%~G\root\vfs\%%#\sppc*dll" (set _present=1& del /s /f ) ) -reg query HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /s %nul2% | find /i "2033" %nul% && ( +reg query HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency %nul% && ( echo: -echo Deleting - HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency +echo Deleting - Registry keys to skip license check reg delete HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /f + +for /f "tokens=* delims=" %%a in ('%psc% "$userSIDs = Get-WmiObject -Class Win32_UserAccount | ForEach-Object {write-host $_.SID}" %nul6%') do (if defined _sid (set "_sid=!_sid! %%a") else (set "_sid=%%a")) +for %%# in (!_sid!) do (reg query HKU\%%#\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency %nul% && ( +reg delete HKU\%%#\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /f +) +) ) reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663" %nul% && ( echo: -echo Deleting - Registry key to prevent non-genuine banner +echo Deleting - Registry keys to prevent non-genuine banner reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663" /f ) @@ -2179,6 +2212,9 @@ exit /b set ierror= set hasherror= +if %_hook%==sppc32.dll set offset=2564 +if %_hook%==sppc64.dll set offset=3588 + del /s /q "%_hookPath%\sppcs.dll" %nul% del /s /q "%_hookPath%\sppc.dll" %nul% @@ -2188,7 +2224,7 @@ if exist "%_hookPath%\sppc.dll" set ierror=1 mklink "%_hookPath%\sppcs.dll" "%_sppcPath%" %nul% if not %errorlevel%==0 set ierror=1 -if not exist "%_hookPath%\sppc.dll" call :oh_extractdll "%_hookPath%\sppc.dll" +if not exist "%_hookPath%\sppc.dll" call :oh_extractdll "%_hookPath%\sppc.dll" "%offset%" if not exist "%_hookPath%\sppc.dll" set ierror=1 echo: @@ -2200,7 +2236,9 @@ set error=1 call :dk_color %Red% "Symlinking Systems sppc.dll [Failed]" call :dk_color %Red% "Extracting Custom %_hook% [Failed]" echo ["%_hookPath%\sppc.dll"] -call :dk_color %Blue% "Close Office apps if they are running and try again." +echo: +call :dk_color %Blue% "Close ALL Office apps including Outlook and try again." +call :dk_color %Blue% "If its still not resolved then restart system and try again." ) if not defined ierror ( @@ -2519,7 +2557,7 @@ exit /b :oh_extractdll set b= -%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':%_hook%\:.*';$bytes = [Con%b%vert]::FromBas%b%e64String($f[1]); $PePath='%1'; $m=[io.file]::ReadAllText('!_batp!') -split ':hexedit\:.*';iex ($m[1]);" %nul2% | find /i "Error found" %nul1% && set hasherror=1 +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':%_hook%\:.*';$bytes = [Con%b%vert]::FromBas%b%e64String($f[1]); $PePath='%1'; $offset='%2'; $m=[io.file]::ReadAllText('!_batp!') -split ':hexedit\:.*';iex ($m[1]);" %nul2% | find /i "Error found" %nul1% && set hasherror=1 exit /b :hexedit: @@ -2541,7 +2579,7 @@ $Imagehlp = $TypeBuilder.CreateType() # Offset information $timestampOffset = 136 -$exportTimestampOffset = 3076 +$exportTimestampOffset = $offset $checkSumOffset = 216 # Calculate timestamp @@ -2597,8 +2635,8 @@ $MemoryStream.Close() :: This below blocks of text is encoded in base64 format :: The blocks in labels "sppc64.dll" and "sppc32.dll" contains below files :: -:: C6DF24DEEF2E83813DEE9C81DDD9793A3D60C117A4E8E231B82E32B3192927E7 *sppc64.dll -:: E6AC83560C19EC7EB868C50EA97EA0ED5632A397A9F43C17E24E6DE4A694D118 *sppc32.dll +:: 0abe025db85d896d5f65b69800229ebd0ca3168d83569d8c77a04c0bcf06097b *sppc64.dll +:: 0186c259c2aacef59b91003ba9c00b284b806eb87a70b018687189797885ec6a *sppc32.dll :: :: The files are encoded in base64 to make MAS AIO version. Alternatively, you can use MAS separate files version :: @@ -2613,27 +2651,27 @@ $MemoryStream.Close() ::======================================================================================================================================== :sppc32.dll: -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 +n1cAANNXAAARWAAATVgAAG9YAAClWAAAzVgAAAVZAABBWQAAbVkAAKdZAAC7WQAA+1kAADlaAABPWgAAdVoAAJ1aAADTWgAAB1sAAD1bAABpWwAApVsAAONbAAANXAAAOVwAAIlcAADRXAAAEV0AAFldAACjXQAA8V0AABteAABHXgAAh14AALteAADnXgAAK18AAFtf +AAC1XwAA618AACdgAABdYAAA4lIAAP1SAAAaUwAARlMAAIJTAADIUwAAA1QAAClUAABRVAAAhVQAAMNUAAALVQAASlUAAINVAAC8VQAA81UAACdWAABZVgAAk1YAAMJWAADoVgAAGVcAADFXAABjVwAAilcAALxXAAD1VwAAMlgAAGFYAACNWAAAvFgAAOxYAAAmWQAA +WlkAAI1ZAAC0WQAA3lkAAB1aAABHWgAAZVoAAIxaAAC7WgAA8FoAACVbAABWWwAAilsAAMdbAAD7WwAAJlwAAGRcAACwXAAA9FwAADhdAACBXQAAzV0AAAleAAA0XgAAal4AAKReAADUXgAADF8AAEZfAACLXwAA018AAAxgAABFYAAAeGAAAAAAAQACAAMABAAFAAYA BwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAc3BwYy5kbGwAU1BQQ1MuU0xDYWxsU2VydmVyAFNM Q2FsbFNlcnZlcgBTUFBDUy5TTENsb3NlAFNMQ2xvc2UAU1BQQ1MuU0xDb25zdW1lUmlnaHQAU0xDb25zdW1lUmlnaHQAU1BQQ1MuU0xEZXBvc2l0TWlncmF0aW9uQmxvYgBTTERlcG9zaXRNaWdyYXRpb25CbG9iAFNQUENTLlNMRGVwb3NpdE9mZmxpbmVDb25maXJt YXRpb25JZABTTERlcG9zaXRPZmZsaW5lQ29uZmlybWF0aW9uSWQAU1BQQ1MuU0xEZXBvc2l0T2ZmbGluZUNvbmZpcm1hdGlvbklkRXgAU0xEZXBvc2l0T2ZmbGluZUNvbmZpcm1hdGlvbklkRXgAU1BQQ1MuU0xEZXBvc2l0U3RvcmVUb2tlbgBTTERlcG9zaXRTdG9y @@ -2660,18 +2698,18 @@ THBJQUFjdGl2YXRlUHJvZHVjdABTTHBJQUFjdGl2YXRlUHJvZHVjdABTUFBDUy5TTHBJc0N1cnJlbnRJ aXBlTWVzc2FnZQBTTHBQcm9jZXNzVk1QaXBlTWVzc2FnZQBTUFBDUy5TTHBTZXRBY3RpdmF0aW9uSW5Qcm9ncmVzcwBTTHBTZXRBY3RpdmF0aW9uSW5Qcm9ncmVzcwBTUFBDUy5TTHBUcmlnZ2VyU2VydmljZVdvcmtlcgBTTHBUcmlnZ2VyU2VydmljZVdvcmtlcgBT UFBDUy5TTHBWTEFjdGl2YXRlUHJvZHVjdABTTHBWTEFjdGl2YXRlUHJvZHVjdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBgAAAAAAAAAAAAAOhgAABsYAAAXGAAAAAAAAAAAAAA -+GAAAHhgAABkYAAAAAAAAAAAAAAMYQAAgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiGAAAKpgAAAAAAAAyGAAAAAAAADUYAAAAAAAAIhgAACqYAAAAAAAAMhgAAAAAAAA1GAAAAAAAAACAFNMR2V0TGljZW5zaW5nU3RhdHVzSW5mb3JtYXRpb24AAQBTTEdldFByb2R1 -Y3RTa3VJbmZvcm1hdGlvbgAA3QNMb2NhbEZyZWUARwFTdHJTdHJOSVcAAGAAAABgAABzcHBjcy5kbGwAAAAUYAAAS0VSTkVMMzIuZGxsAAAAAChgAABTSExXQVBJLmRsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAkEAABIAAAAWHAAABwDAAAAAAAAAAAAABwDNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4A -RgBPAAAAAAC9BO/+AAABAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAQABAACAAAAAAAAAAAAAAAAAAAAfAIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAWAIAAAEAMAA0ADAAOQAwADQARQA0AAAAegAtAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRwAAAAAAAAAAAAAExxAACQcAAAcHAAAAAAAAAAAAAA +ZHEAAJxwAACAcAAAAAAAAAAAAAB4cQAArHAAAIhwAAAAAAAAAAAAAIxxAAC0cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8cAAA3nAAAAAAAAD8cAAACnEAABpxAAAAAAAALHEAAAAAAAA4cQAAAAAAALxwAADecAAAAAAAAPxwAAAKcQAAGnEAAAAAAAAscQAAAAAAADhx +AAAAAAAAAgBTTEdldExpY2Vuc2luZ1N0YXR1c0luZm9ybWF0aW9uAAEAU0xHZXRQcm9kdWN0U2t1SW5mb3JtYXRpb24AACAGUmVnQ2xvc2VLZXkAUQZSZWdPcGVuS2V5RXhXAGsGUmVnU2V0S2V5VmFsdWVXAN0DTG9jYWxGcmVlAEcBU3RyU3RyTklXAABwAAAAcAAA +c3BwY3MuZGxsAAAAFHAAABRwAAAUcAAAQURWQVBJMzIuZGxsAAAAAChwAABLRVJORUwzMi5kbGwAAAAAPHAAAFNITFdBUEkuZGxsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAkEAABIAAAAWIAAABwDAAAAAAAAAAAAABwDNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4A +RgBPAAAAAAC9BO/+AAABAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQABAACAAAAAAAAAAAAAAAAAAAAfAIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAWAIAAAEAMAA0ADAAOQAwADQARQA0AAAAegAtAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAA AABBAG4AbwBtAGEAbABvAHUAcwAgAFMAbwBmAHQAdwBhAHIAZQAgAEQAZQB0AGUAcgBpAG8AcgBhAHQAaQBvAG4AIABDAG8AcgBwAG8AcgBhAHQAaQBvAG4AAAAAAD4ACwABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABvAGgAbwBvAGsAIABTAFAA -UABDAAAAAAAwAAgAAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADAALgAzAC4AMAAuADAAAAAqAAUAAQBJAG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAHMAcABwAGMAAAAAAIwANAABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAKkAIAAyADAAMgAzACAA +UABDAAAAAAAwAAgAAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADAALgA0AC4AMAAuADAAAAAqAAUAAQBJAG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAHMAcABwAGMAAAAAAIwANAABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAKkAIAAyADAAMgAzACAA QQBuAG8AbQBhAGwAbwB1AHMAIABTAG8AZgB0AHcAYQByAGUAIABEAGUAdABlAHIAaQBvAHIAYQB0AGkAbwBuACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAAAAOgAJAAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAHMAcABwAGMALgBkAGwAbAAAAAAA -LAAGAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABvAGgAbwBvAGsAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAwAC4AMwAuADAALgAwAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQA +LAAGAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABvAGgAbwBvAGsAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAwAC4ANAAuADAALgAwAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQA aQBvAG4AAAAAAAkE5AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAQAAAUAAAAOzBQMHEwfjBSMVoxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAQAAAoAAAALjA/MFkwZjCvMLww1jDmMO4w9zAGMZsxqTHKMdIxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -2680,68 +2718,71 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA :======================================================================================================================================== :sppc64.dll: -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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOAGEAbQBlAAAARwByAGEAYwBlAAAAUwBvAGYAdAB3AGEAcgBlAFwATQBpAGMAcgBvAHMA +bwBmAHQAXABPAGYAZgBpAGMAZQBcADEANgAuADAAAABUAGkAbQBlAE8AZgBMAGEAcwB0AEgAZQBhAHIAdABiAGUAYQB0AEYAYQBpAGwAdQByAGUAAABDAG8AbQBtAG8AbgBcAEwAaQBjAGUAbgBzAGkAbgBnAFwAUgBlAHMAaQBsAGkAZQBuAGMAeQAAADIAMAA0ADAA +LQAwADEALQAwADEAVAAwADAAOgAwADAAOgAwADAAWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAQAAB2EAAAAEAAAHYQAADwEAAACEAAAPAQAACOEQAAEEAAAI4RAACUEQAAJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAEAAAABBwMAB4IDMALAAAABDAcADGIIMAdgBnAFUATAAtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUCAAVyATABBAEABIIAAAEMBwAMYggwB2AGcAVQBMAC0AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDc0GQAAAAAxlIAAAEAAABDAAAAQwAAAChQAAA0UQAAQFIAAM9SAADvUgAABVMAAClTAABdUwAAoVMAAOlTAAAXVAAANVQAAGdU -AACdVAAA41QAAC1VAABhVQAAn1UAANNVAAANVgAAO1YAAHFWAACvVgAAz1YAAPtWAACOEAAAUVcAAG9XAACfVwAA01cAABFYAABNWAAAb1gAAKVYAADNWAAABVkAAEFZAABtWQAAp1kAALtZAAD7WQAAOVoAAE9aAAB1WgAAnVoAANNaAAAHWwAAPVsAAGlbAAClWwAA -41sAAA1cAAA5XAAAiVwAANFcAAARXQAAWV0AAKNdAADxXQAAG14AAEdeAACHXgAAu14AAOdeAAArXwAAW18AALVfAADrXwAAJ2AAAF1gAADiUgAA/VIAABpTAABGUwAAglMAAMhTAAADVAAAKVQAAFFUAACFVAAAw1QAAAtVAABKVQAAg1UAALxVAADzVQAAJ1YAAFlW -AACTVgAAwlYAAOhWAAAZVwAAMVcAAGNXAACKVwAAvFcAAPVXAAAyWAAAYVgAAI1YAAC8WAAA7FgAACZZAABaWQAAjVkAALRZAADeWQAAHVoAAEdaAABlWgAAjFoAALtaAADwWgAAJVsAAFZbAACKWwAAx1sAAPtbAAAmXAAAZFwAALBcAAD0XAAAOF0AAIFdAADNXQAA -CV4AADReAABqXgAApF4AANReAAAMXwAARl8AAItfAADTXwAADGAAAEVgAAB4YAAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIA -MwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBzcHBjLmRsbABTUFBDUy5TTENhbGxTZXJ2ZXIAU0xDYWxsU2VydmVyAFNQUENTLlNMQ2xvc2UAU0xDbG9zZQBTUFBDUy5TTENvbnN1bWVSaWdodABTTENvbnN1bWVSaWdodABTUFBDUy5TTERlcG9zaXRNaWdy -YXRpb25CbG9iAFNMRGVwb3NpdE1pZ3JhdGlvbkJsb2IAU1BQQ1MuU0xEZXBvc2l0T2ZmbGluZUNvbmZpcm1hdGlvbklkAFNMRGVwb3NpdE9mZmxpbmVDb25maXJtYXRpb25JZABTUFBDUy5TTERlcG9zaXRPZmZsaW5lQ29uZmlybWF0aW9uSWRFeABTTERlcG9zaXRP -ZmZsaW5lQ29uZmlybWF0aW9uSWRFeABTUFBDUy5TTERlcG9zaXRTdG9yZVRva2VuAFNMRGVwb3NpdFN0b3JlVG9rZW4AU1BQQ1MuU0xGaXJlRXZlbnQAU0xGaXJlRXZlbnQAU1BQQ1MuU0xHYXRoZXJNaWdyYXRpb25CbG9iAFNMR2F0aGVyTWlncmF0aW9uQmxvYgBT -UFBDUy5TTEdhdGhlck1pZ3JhdGlvbkJsb2JFeABTTEdhdGhlck1pZ3JhdGlvbkJsb2JFeABTUFBDUy5TTEdlbmVyYXRlT2ZmbGluZUluc3RhbGxhdGlvbklkAFNMR2VuZXJhdGVPZmZsaW5lSW5zdGFsbGF0aW9uSWQAU1BQQ1MuU0xHZW5lcmF0ZU9mZmxpbmVJbnN0 -YWxsYXRpb25JZEV4AFNMR2VuZXJhdGVPZmZsaW5lSW5zdGFsbGF0aW9uSWRFeABTUFBDUy5TTEdldEFjdGl2ZUxpY2Vuc2VJbmZvAFNMR2V0QWN0aXZlTGljZW5zZUluZm8AU1BQQ1MuU0xHZXRBcHBsaWNhdGlvbkluZm9ybWF0aW9uAFNMR2V0QXBwbGljYXRpb25J -bmZvcm1hdGlvbgBTUFBDUy5TTEdldEFwcGxpY2F0aW9uUG9saWN5AFNMR2V0QXBwbGljYXRpb25Qb2xpY3kAU1BQQ1MuU0xHZXRBdXRoZW50aWNhdGlvblJlc3VsdABTTEdldEF1dGhlbnRpY2F0aW9uUmVzdWx0AFNQUENTLlNMR2V0RW5jcnlwdGVkUElERXgAU0xH -ZXRFbmNyeXB0ZWRQSURFeABTUFBDUy5TTEdldEdlbnVpbmVJbmZvcm1hdGlvbgBTTEdldEdlbnVpbmVJbmZvcm1hdGlvbgBTUFBDUy5TTEdldEluc3RhbGxlZFByb2R1Y3RLZXlJZHMAU0xHZXRJbnN0YWxsZWRQcm9kdWN0S2V5SWRzAFNQUENTLlNMR2V0TGljZW5z -ZQBTTEdldExpY2Vuc2UAU1BQQ1MuU0xHZXRMaWNlbnNlRmlsZUlkAFNMR2V0TGljZW5zZUZpbGVJZABTUFBDUy5TTEdldExpY2Vuc2VJbmZvcm1hdGlvbgBTTEdldExpY2Vuc2VJbmZvcm1hdGlvbgBTTEdldExpY2Vuc2luZ1N0YXR1c0luZm9ybWF0aW9uAFNQUENT -LlNMR2V0UEtleUlkAFNMR2V0UEtleUlkAFNQUENTLlNMR2V0UEtleUluZm9ybWF0aW9uAFNMR2V0UEtleUluZm9ybWF0aW9uAFNQUENTLlNMR2V0UG9saWN5SW5mb3JtYXRpb24AU0xHZXRQb2xpY3lJbmZvcm1hdGlvbgBTUFBDUy5TTEdldFBvbGljeUluZm9ybWF0 -aW9uRFdPUkQAU0xHZXRQb2xpY3lJbmZvcm1hdGlvbkRXT1JEAFNQUENTLlNMR2V0UHJvZHVjdFNrdUluZm9ybWF0aW9uAFNMR2V0UHJvZHVjdFNrdUluZm9ybWF0aW9uAFNQUENTLlNMR2V0U0xJRExpc3QAU0xHZXRTTElETGlzdABTUFBDUy5TTEdldFNlcnZpY2VJ -bmZvcm1hdGlvbgBTTEdldFNlcnZpY2VJbmZvcm1hdGlvbgBTUFBDUy5TTEluc3RhbGxMaWNlbnNlAFNMSW5zdGFsbExpY2Vuc2UAU1BQQ1MuU0xJbnN0YWxsUHJvb2ZPZlB1cmNoYXNlAFNMSW5zdGFsbFByb29mT2ZQdXJjaGFzZQBTUFBDUy5TTEluc3RhbGxQcm9v -Zk9mUHVyY2hhc2VFeABTTEluc3RhbGxQcm9vZk9mUHVyY2hhc2VFeABTUFBDUy5TTElzR2VudWluZUxvY2FsRXgAU0xJc0dlbnVpbmVMb2NhbEV4AFNQUENTLlNMTG9hZEFwcGxpY2F0aW9uUG9saWNpZXMAU0xMb2FkQXBwbGljYXRpb25Qb2xpY2llcwBTUFBDUy5T -TE9wZW4AU0xPcGVuAFNQUENTLlNMUGVyc2lzdEFwcGxpY2F0aW9uUG9saWNpZXMAU0xQZXJzaXN0QXBwbGljYXRpb25Qb2xpY2llcwBTUFBDUy5TTFBlcnNpc3RSVFNQYXlsb2FkT3ZlcnJpZGUAU0xQZXJzaXN0UlRTUGF5bG9hZE92ZXJyaWRlAFNQUENTLlNMUmVB -cm0AU0xSZUFybQBTUFBDUy5TTFJlZ2lzdGVyRXZlbnQAU0xSZWdpc3RlckV2ZW50AFNQUENTLlNMUmVnaXN0ZXJQbHVnaW4AU0xSZWdpc3RlclBsdWdpbgBTUFBDUy5TTFNldEF1dGhlbnRpY2F0aW9uRGF0YQBTTFNldEF1dGhlbnRpY2F0aW9uRGF0YQBTUFBDUy5T -TFNldEN1cnJlbnRQcm9kdWN0S2V5AFNMU2V0Q3VycmVudFByb2R1Y3RLZXkAU1BQQ1MuU0xTZXRHZW51aW5lSW5mb3JtYXRpb24AU0xTZXRHZW51aW5lSW5mb3JtYXRpb24AU1BQQ1MuU0xVbmluc3RhbGxMaWNlbnNlAFNMVW5pbnN0YWxsTGljZW5zZQBTUFBDUy5T -TFVuaW5zdGFsbFByb29mT2ZQdXJjaGFzZQBTTFVuaW5zdGFsbFByb29mT2ZQdXJjaGFzZQBTUFBDUy5TTFVubG9hZEFwcGxpY2F0aW9uUG9saWNpZXMAU0xVbmxvYWRBcHBsaWNhdGlvblBvbGljaWVzAFNQUENTLlNMVW5yZWdpc3RlckV2ZW50AFNMVW5yZWdpc3Rl -ckV2ZW50AFNQUENTLlNMVW5yZWdpc3RlclBsdWdpbgBTTFVucmVnaXN0ZXJQbHVnaW4AU1BQQ1MuU0xwQXV0aGVudGljYXRlR2VudWluZVRpY2tldFJlc3BvbnNlAFNMcEF1dGhlbnRpY2F0ZUdlbnVpbmVUaWNrZXRSZXNwb25zZQBTUFBDUy5TTHBCZWdpbkdlbnVp -bmVUaWNrZXRUcmFuc2FjdGlvbgBTTHBCZWdpbkdlbnVpbmVUaWNrZXRUcmFuc2FjdGlvbgBTUFBDUy5TTHBDbGVhckFjdGl2YXRpb25JblByb2dyZXNzAFNMcENsZWFyQWN0aXZhdGlvbkluUHJvZ3Jlc3MAU1BQQ1MuU0xwRGVwb3NpdERvd25sZXZlbEdlbnVpbmVU -aWNrZXQAU0xwRGVwb3NpdERvd25sZXZlbEdlbnVpbmVUaWNrZXQAU1BQQ1MuU0xwRGVwb3NpdFRva2VuQWN0aXZhdGlvblJlc3BvbnNlAFNMcERlcG9zaXRUb2tlbkFjdGl2YXRpb25SZXNwb25zZQBTUFBDUy5TTHBHZW5lcmF0ZVRva2VuQWN0aXZhdGlvbkNoYWxs -ZW5nZQBTTHBHZW5lcmF0ZVRva2VuQWN0aXZhdGlvbkNoYWxsZW5nZQBTUFBDUy5TTHBHZXRHZW51aW5lQmxvYgBTTHBHZXRHZW51aW5lQmxvYgBTUFBDUy5TTHBHZXRHZW51aW5lTG9jYWwAU0xwR2V0R2VudWluZUxvY2FsAFNQUENTLlNMcEdldExpY2Vuc2VBY3F1 -aXNpdGlvbkluZm8AU0xwR2V0TGljZW5zZUFjcXVpc2l0aW9uSW5mbwBTUFBDUy5TTHBHZXRNU1BpZEluZm9ybWF0aW9uAFNMcEdldE1TUGlkSW5mb3JtYXRpb24AU1BQQ1MuU0xwR2V0TWFjaGluZVVHVUlEAFNMcEdldE1hY2hpbmVVR1VJRABTUFBDUy5TTHBHZXRU -b2tlbkFjdGl2YXRpb25HcmFudEluZm8AU0xwR2V0VG9rZW5BY3RpdmF0aW9uR3JhbnRJbmZvAFNQUENTLlNMcElBQWN0aXZhdGVQcm9kdWN0AFNMcElBQWN0aXZhdGVQcm9kdWN0AFNQUENTLlNMcElzQ3VycmVudEluc3RhbGxlZFByb2R1Y3RLZXlEZWZhdWx0S2V5 -AFNMcElzQ3VycmVudEluc3RhbGxlZFByb2R1Y3RLZXlEZWZhdWx0S2V5AFNQUENTLlNMcFByb2Nlc3NWTVBpcGVNZXNzYWdlAFNMcFByb2Nlc3NWTVBpcGVNZXNzYWdlAFNQUENTLlNMcFNldEFjdGl2YXRpb25JblByb2dyZXNzAFNMcFNldEFjdGl2YXRpb25JblBy -b2dyZXNzAFNQUENTLlNMcFRyaWdnZXJTZXJ2aWNlV29ya2VyAFNMcFRyaWdnZXJTZXJ2aWNlV29ya2VyAFNQUENTLlNMcFZMQWN0aXZhdGVQcm9kdWN0AFNMcFZMQWN0aXZhdGVQcm9kdWN0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwNzQZAAAAADGYgAA +AQAAAEMAAABDAAAAKGAAADRhAABAYgAAz2IAAO9iAAAFYwAAKWMAAF1jAAChYwAA6WMAABdkAAA1ZAAAZ2QAAJ1kAADjZAAALWUAAGFlAACfZQAA02UAAA1mAAA7ZgAAcWYAAK9mAADPZgAA+2YAAPAQAABRZwAAb2cAAJ9nAADTZwAAEWgAAE1oAABvaAAApWgAAM1o +AAAFaQAAQWkAAG1pAACnaQAAu2kAAPtpAAA5agAAT2oAAHVqAACdagAA02oAAAdrAAA9awAAaWsAAKVrAADjawAADWwAADlsAACJbAAA0WwAABFtAABZbQAAo20AAPFtAAAbbgAAR24AAIduAAC7bgAA524AACtvAABbbwAAtW8AAOtvAAAncAAAXXAAAOJiAAD9YgAA +GmMAAEZjAACCYwAAyGMAAANkAAApZAAAUWQAAIVkAADDZAAAC2UAAEplAACDZQAAvGUAAPNlAAAnZgAAWWYAAJNmAADCZgAA6GYAABlnAAAxZwAAY2cAAIpnAAC8ZwAA9WcAADJoAABhaAAAjWgAALxoAADsaAAAJmkAAFppAACNaQAAtGkAAN5pAAAdagAAR2oAAGVq +AACMagAAu2oAAPBqAAAlawAAVmsAAIprAADHawAA+2sAACZsAABkbAAAsGwAAPRsAAA4bQAAgW0AAM1tAAAJbgAANG4AAGpuAACkbgAA1G4AAAxvAABGbwAAi28AANNvAAAMcAAARXAAAHhwAAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMA +FAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAHNwcGMuZGxsAFNQUENTLlNMQ2FsbFNlcnZlcgBTTENhbGxTZXJ2ZXIAU1BQQ1MuU0xDbG9zZQBT +TENsb3NlAFNQUENTLlNMQ29uc3VtZVJpZ2h0AFNMQ29uc3VtZVJpZ2h0AFNQUENTLlNMRGVwb3NpdE1pZ3JhdGlvbkJsb2IAU0xEZXBvc2l0TWlncmF0aW9uQmxvYgBTUFBDUy5TTERlcG9zaXRPZmZsaW5lQ29uZmlybWF0aW9uSWQAU0xEZXBvc2l0T2ZmbGluZUNv +bmZpcm1hdGlvbklkAFNQUENTLlNMRGVwb3NpdE9mZmxpbmVDb25maXJtYXRpb25JZEV4AFNMRGVwb3NpdE9mZmxpbmVDb25maXJtYXRpb25JZEV4AFNQUENTLlNMRGVwb3NpdFN0b3JlVG9rZW4AU0xEZXBvc2l0U3RvcmVUb2tlbgBTUFBDUy5TTEZpcmVFdmVudABT +TEZpcmVFdmVudABTUFBDUy5TTEdhdGhlck1pZ3JhdGlvbkJsb2IAU0xHYXRoZXJNaWdyYXRpb25CbG9iAFNQUENTLlNMR2F0aGVyTWlncmF0aW9uQmxvYkV4AFNMR2F0aGVyTWlncmF0aW9uQmxvYkV4AFNQUENTLlNMR2VuZXJhdGVPZmZsaW5lSW5zdGFsbGF0aW9u +SWQAU0xHZW5lcmF0ZU9mZmxpbmVJbnN0YWxsYXRpb25JZABTUFBDUy5TTEdlbmVyYXRlT2ZmbGluZUluc3RhbGxhdGlvbklkRXgAU0xHZW5lcmF0ZU9mZmxpbmVJbnN0YWxsYXRpb25JZEV4AFNQUENTLlNMR2V0QWN0aXZlTGljZW5zZUluZm8AU0xHZXRBY3RpdmVM +aWNlbnNlSW5mbwBTUFBDUy5TTEdldEFwcGxpY2F0aW9uSW5mb3JtYXRpb24AU0xHZXRBcHBsaWNhdGlvbkluZm9ybWF0aW9uAFNQUENTLlNMR2V0QXBwbGljYXRpb25Qb2xpY3kAU0xHZXRBcHBsaWNhdGlvblBvbGljeQBTUFBDUy5TTEdldEF1dGhlbnRpY2F0aW9u +UmVzdWx0AFNMR2V0QXV0aGVudGljYXRpb25SZXN1bHQAU1BQQ1MuU0xHZXRFbmNyeXB0ZWRQSURFeABTTEdldEVuY3J5cHRlZFBJREV4AFNQUENTLlNMR2V0R2VudWluZUluZm9ybWF0aW9uAFNMR2V0R2VudWluZUluZm9ybWF0aW9uAFNQUENTLlNMR2V0SW5zdGFs +bGVkUHJvZHVjdEtleUlkcwBTTEdldEluc3RhbGxlZFByb2R1Y3RLZXlJZHMAU1BQQ1MuU0xHZXRMaWNlbnNlAFNMR2V0TGljZW5zZQBTUFBDUy5TTEdldExpY2Vuc2VGaWxlSWQAU0xHZXRMaWNlbnNlRmlsZUlkAFNQUENTLlNMR2V0TGljZW5zZUluZm9ybWF0aW9u +AFNMR2V0TGljZW5zZUluZm9ybWF0aW9uAFNMR2V0TGljZW5zaW5nU3RhdHVzSW5mb3JtYXRpb24AU1BQQ1MuU0xHZXRQS2V5SWQAU0xHZXRQS2V5SWQAU1BQQ1MuU0xHZXRQS2V5SW5mb3JtYXRpb24AU0xHZXRQS2V5SW5mb3JtYXRpb24AU1BQQ1MuU0xHZXRQb2xp +Y3lJbmZvcm1hdGlvbgBTTEdldFBvbGljeUluZm9ybWF0aW9uAFNQUENTLlNMR2V0UG9saWN5SW5mb3JtYXRpb25EV09SRABTTEdldFBvbGljeUluZm9ybWF0aW9uRFdPUkQAU1BQQ1MuU0xHZXRQcm9kdWN0U2t1SW5mb3JtYXRpb24AU0xHZXRQcm9kdWN0U2t1SW5m +b3JtYXRpb24AU1BQQ1MuU0xHZXRTTElETGlzdABTTEdldFNMSURMaXN0AFNQUENTLlNMR2V0U2VydmljZUluZm9ybWF0aW9uAFNMR2V0U2VydmljZUluZm9ybWF0aW9uAFNQUENTLlNMSW5zdGFsbExpY2Vuc2UAU0xJbnN0YWxsTGljZW5zZQBTUFBDUy5TTEluc3Rh +bGxQcm9vZk9mUHVyY2hhc2UAU0xJbnN0YWxsUHJvb2ZPZlB1cmNoYXNlAFNQUENTLlNMSW5zdGFsbFByb29mT2ZQdXJjaGFzZUV4AFNMSW5zdGFsbFByb29mT2ZQdXJjaGFzZUV4AFNQUENTLlNMSXNHZW51aW5lTG9jYWxFeABTTElzR2VudWluZUxvY2FsRXgAU1BQ +Q1MuU0xMb2FkQXBwbGljYXRpb25Qb2xpY2llcwBTTExvYWRBcHBsaWNhdGlvblBvbGljaWVzAFNQUENTLlNMT3BlbgBTTE9wZW4AU1BQQ1MuU0xQZXJzaXN0QXBwbGljYXRpb25Qb2xpY2llcwBTTFBlcnNpc3RBcHBsaWNhdGlvblBvbGljaWVzAFNQUENTLlNMUGVy +c2lzdFJUU1BheWxvYWRPdmVycmlkZQBTTFBlcnNpc3RSVFNQYXlsb2FkT3ZlcnJpZGUAU1BQQ1MuU0xSZUFybQBTTFJlQXJtAFNQUENTLlNMUmVnaXN0ZXJFdmVudABTTFJlZ2lzdGVyRXZlbnQAU1BQQ1MuU0xSZWdpc3RlclBsdWdpbgBTTFJlZ2lzdGVyUGx1Z2lu +AFNQUENTLlNMU2V0QXV0aGVudGljYXRpb25EYXRhAFNMU2V0QXV0aGVudGljYXRpb25EYXRhAFNQUENTLlNMU2V0Q3VycmVudFByb2R1Y3RLZXkAU0xTZXRDdXJyZW50UHJvZHVjdEtleQBTUFBDUy5TTFNldEdlbnVpbmVJbmZvcm1hdGlvbgBTTFNldEdlbnVpbmVJ +bmZvcm1hdGlvbgBTUFBDUy5TTFVuaW5zdGFsbExpY2Vuc2UAU0xVbmluc3RhbGxMaWNlbnNlAFNQUENTLlNMVW5pbnN0YWxsUHJvb2ZPZlB1cmNoYXNlAFNMVW5pbnN0YWxsUHJvb2ZPZlB1cmNoYXNlAFNQUENTLlNMVW5sb2FkQXBwbGljYXRpb25Qb2xpY2llcwBT +TFVubG9hZEFwcGxpY2F0aW9uUG9saWNpZXMAU1BQQ1MuU0xVbnJlZ2lzdGVyRXZlbnQAU0xVbnJlZ2lzdGVyRXZlbnQAU1BQQ1MuU0xVbnJlZ2lzdGVyUGx1Z2luAFNMVW5yZWdpc3RlclBsdWdpbgBTUFBDUy5TTHBBdXRoZW50aWNhdGVHZW51aW5lVGlja2V0UmVz +cG9uc2UAU0xwQXV0aGVudGljYXRlR2VudWluZVRpY2tldFJlc3BvbnNlAFNQUENTLlNMcEJlZ2luR2VudWluZVRpY2tldFRyYW5zYWN0aW9uAFNMcEJlZ2luR2VudWluZVRpY2tldFRyYW5zYWN0aW9uAFNQUENTLlNMcENsZWFyQWN0aXZhdGlvbkluUHJvZ3Jlc3MA +U0xwQ2xlYXJBY3RpdmF0aW9uSW5Qcm9ncmVzcwBTUFBDUy5TTHBEZXBvc2l0RG93bmxldmVsR2VudWluZVRpY2tldABTTHBEZXBvc2l0RG93bmxldmVsR2VudWluZVRpY2tldABTUFBDUy5TTHBEZXBvc2l0VG9rZW5BY3RpdmF0aW9uUmVzcG9uc2UAU0xwRGVwb3Np +dFRva2VuQWN0aXZhdGlvblJlc3BvbnNlAFNQUENTLlNMcEdlbmVyYXRlVG9rZW5BY3RpdmF0aW9uQ2hhbGxlbmdlAFNMcEdlbmVyYXRlVG9rZW5BY3RpdmF0aW9uQ2hhbGxlbmdlAFNQUENTLlNMcEdldEdlbnVpbmVCbG9iAFNMcEdldEdlbnVpbmVCbG9iAFNQUENT +LlNMcEdldEdlbnVpbmVMb2NhbABTTHBHZXRHZW51aW5lTG9jYWwAU1BQQ1MuU0xwR2V0TGljZW5zZUFjcXVpc2l0aW9uSW5mbwBTTHBHZXRMaWNlbnNlQWNxdWlzaXRpb25JbmZvAFNQUENTLlNMcEdldE1TUGlkSW5mb3JtYXRpb24AU0xwR2V0TVNQaWRJbmZvcm1h +dGlvbgBTUFBDUy5TTHBHZXRNYWNoaW5lVUdVSUQAU0xwR2V0TWFjaGluZVVHVUlEAFNQUENTLlNMcEdldFRva2VuQWN0aXZhdGlvbkdyYW50SW5mbwBTTHBHZXRUb2tlbkFjdGl2YXRpb25HcmFudEluZm8AU1BQQ1MuU0xwSUFBY3RpdmF0ZVByb2R1Y3QAU0xwSUFB +Y3RpdmF0ZVByb2R1Y3QAU1BQQ1MuU0xwSXNDdXJyZW50SW5zdGFsbGVkUHJvZHVjdEtleURlZmF1bHRLZXkAU0xwSXNDdXJyZW50SW5zdGFsbGVkUHJvZHVjdEtleURlZmF1bHRLZXkAU1BQQ1MuU0xwUHJvY2Vzc1ZNUGlwZU1lc3NhZ2UAU0xwUHJvY2Vzc1ZNUGlw +ZU1lc3NhZ2UAU1BQQ1MuU0xwU2V0QWN0aXZhdGlvbkluUHJvZ3Jlc3MAU0xwU2V0QWN0aXZhdGlvbkluUHJvZ3Jlc3MAU1BQQ1MuU0xwVHJpZ2dlclNlcnZpY2VXb3JrZXIAU0xwVHJpZ2dlclNlcnZpY2VXb3JrZXIAU1BQQ1MuU0xwVkxBY3RpdmF0ZVByb2R1Y3QA +U0xwVkxBY3RpdmF0ZVByb2R1Y3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUHAAAAAAAAAAAAAAIHEAAIhwAABocAAAAAAAAAAAAAAwcQAAoHAAAHhwAAAAAAAAAAAAAERxAACwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAcAAAAAAAAOJwAAAAAAAAAAAAAAAAAAAAcQAAAAAAAAAAAAAAAAAA -DHEAAAAAAAAAAAAAAAAAAMBwAAAAAAAA4nAAAAAAAAAAAAAAAAAAAABxAAAAAAAAAAAAAAAAAAAMcQAAAAAAAAAAAAAAAAAAAgBTTEdldExpY2Vuc2luZ1N0YXR1c0luZm9ybWF0aW9uAAEAU0xHZXRQcm9kdWN0U2t1SW5mb3JtYXRpb24AAOgDTG9jYWxGcmVlAFEB -U3RyU3RyTklXAABwAAAAcAAAc3BwY3MuZGxsAAAAFHAAAEtFUk5FTDMyLmRsbAAAAAAocAAAU0hMV0FQSS5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAAABgAAIAAAAAAAAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAA -AAAAAAEACQQAAEgAAABYgAAAHAMAAAAAAAAAAAAAHAM0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAABAAEAAIAAAAAAAAAAAAAAAAAAAB8AgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkA -bgBmAG8AAABYAgAAAQAwADQAMAA5ADAANABFADQAAAB6AC0AAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAEEAbgBvAG0AYQBsAG8AdQBzACAAUwBvAGYAdAB3AGEAcgBlACAARABlAHQAZQByAGkAbwByAGEAdABpAG8AbgAgAEMAbwByAHAAbwByAGEAdABpAG8A -bgAAAAAAPgALAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAG8AaABvAG8AawAgAFMAUABQAEMAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMAAuADMALgAwAC4AMAAAACoABQABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAA -cwBwAHAAYwAAAAAAjAA0AAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAqQAgADIAMAAyADMAIABBAG4AbwBtAGEAbABvAHUAcwAgAFMAbwBmAHQAdwBhAHIAZQAgAEQAZQB0AGUAcgBpAG8AcgBhAHQAaQBvAG4AIABDAG8AcgBwAG8AcgBhAHQAaQBvAG4A -AAA6AAkAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAcwBwAHAAYwAuAGQAbABsAAAAAAAsAAYAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAG8AaABvAG8AawAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADAALgAzAC4A -MAAuADAAAABEAAAAAQBWAGEAcgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAACQTkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABogAAAAAAAAAAAAACogQAAwIAAAICAAAAAAAAAAAAAAMCBAADYgAAAoIAAAAAAAAAAAAAA1IEAAPiA +AACwgAAAAAAAAAAAAADogQAACIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiBAAAAAAAAOoEAAAAAAAAAAAAAAAAAAFiBAAAAAAAAZoEAAAAAAAB2gQAAAAAAAAAAAAAAAAAAiIEAAAAAAAAAAAAAAAAAAJSBAAAAAAAAAAAAAAAAAAAYgQAAAAAAADqBAAAAAAAA +AAAAAAAAAABYgQAAAAAAAGaBAAAAAAAAdoEAAAAAAAAAAAAAAAAAAIiBAAAAAAAAAAAAAAAAAACUgQAAAAAAAAAAAAAAAAAAAgBTTEdldExpY2Vuc2luZ1N0YXR1c0luZm9ybWF0aW9uAAEAU0xHZXRQcm9kdWN0U2t1SW5mb3JtYXRpb24AAEMGUmVnQ2xvc2VLZXkA +dAZSZWdPcGVuS2V5RXhXAI4GUmVnU2V0S2V5VmFsdWVXAOgDTG9jYWxGcmVlAFEBU3RyU3RyTklXAACAAAAAgAAAc3BwY3MuZGxsAAAAFIAAABSAAAAUgAAAQURWQVBJMzIuZGxsAAAAACiAAABLRVJORUwzMi5kbGwAAAAAPIAAAFNITFdBUEkuZGxsAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAJBAAASAAAAFiQAAAcAwAAAAAAAAAAAAAcAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAEAAAAAAAAAAQA +AAAAAAAAAAAAAAAAAAAEAAQAAgAAAAAAAAAAAAAAAAAAAHwCAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAAFgCAAABADAANAAwADkAMAA0AEUANAAAAHoALQABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAAQQBuAG8AbQBhAGwAbwB1AHMAIABTAG8A +ZgB0AHcAYQByAGUAIABEAGUAdABlAHIAaQBvAHIAYQB0AGkAbwBuACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAAAAAAA+AAsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAbwBoAG8AbwBrACAAUwBQAFAAQwAAAAAAMAAIAAEARgBpAGwAZQBWAGUA +cgBzAGkAbwBuAAAAAAAwAC4ANAAuADAALgAwAAAAKgAFAAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABzAHAAcABjAAAAAACMADQAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAACpACAAMgAwADIAMwAgAEEAbgBvAG0AYQBsAG8AdQBzACAAUwBvAGYA +dAB3AGEAcgBlACAARABlAHQAZQByAGkAbwByAGEAdABpAG8AbgAgAEMAbwByAHAAbwByAGEAdABpAG8AbgAAADoACQABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABzAHAAcABjAC4AZABsAGwAAAAAACwABgABAFAAcgBvAGQAdQBjAHQATgBhAG0A +ZQAAAAAAbwBoAG8AbwBrAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMAAuADQALgAwAC4AMAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAJBOQEAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= :sppc64.dll: :+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -2761,11 +2802,13 @@ set _NoEditionChange=0 :: If value is changed in above lines or parameter is used then script will run in unattended mode + + ::======================================================================================================================================== cls color 07 -title KMS38 Activation +title KMS38 Activation %masver% set _args= set _elev= @@ -2852,7 +2895,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -2865,7 +2908,7 @@ if %_rem%==1 goto :k_uninstall if %_unattended%==0 ( cls mode 76, 25 -title KMS38 Activation +title KMS38 Activation %masver% echo: echo: @@ -2896,7 +2939,7 @@ goto :k_menu cls mode 108, 34 -title KMS38 Activation +title KMS38 Activation %masver% echo: echo Initializing... @@ -3373,7 +3416,7 @@ goto :dk_done cls mode 99, 28 -title Remove KMS38 Protection +title Remove KMS38 Protection %masver% %nul% reg delete "HKLM\%specific_kms%" /f %nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f @@ -3613,7 +3656,7 @@ exit /b cls color 07 -title Online KMS Activation +title Online KMS Activation %masver% :: You are not supposed to edit anything below this. @@ -3685,7 +3728,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" set "_Local=%LocalAppData%" setlocal EnableDelayedExpansion @@ -3739,7 +3782,7 @@ if defined _unattended if not defined _unattendedact goto Done ::======================================================================================================================================== -set "_title=Online KMS Activation" +set "_title=Online KMS Activation %masver%" set _gui= :_KMS_Menu @@ -3948,7 +3991,7 @@ mode con cols=98 lines=31 %psc% "&%_buf%" title %_title% ) else ( -title Online KMS Activation +title Online KMS Activation %masver% ) if defined _gui if %_Debug%==1 mode con cols=98 lines=30 @@ -6742,7 +6785,7 @@ goto :eof cls mode con: cols=91 lines=30 -title Online KMS Complete Uninstall +title Online KMS Complete Uninstall %masver% set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" @@ -6853,7 +6896,7 @@ exit /b cls mode con cols=91 lines=30 -title Install Activation Auto-Renewal +title Install Activation Auto-Renewal %masver% set error_= set "_dest=%ProgramFiles%\Activation-Renewal" @@ -6882,7 +6925,7 @@ if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% call :createInfo.txt %psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":_extracttask\:.*`r`n\"; [io.file]::WriteAllText('%_dest%\Activation_task.cmd', '@REM Dummy ' + '%random%' + [Environment]::NewLine + $f[1].Trim(), [System.Text.Encoding]::ASCII);" -title Install Activation Auto-Renewal +title Install Activation Auto-Renewal %masver% ::======================================================================================================================================== @@ -8473,7 +8516,7 @@ PrintLicensesInformation -Mode "Device" cls color 07 -title Troubleshoot +title Troubleshoot %masver% set _args= set _elev= @@ -8518,7 +8561,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" :: Check desktop location @@ -8540,7 +8583,7 @@ setlocal EnableDelayedExpansion cls color 07 -title Troubleshoot +title Troubleshoot %masver% mode con cols=77 lines=30 echo: @@ -8701,7 +8744,7 @@ goto :at_back :retokens cls -mode con cols=115 lines=32 +mode con cols=125 lines=32 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" title Fix Licensing ^(ClipSVC ^+ Office vNext ^+ SPP ^+ OSPP^) @@ -8714,6 +8757,8 @@ echo - It helps in troubleshooting activation issues. echo: echo - This option will, echo - Deactivate Windows and Office, you may need to reactivate +echo If Windows is activated with motherboard / OEM / Digital license then don't worry +echo: echo - Clear ClipSVC, Office vNext, SPP and OSPP licenses echo - Fix SPP permissions of tokens folder and registries echo - Trigger the repair option for Office. @@ -8834,7 +8879,8 @@ for %%# in (wlidsvc LicenseManager) do (net stop %%# /y %nul% & net start %%# /y ::======================================================================================================================================== -:: Clear Office vNext License +:: Find remnants of Office vNext license block and remove it because it stops non vNext licenses from appearing +:: https://learn.microsoft.com/en-us/office/troubleshoot/activation/reset-office-365-proplus-activation-state :cleanvnext @@ -8873,21 +8919,28 @@ echo Deleted Folder - !_Local!\Microsoft\Office\Licenses\ echo Not Found - !_Local!\Microsoft\Office\Licenses\ ) + echo: -for %%# in ( -HKCU\Software\Microsoft\Office\16.0\Common\Licensing -HKCU\Software\Microsoft\Office\16.0\Registration +for /f "tokens=* delims=" %%a in ('%psc% "$userSIDs = Get-WmiObject -Class Win32_UserAccount | ForEach-Object {write-host $_.SID}" %nul6%') do (if defined _sid (set "_sid=!_sid! HKU\%%a") else (set "_sid=HKU\%%a")) + +set regfound= +for %%# in (HKCU !_sid!) do ( +for %%A in ( +%%#\Software\Microsoft\Office\16.0\Common\Licensing +%%#\Software\Microsoft\Office\16.0\Common\Identity +%%#\Software\Microsoft\Office\16.0\Registration ) do ( -reg query %%# %nul% && ( -reg delete %%# /f %nul% && ( -echo Deleted Registry - %%# +reg query %%A %nul% && ( +set regfound=1 +reg delete %%A /f %nul% && ( +echo Deleted Registry - %%A ) || ( -echo Failed to Delete - %%# -) -) || ( -echo Not Found Registry - %%# +echo Failed to Delete - %%A ) ) +) +) +if not defined regfound echo Not Found - Office vNext Registry Keys ::======================================================================================================================================== @@ -9545,7 +9598,7 @@ set _stg=0 cls color 07 -title Change Windows Edition +title Change Windows Edition %masver% set _args= set _elev= @@ -9607,7 +9660,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -9769,7 +9822,7 @@ echo "!_target!" | find /i " %%# " %nul1% || set "_target= !_target! %%# " if defined _target ( for %%# in (%_target%) do ( -echo %%# | findstr /i "CountrySpecific CloudEdition" %nul% || (set "_ntarget=!_ntarget! %%#") +echo %%# | findstr /i "CountrySpecific CloudEdition ServerRdsh" %nul% || (set "_ntarget=!_ntarget! %%#") ) ) @@ -9861,18 +9914,31 @@ goto ced_done :: Changing from Core to Non-Core & Changing editions in Windows build older than 17134 requires "changepk /productkey" or DISM Api method and restart :: In other cases, editions can be changed instantly with "slmgr /ipk" +if %_dismapi%==1 ( +mode con cols=105 lines=40 +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':checkrebootflag\:.*';iex ($f[1]);" | find /i "True" %nul% && ( +%eline% +echo Pending Reboot flags found. +echo: +echo Restart the system and try again. +goto ced_done +) +) + cls %line% echo: +if defined dismnotworking call :dk_color %_Yellow% "DISM.exe is not responding." echo Changing the Current Edition [%osedition%] %winbuild% to [%targetedition%] echo: if %_dismapi%==1 ( -call :dk_color %Blue% "Notes-" +call :dk_color %Green% "Notes-" echo: echo - Save your work before continue, system will auto restart. echo: echo - You will need to activate with HWID option once the edition is changed. +%line% echo: choice /C:21 /N /M "[1] Continue [2] %_exitmsg% : " if !errorlevel!==1 exit /b @@ -9904,7 +9970,7 @@ echo Check this page for help. %mas%troubleshoot if %_dismapi%==1 ( echo: -echo Applying the DISM API method with %_chan% Key %key% +echo Applying the DISM API method with %_chan% Key %key%. Please wait... echo: %psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':dismapi\:.*';& ([ScriptBlock]::Create($f[1])) %targetedition% %key%;" timeout /t 3 %nul1% @@ -9924,7 +9990,16 @@ cls mode con cols=105 lines=32 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':checkrebootflag\:.*';iex ($f[1]);" | find /i "True" %nul% && ( +%eline% +echo Pending reboot flags found. echo: +echo Restart the system and try again. +goto ced_done +) + +echo: +if defined dismnotworking call :dk_color %_Yellow% "Note - DISM.exe is not responding." echo Changing the Current Edition [%osedition%] %winbuild% to [%targetedition%] echo: call :dk_color %Blue% "Important - Save your work before continue, system will auto reboot." @@ -9973,8 +10048,17 @@ goto ced_done ::======================================================================================================================================== +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':checkrebootflag\:.*';iex ($f[1]);" | find /i "True" %nul% && ( +%eline% +echo Pending reboot flags found. +echo: +echo Restart the system and try again. +goto ced_done +) + cls echo: +if defined dismnotworking call :dk_color %_Yellow% "Note - DISM.exe is not responding." echo Changing the Current Edition [%osedition%] %winbuild% to [%targetedition%] echo: echo Applying the command with %_chan% Key @@ -10006,6 +10090,30 @@ exit /b ::======================================================================================================================================== +:: Check pending reboot flags + +:checkrebootflag: +function Test-PendingReboot +{ + if (Test-Path -Path "$env:windir\WinSxS\pending.xml") { return $true } + if (Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending" -EA Ignore) { return $true } + if (Get-Item "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" -EA Ignore) { return $true } + if (Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager" -Name PendingFileRenameOperations -EA Ignore) { return $true } + try { + $util = [wmiclass]"\\.\root\ccm\clientsdk:CCM_ClientUtilities" + $status = $util.DetermineIfRebootPending() + if(($status -ne $null) -and $status.RebootPending){ + return $true + } + }catch{} + + return $false +} +Test-PendingReboot +:checkrebootflag: + +::======================================================================================================================================== + :ced_windowskey for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 117bc18..4335271 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1,3 +1,4 @@ +@set masver=2.3 @setlocal DisableDelayedExpansion @echo off @@ -97,7 +98,7 @@ popd cls color 07 -title HWID Activation +title HWID Activation %masver% set _args= set _elev= @@ -194,7 +195,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -240,9 +241,37 @@ exit /b ::======================================================================================================================================== +:: Check for updates + +set -= +set old= + +for /f "delims=[] tokens=2" %%# in ('ping -n 1 updatecheck.mass%-%grave.dev') do ( +if not [%%#]==[] echo "%%#" | find "127.69.%masver%" %nul1% || set old=1 +) + +if defined old ( +echo ________________________________________________ +%eline% +echo You are running outdated version MAS %masver% +echo ________________________________________________ +echo: +if not %_unattended%==1 ( +echo [1] Download Latest MAS +echo [0] Continue Anyway +echo: +call :dk_color %_Green% "Enter a menu option in the Keyboard [1,0] :" +choice /C:10 /N +if !errorlevel!==2 rem +if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) +) +) + +::======================================================================================================================================== + cls mode 108, 34 -title HWID Activation +title HWID Activation %masver% :: Start Windows update service at the beginning and in later checks as well, because in some normal conditions one kick is not enough @@ -891,7 +920,7 @@ set showfix=1 if defined safeboot_option ( set error=1 set showfix=1 -call :dk_color2 %Red% "Checking Boot Mode " %Blue% "[System is running in safe mode. Run in normal mode.]" +call :dk_color2 %Red% "Checking Boot Mode " %Blue% "[Safe mode found. Run in normal mode.]" ) @@ -905,7 +934,7 @@ call :dk_color2 %Red% "Checking Audit Mode " %Blue% "[IMAGE_ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( set error=1 set showfix=1 -call :dk_color2 %Red% "Checking WinPE " %Blue% "[System is running in WinPE mode. Run in normal mode.]" +call :dk_color2 %Red% "Checking WinPE " %Blue% "[WinPE mode found. Run in normal mode.]" ) diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index db57129..721d707 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -1,3 +1,4 @@ +@set masver=2.3 @setlocal DisableDelayedExpansion @echo off @@ -100,7 +101,7 @@ popd cls color 07 -title KMS38 Activation +title KMS38 Activation %masver% set _args= set _elev= @@ -193,7 +194,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -239,6 +240,35 @@ exit /b ::======================================================================================================================================== +:: Check for updates + +set -= +set old= + +for /f "delims=[] tokens=2" %%# in ('ping -n 1 updatecheck.mass%-%grave.dev') do ( +if not [%%#]==[] echo "%%#" | find "127.69.%masver%" %nul1% || set old=1 +) + +if defined old ( +echo ________________________________________________ +%eline% +echo You are running outdated version MAS %masver% +echo ________________________________________________ +echo: +if not %_unattended%==1 ( +echo [1] Download Latest MAS +echo [0] Continue Anyway +echo: +call :dk_color %_Green% "Enter a menu option in the Keyboard [1,0] :" +choice /C:10 /N +if !errorlevel!==2 rem +if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) +) +) +cls + +::======================================================================================================================================== + if %_rem%==1 goto :k_uninstall :k_menu @@ -246,7 +276,7 @@ if %_rem%==1 goto :k_uninstall if %_unattended%==0 ( cls mode 76, 25 -title KMS38 Activation +title KMS38 Activation %masver% echo: echo: @@ -277,7 +307,7 @@ goto :k_menu cls mode 108, 34 -title KMS38 Activation +title KMS38 Activation %masver% echo: echo Initializing... @@ -754,7 +784,7 @@ goto :dk_done cls mode 99, 28 -title Remove KMS38 Protection +title Remove KMS38 Protection %masver% %nul% reg delete "HKLM\%specific_kms%" /f %nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f @@ -1037,7 +1067,7 @@ set showfix=1 if defined safeboot_option ( set error=1 set showfix=1 -call :dk_color2 %Red% "Checking Boot Mode " %Blue% "[System is running in safe mode. Run in normal mode.]" +call :dk_color2 %Red% "Checking Boot Mode " %Blue% "[Safe mode found. Run in normal mode.]" ) @@ -1051,7 +1081,7 @@ call :dk_color2 %Red% "Checking Audit Mode " %Blue% "[IMAGE_ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( set error=1 set showfix=1 -call :dk_color2 %Red% "Checking WinPE " %Blue% "[System is running in WinPE mode. Run in normal mode.]" +call :dk_color2 %Red% "Checking WinPE " %Blue% "[WinPE mode found. Run in normal mode.]" ) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation/BIN/sppc32.dll b/MAS/Separate-Files-Version/Activators/Ohook_Activation/BIN/sppc32.dll index 42dc642..14fb3dc 100644 Binary files a/MAS/Separate-Files-Version/Activators/Ohook_Activation/BIN/sppc32.dll and b/MAS/Separate-Files-Version/Activators/Ohook_Activation/BIN/sppc32.dll differ diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation/BIN/sppc64.dll b/MAS/Separate-Files-Version/Activators/Ohook_Activation/BIN/sppc64.dll index 03dfff6..b6d5dac 100644 Binary files a/MAS/Separate-Files-Version/Activators/Ohook_Activation/BIN/sppc64.dll and b/MAS/Separate-Files-Version/Activators/Ohook_Activation/BIN/sppc64.dll differ diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation/Ohook_Activation.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation/Ohook_Activation.cmd index 70e54aa..7549b80 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation/Ohook_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation/Ohook_Activation.cmd @@ -1,3 +1,4 @@ +@set masver=2.3 @setlocal DisableDelayedExpansion @echo off @@ -97,7 +98,7 @@ popd cls color 07 -title Ohook Activation +title Ohook Activation %masver% set _args= set _elev= @@ -186,7 +187,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -232,6 +233,35 @@ exit /b ::======================================================================================================================================== +:: Check for updates + +set -= +set old= + +for /f "delims=[] tokens=2" %%# in ('ping -n 1 updatecheck.mass%-%grave.dev') do ( +if not [%%#]==[] echo "%%#" | find "127.69.%masver%" %nul1% || set old=1 +) + +if defined old ( +echo ________________________________________________ +%eline% +echo You are running outdated version MAS %masver% +echo ________________________________________________ +echo: +if not %_unattended%==1 ( +echo [1] Download Latest MAS +echo [0] Continue Anyway +echo: +call :dk_color %_Green% "Enter a menu option in the Keyboard [1,0] :" +choice /C:10 /N +if !errorlevel!==2 rem +if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) +) +) +cls + +::======================================================================================================================================== + if %_rem%==1 goto :oh_uninstall :oh_menu @@ -239,7 +269,7 @@ if %_rem%==1 goto :oh_uninstall if %_unattended%==0 ( cls mode 76, 25 -title Ohook Activation +title Ohook Activation %masver% echo: echo: @@ -275,7 +305,7 @@ cls mode 128, 32 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=32;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" -title Ohook Activation +title Ohook Activation %masver% :: Check files @@ -496,34 +526,27 @@ call :oh_hookinstall ::======================================================================================================================================== :: Find remnants of Office vNext license block and remove it because it stops non vNext licenses from appearing +:: https://learn.microsoft.com/en-us/office/troubleshoot/activation/reset-office-365-proplus-activation-state set sub_next= -set kNext=HKCU\SOFTWARE\Microsoft\Office\16.0\Common\Licensing -reg query %kNext%\LicensingNext /v MigrationToV5Done %nul2% | find /i "0x1" %nul% && ( -reg query %kNext%\LicensingNext %nul2% | findstr /i "volume retail" %nul2% | findstr /i "0x2 0x3" %nul% && ( +for /f "tokens=* delims=" %%a in ('%psc% "$userSIDs = Get-WmiObject -Class Win32_UserAccount | ForEach-Object {write-host $_.SID}" %nul6%') do (if defined _sid (set "_sid=!_sid! HKU\%%a") else (set "_sid=HKU\%%a")) + +for %%# in (!_sid! HKCU) do if not defined sub_next ( +reg query %%#\Software\Microsoft\Office\16.0\Common\Licensing\LicensingNext /v MigrationToV5Done %nul2% | find /i "0x1" %nul% && ( +reg query %%#\Software\Microsoft\Office\16.0\Common\Licensing\LicensingNext %nul2% | findstr /i "volume retail" %nul2% | findstr /i "0x2 0x3" %nul% && ( set sub_next=1 -reg delete %kNext% /f %nul% +) ) ) -if defined sub_next ( -reg query %kNext%\LicensingNext %nul% && ( -call :dk_color %Red% "Removing Office vNext Block [Failed]" -) || ( -echo Removing Office vNext Block [Successful] -) +if defined sub_next for %%# in (!_sid! HKCU) do ( +reg delete %%#\Software\Microsoft\Office\16.0\Common\Licensing /f %nul% +reg delete %%#\Software\Microsoft\Office\16.0\Common\Identity /f %nul% +reg delete %%#\Software\Microsoft\Office\16.0\Registration /f %nul% ) -::======================================================================================================================================== - -:: Subscription licenses attempt to validate the license and may show a banner "There was a problem checking this device's license status.", other products don't do that. -:: A simple registry entry can skip this check - -if defined _sublic ( -echo Adding a Reg To Skip License Check [Successful] -reg add HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /v "TimeOfLastHeartbeatFailure" /t REG_SZ /d "2033-08-18T22:18:45Z" /f %nul% -) +if defined sub_next echo Removing Office vNext Block [Successful] ::======================================================================================================================================== @@ -607,7 +630,7 @@ goto :dk_done cls mode 99, 28 -title Uninstall Ohook Activation +title Uninstall Ohook Activation %masver% set _present= set _unerror= @@ -644,15 +667,21 @@ if exist "%%~A\Microsoft %%~G\root\vfs\%%#\sppc*dll" (set _present=1& del /s /f ) ) -reg query HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /s %nul2% | find /i "2033" %nul% && ( +reg query HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency %nul% && ( echo: -echo Deleting - HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency +echo Deleting - Registry keys to skip license check reg delete HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /f + +for /f "tokens=* delims=" %%a in ('%psc% "$userSIDs = Get-WmiObject -Class Win32_UserAccount | ForEach-Object {write-host $_.SID}" %nul6%') do (if defined _sid (set "_sid=!_sid! %%a") else (set "_sid=%%a")) +for %%# in (!_sid!) do (reg query HKU\%%#\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency %nul% && ( +reg delete HKU\%%#\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /f +) +) ) reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663" %nul% && ( echo: -echo Deleting - Registry key to prevent non-genuine banner +echo Deleting - Registry keys to prevent non-genuine banner reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663" /f ) @@ -789,6 +818,9 @@ exit /b set ierror= set hasherror= +if %_hook%==sppc32.dll set offset=2564 +if %_hook%==sppc64.dll set offset=3588 + del /s /q "%_hookPath%\sppcs.dll" %nul% del /s /q "%_hookPath%\sppc.dll" %nul% @@ -812,10 +844,12 @@ set error=1 call :dk_color %Red% "Symlinking Systems sppc.dll [Failed]" call :dk_color %Red% "Copying Custom %_hook% [Failed]" echo ["%_hookPath%\sppc.dll"] -call :dk_color %Blue% "Close Office apps if they are running and try again." +echo: +call :dk_color %Blue% "Close ALL Office apps including Outlook and try again." +call :dk_color %Blue% "If its still not resolved then restart system and try again." ) -if not defined ierror call :oh_modify "%_hookPath%\sppc.dll" +if not defined ierror call :oh_modify "%_hookPath%\sppc.dll" "%offset%" if not defined ierror ( if defined hasherror ( @@ -1076,7 +1110,7 @@ set showfix=1 if defined safeboot_option ( set error=1 set showfix=1 -call :dk_color2 %Red% "Checking Boot Mode " %Blue% "[System is running in safe mode. Run in normal mode.]" +call :dk_color2 %Red% "Checking Boot Mode " %Blue% "[Safe mode found. Run in normal mode.]" ) @@ -1090,7 +1124,7 @@ call :dk_color2 %Red% "Checking Audit Mode " %Blue% "[IMAGE_ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( set error=1 set showfix=1 -call :dk_color2 %Red% "Checking WinPE " %Blue% "[System is running in WinPE mode. Run in normal mode.]" +call :dk_color2 %Red% "Checking WinPE " %Blue% "[WinPE mode found. Run in normal mode.]" ) @@ -1487,15 +1521,10 @@ exit /b :oh_modify -%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':hexedit\:.*';& ([ScriptBlock]::Create($f[1])) '%1';" %nul2% | find /i "Error found" %nul1% && set hasherror=1 +%psc% "$PePath='%1'; $offset='%2'; $f=[io.file]::ReadAllText('!_batp!') -split ':hexedit\:.*';iex ($f[1]);" %nul2% | find /i "Error found" %nul1% && set hasherror=1 exit /b :hexedit: -param ( - [Parameter()] - [String]$PePath -) - # Define dynamic assembly, module, and type $AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1) $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule(2, $False) @@ -1510,7 +1539,7 @@ $Imagehlp = $TypeBuilder.CreateType() # File and offset information $PeFile = Get-ChildItem -Path $PePath $timestampOffset = 136 -$exportTimestampOffset = 3076 +$exportTimestampOffset = $offset $checkSumOffset = 216 # Calculate timestamp diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 78a74de..e4cee13 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -1,3 +1,4 @@ +@set masver=2.3 @setlocal DisableDelayedExpansion @echo off @@ -93,7 +94,7 @@ popd cls color 07 -title Online KMS Activation +title Online KMS Activation %masver% :: You are not supposed to edit anything below this. @@ -180,7 +181,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" set "_Local=%LocalAppData%" setlocal EnableDelayedExpansion @@ -227,6 +228,35 @@ exit /b ::======================================================================================================================================== +:: Check for updates + +set -= +set old= + +for /f "delims=[] tokens=2" %%# in ('ping -n 1 updatecheck.mass%-%grave.dev') do ( +if not [%%#]==[] echo "%%#" | find "127.69.%masver%" %nul1% || set old=1 +) + +if defined old ( +echo ________________________________________________ +%eline% +echo You are running outdated version MAS %masver% +echo ________________________________________________ +echo: +if not defined _unattended ( +echo [1] Download Latest MAS +echo [0] Continue Anyway +echo: +call :_color %_Green% "Enter a menu option in the Keyboard [1,0] :" +choice /C:10 /N +if !errorlevel!==2 rem +if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) +) +) +cls + +::======================================================================================================================================== + if %~z0 GEQ 300000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") :: Check not x86 Windows @@ -274,7 +304,7 @@ if defined _unattended if not defined _unattendedact goto Done ::======================================================================================================================================== -set "_title=Online KMS Activation" +set "_title=Online KMS Activation %masver%" set _gui= :_KMS_Menu @@ -483,7 +513,7 @@ mode con cols=98 lines=31 %psc% "&%_buf%" title %_title% ) else ( -title Online KMS Activation +title Online KMS Activation %masver% ) if defined _gui if %_Debug%==1 mode con cols=98 lines=30 @@ -3277,7 +3307,7 @@ goto :eof cls mode con: cols=91 lines=30 -title Online KMS Complete Uninstall +title Online KMS Complete Uninstall %masver% set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" @@ -3388,7 +3418,7 @@ exit /b cls mode con cols=91 lines=30 -title Install Activation Auto-Renewal +title Install Activation Auto-Renewal %masver% set error_= set "_dest=%ProgramFiles%\Activation-Renewal" @@ -3417,7 +3447,7 @@ if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% call :createInfo.txt %psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":_extracttask\:.*`r`n\"; [io.file]::WriteAllText('%_dest%\Activation_task.cmd', '@REM Dummy ' + '%random%' + [Environment]::NewLine + $f[1].Trim(), [System.Text.Encoding]::ASCII);" -title Install Activation Auto-Renewal +title Install Activation Auto-Renewal %masver% ::======================================================================================================================================== diff --git a/MAS/Separate-Files-Version/Change_Edition.cmd b/MAS/Separate-Files-Version/Change_Edition.cmd index 55de6db..fe23bf6 100644 --- a/MAS/Separate-Files-Version/Change_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Edition.cmd @@ -1,3 +1,4 @@ +@set masver=2.3 @setlocal DisableDelayedExpansion @echo off @@ -92,7 +93,7 @@ popd cls color 07 -title Change Windows Edition +title Change Windows Edition %masver% set _args= set _elev= @@ -169,7 +170,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -214,6 +215,32 @@ exit /b ::======================================================================================================================================== +:: Check for updates + +set -= +set old= + +for /f "delims=[] tokens=2" %%# in ('ping -n 1 updatecheck.mass%-%grave.dev') do ( +if not [%%#]==[] echo "%%#" | find "127.69.%masver%" %nul1% || set old=1 +) + +if defined old ( +echo ________________________________________________ +%eline% +echo You are running outdated version MAS %masver% +echo ________________________________________________ +echo: +echo [1] Download Latest MAS +echo [0] Continue Anyway +echo: +call :dk_color %_Green% "Enter a menu option in the Keyboard [1,0] :" +choice /C:10 /N +if !errorlevel!==2 rem +if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) +) + +::======================================================================================================================================== + cls mode 98, 30 @@ -370,7 +397,7 @@ echo "!_target!" | find /i " %%# " %nul1% || set "_target= !_target! %%# " if defined _target ( for %%# in (%_target%) do ( -echo %%# | findstr /i "CountrySpecific CloudEdition" %nul% || (set "_ntarget=!_ntarget! %%#") +echo %%# | findstr /i "CountrySpecific CloudEdition ServerRdsh" %nul% || (set "_ntarget=!_ntarget! %%#") ) ) @@ -462,18 +489,31 @@ goto ced_done :: Changing from Core to Non-Core & Changing editions in Windows build older than 17134 requires "changepk /productkey" or DISM Api method and restart :: In other cases, editions can be changed instantly with "slmgr /ipk" +if %_dismapi%==1 ( +mode con cols=105 lines=40 +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':checkrebootflag\:.*';iex ($f[1]);" | find /i "True" %nul% && ( +%eline% +echo Pending Reboot flags found. +echo: +echo Restart the system and try again. +goto ced_done +) +) + cls %line% echo: +if defined dismnotworking call :dk_color %_Yellow% "DISM.exe is not responding." echo Changing the Current Edition [%osedition%] %winbuild% to [%targetedition%] echo: if %_dismapi%==1 ( -call :dk_color %Blue% "Notes-" +call :dk_color %Green% "Notes-" echo: echo - Save your work before continue, system will auto restart. echo: echo - You will need to activate with HWID option once the edition is changed. +%line% echo: choice /C:21 /N /M "[1] Continue [2] %_exitmsg% : " if !errorlevel!==1 exit /b @@ -505,7 +545,7 @@ echo Check this page for help. %mas%troubleshoot if %_dismapi%==1 ( echo: -echo Applying the DISM API method with %_chan% Key %key% +echo Applying the DISM API method with %_chan% Key %key%. Please wait... echo: %psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':dismapi\:.*';& ([ScriptBlock]::Create($f[1])) %targetedition% %key%;" timeout /t 3 %nul1% @@ -525,7 +565,16 @@ cls mode con cols=105 lines=32 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':checkrebootflag\:.*';iex ($f[1]);" | find /i "True" %nul% && ( +%eline% +echo Pending reboot flags found. echo: +echo Restart the system and try again. +goto ced_done +) + +echo: +if defined dismnotworking call :dk_color %_Yellow% "Note - DISM.exe is not responding." echo Changing the Current Edition [%osedition%] %winbuild% to [%targetedition%] echo: call :dk_color %Blue% "Important - Save your work before continue, system will auto reboot." @@ -574,8 +623,17 @@ goto ced_done ::======================================================================================================================================== +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':checkrebootflag\:.*';iex ($f[1]);" | find /i "True" %nul% && ( +%eline% +echo Pending reboot flags found. +echo: +echo Restart the system and try again. +goto ced_done +) + cls echo: +if defined dismnotworking call :dk_color %_Yellow% "Note - DISM.exe is not responding." echo Changing the Current Edition [%osedition%] %winbuild% to [%targetedition%] echo: echo Applying the command with %_chan% Key @@ -663,6 +721,30 @@ exit /b ::======================================================================================================================================== +:: Check pending reboot flags + +:checkrebootflag: +function Test-PendingReboot +{ + if (Test-Path -Path "$env:windir\WinSxS\pending.xml") { return $true } + if (Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending" -EA Ignore) { return $true } + if (Get-Item "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" -EA Ignore) { return $true } + if (Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager" -Name PendingFileRenameOperations -EA Ignore) { return $true } + try { + $util = [wmiclass]"\\.\root\ccm\clientsdk:CCM_ClientUtilities" + $status = $util.DetermineIfRebootPending() + if(($status -ne $null) -and $status.RebootPending){ + return $true + } + }catch{} + + return $false +} +Test-PendingReboot +:checkrebootflag: + +::======================================================================================================================================== + :: Get Product Key from pkeyhelper.dll for future new editions :: It works on Windows 10 1803 (17134) and later builds. diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 34cd8a0..686d754 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -1,3 +1,4 @@ +@set masver=2.3 @setlocal DisableDelayedExpansion @echo off @@ -87,7 +88,7 @@ popd cls color 07 -title Extract $OEM$ Folder +title Extract $OEM$ Folder %masver% set _args= set _elev= @@ -161,7 +162,7 @@ set "_batf=%~f0" set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -206,6 +207,33 @@ exit /b ::======================================================================================================================================== +:: Check for updates + +set -= +set old= + +for /f "delims=[] tokens=2" %%# in ('ping -n 1 updatecheck.mass%-%grave.dev') do ( +if not [%%#]==[] echo "%%#" | find "127.69.%masver%" %nul1% || set old=1 +) + +if defined old ( +echo ________________________________________________ +%eline% +echo You are running outdated version MAS %masver% +echo ________________________________________________ +echo: +echo [1] Download Latest MAS +echo [0] Continue Anyway +echo: +call :ex_color %_Green% "Enter a menu option in the Keyboard [1,0] :" +choice /C:10 /N +if !errorlevel!==2 rem +if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) +) +cls + +::======================================================================================================================================== + setlocal DisableDelayedExpansion :: Check desktop location @@ -336,7 +364,7 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /HWID +call "%~dp0HWID_Activation.cmd" /HWID cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -370,7 +398,7 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0Ohook_Activation.cmd" /Ohook +call "%~dp0Ohook_Activation.cmd" /Ohook cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -400,7 +428,7 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /KMS38 +call "%~dp0KMS38_Activation.cmd" /KMS38 cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -430,7 +458,7 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-WindowsOffice +call "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-WindowsOffice cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -466,9 +494,9 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /HWID +call "%~dp0HWID_Activation.cmd" /HWID -start /b /wait cmd /c "%~dp0Ohook_Activation.cmd" /Ohook +call "%~dp0Ohook_Activation.cmd" /Ohook cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -500,9 +528,9 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /HWID +call "%~dp0HWID_Activation.cmd" /HWID -start /b /wait cmd /c "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-Office +call "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-Office cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -538,9 +566,9 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /KMS38 +call "%~dp0KMS38_Activation.cmd" /KMS38 -start /b /wait cmd /c "%~dp0Ohook_Activation.cmd" /Ohook +call "%~dp0Ohook_Activation.cmd" /Ohook cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -572,9 +600,9 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /KMS38 +call "%~dp0KMS38_Activation.cmd" /KMS38 -start /b /wait cmd /c "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-Office +call "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-Office cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -610,9 +638,9 @@ goto done fltmc >nul || exit /b -start /b /wait cmd /c "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-Windows +call "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-Windows -start /b /wait cmd /c "%~dp0Ohook_Activation.cmd" /Ohook +call "%~dp0Ohook_Activation.cmd" /Ohook cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index cf81042..ca22bdf 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1,3 +1,4 @@ +@set masver=2.3 @setlocal DisableDelayedExpansion @echo off @@ -87,7 +88,7 @@ popd cls color 07 -title Troubleshoot +title Troubleshoot %masver% set _args= set _elev= @@ -147,7 +148,7 @@ set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" -el %_args% -set "_ttemp=%temp%" +set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion @@ -192,6 +193,33 @@ exit /b ::======================================================================================================================================== +:: Check for updates + +set -= +set old= + +for /f "delims=[] tokens=2" %%# in ('ping -n 1 updatecheck.mass%-%grave.dev') do ( +if not [%%#]==[] echo "%%#" | find "127.69.%masver%" %nul1% || set old=1 +) + +if defined old ( +echo ________________________________________________ +%eline% +echo You are running outdated version MAS %masver% +echo ________________________________________________ +echo: +echo [1] Download Latest MAS +echo [0] Continue Anyway +echo: +call :_color %_Green% "Enter a menu option in the Keyboard [1,0] :" +choice /C:10 /N +if !errorlevel!==2 rem +if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) +) +cls + +::======================================================================================================================================== + setlocal DisableDelayedExpansion :: Check desktop location @@ -214,7 +242,7 @@ setlocal EnableDelayedExpansion cls color 07 -title Troubleshoot +title Troubleshoot %masver% mode con cols=77 lines=30 echo: @@ -375,7 +403,7 @@ goto :at_back :retokens cls -mode con cols=115 lines=32 +mode con cols=125 lines=32 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" title Fix Licensing ^(ClipSVC ^+ Office vNext ^+ SPP ^+ OSPP^) @@ -388,6 +416,8 @@ echo - It helps in troubleshooting activation issues. echo: echo - This option will, echo - Deactivate Windows and Office, you may need to reactivate +echo If Windows is activated with motherboard / OEM / Digital license then don't worry +echo: echo - Clear ClipSVC, Office vNext, SPP and OSPP licenses echo - Fix SPP permissions of tokens folder and registries echo - Trigger the repair option for Office. @@ -508,7 +538,8 @@ for %%# in (wlidsvc LicenseManager) do (net stop %%# /y %nul% & net start %%# /y ::======================================================================================================================================== -:: Clear Office vNext License +:: Find remnants of Office vNext license block and remove it because it stops non vNext licenses from appearing +:: https://learn.microsoft.com/en-us/office/troubleshoot/activation/reset-office-365-proplus-activation-state :cleanvnext @@ -547,21 +578,28 @@ echo Deleted Folder - !_Local!\Microsoft\Office\Licenses\ echo Not Found - !_Local!\Microsoft\Office\Licenses\ ) + echo: -for %%# in ( -HKCU\Software\Microsoft\Office\16.0\Common\Licensing -HKCU\Software\Microsoft\Office\16.0\Registration +for /f "tokens=* delims=" %%a in ('%psc% "$userSIDs = Get-WmiObject -Class Win32_UserAccount | ForEach-Object {write-host $_.SID}" %nul6%') do (if defined _sid (set "_sid=!_sid! HKU\%%a") else (set "_sid=HKU\%%a")) + +set regfound= +for %%# in (HKCU !_sid!) do ( +for %%A in ( +%%#\Software\Microsoft\Office\16.0\Common\Licensing +%%#\Software\Microsoft\Office\16.0\Common\Identity +%%#\Software\Microsoft\Office\16.0\Registration ) do ( -reg query %%# %nul% && ( -reg delete %%# /f %nul% && ( -echo Deleted Registry - %%# +reg query %%A %nul% && ( +set regfound=1 +reg delete %%A /f %nul% && ( +echo Deleted Registry - %%A ) || ( -echo Failed to Delete - %%# -) -) || ( -echo Not Found Registry - %%# +echo Failed to Delete - %%A ) ) +) +) +if not defined regfound echo Not Found - Office vNext Registry Keys ::======================================================================================================================================== diff --git a/README.md b/README.md index f4db3f3..4c29af8 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ To run the scripts in unattended mode, check [here](https://massgrave.dev/command_line_switches.html) ``` -Latest Version: 2.2 -Release date: 03-Oct-2023 +Latest Version: 2.3 +Release date: 16-Oct-2023 ``` ### [Troubleshooting / Help](https://massgrave.dev/troubleshoot.html)