From b7c3f9a98a8c932b52d3658148b636031e98cd09 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sat, 13 Jul 2024 04:18:44 +0530 Subject: [PATCH] Shorten the Windows Subscription check code --- .../Activators/HWID_Activation.cmd | 36 ++++++------------- .../Activators/KMS38_Activation.cmd | 36 ++++++------------- .../Activators/Online_KMS_Activation.cmd | 36 ++++++------------- 3 files changed, 33 insertions(+), 75 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 36a6e22..27bda52 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -829,33 +829,19 @@ exit /b :: Get Windows Subscription status :winsubstatus: -$DM = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1).DefineDynamicModule(2) -$SB = $DM.DefineType('sub_status', 9, [ValueType], 0) - -('enabled#int', 'sku#int', 'state#int').ForEach({ - $i = $_ -split '#' - $n = $i[0] - $t = $i[1] -as [Type] - [void]$SB.DefineField($n, $t, 6) -}) - -$sub_status = $SB.CreateType() -$MB = $DM.DefineType('PInvoke') - -[void]$MB.DefinePInvokeMethod('ClipGetSubscriptionStatus', 'Clipc.dll', 22, 1, [UInt32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128) - -$Clipc = $MB.CreateType() -$s = [Activator]::CreateInstance($sub_status) -$p = [Runtime.InteropServices.Marshal]::AllocHGlobal([Runtime.InteropServices.Marshal]::SizeOf($s)) -$r = $Clipc::ClipGetSubscriptionStatus([ref]$p) - +$DM = [AppDomain]::CurrentDomain.DefineDynamicAssembly(6, 1).DefineDynamicModule(4).DefineType(2) +[void]$DM.DefinePInvokeMethod('ClipGetSubscriptionStatus', 'Clipc.dll', 22, 1, [Int32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128) +$m = [System.Runtime.InteropServices.Marshal] +$p = $m::AllocHGlobal(12) +$r = $DM.CreateType()::ClipGetSubscriptionStatus([ref]$p) if ($r -eq 0) { - $s = [Runtime.InteropServices.Marshal]::PtrToStructure($p, [type]$sub_status) - if ($s.enabled -ne 0) { - if ($s.state -eq 1) { - "Subscription_is_activated." - } + $enabled = $m::ReadInt32($p) + if ($enabled -ge 1) { + $state = $m::ReadInt32($p, 8) + if ($state -eq 1) { + "Subscription_is_activated." } + } } :winsubstatus: diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index 23fefb4..0bd1c1f 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -925,33 +925,19 @@ exit /b :: Get Windows Subscription status :winsubstatus: -$DM = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1).DefineDynamicModule(2) -$SB = $DM.DefineType('sub_status', 9, [ValueType], 0) - -('enabled#int', 'sku#int', 'state#int').ForEach({ - $i = $_ -split '#' - $n = $i[0] - $t = $i[1] -as [Type] - [void]$SB.DefineField($n, $t, 6) -}) - -$sub_status = $SB.CreateType() -$MB = $DM.DefineType('PInvoke') - -[void]$MB.DefinePInvokeMethod('ClipGetSubscriptionStatus', 'Clipc.dll', 22, 1, [UInt32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128) - -$Clipc = $MB.CreateType() -$s = [Activator]::CreateInstance($sub_status) -$p = [Runtime.InteropServices.Marshal]::AllocHGlobal([Runtime.InteropServices.Marshal]::SizeOf($s)) -$r = $Clipc::ClipGetSubscriptionStatus([ref]$p) - +$DM = [AppDomain]::CurrentDomain.DefineDynamicAssembly(6, 1).DefineDynamicModule(4).DefineType(2) +[void]$DM.DefinePInvokeMethod('ClipGetSubscriptionStatus', 'Clipc.dll', 22, 1, [Int32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128) +$m = [System.Runtime.InteropServices.Marshal] +$p = $m::AllocHGlobal(12) +$r = $DM.CreateType()::ClipGetSubscriptionStatus([ref]$p) if ($r -eq 0) { - $s = [Runtime.InteropServices.Marshal]::PtrToStructure($p, [type]$sub_status) - if ($s.enabled -ne 0) { - if ($s.state -eq 1) { - "Subscription_is_activated." - } + $enabled = $m::ReadInt32($p) + if ($enabled -ge 1) { + $state = $m::ReadInt32($p, 8) + if ($state -eq 1) { + "Subscription_is_activated." } + } } :winsubstatus: diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 22954d4..d1bf5c0 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -2268,33 +2268,19 @@ exit /b :: Get Windows Subscription status :winsubstatus: -$DM = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1).DefineDynamicModule(2) -$SB = $DM.DefineType('sub_status', 9, [ValueType], 0) - -('enabled#int', 'sku#int', 'state#int').ForEach({ - $i = $_ -split '#' - $n = $i[0] - $t = $i[1] -as [Type] - [void]$SB.DefineField($n, $t, 6) -}) - -$sub_status = $SB.CreateType() -$MB = $DM.DefineType('PInvoke') - -[void]$MB.DefinePInvokeMethod('ClipGetSubscriptionStatus', 'Clipc.dll', 22, 1, [UInt32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128) - -$Clipc = $MB.CreateType() -$s = [Activator]::CreateInstance($sub_status) -$p = [Runtime.InteropServices.Marshal]::AllocHGlobal([Runtime.InteropServices.Marshal]::SizeOf($s)) -$r = $Clipc::ClipGetSubscriptionStatus([ref]$p) - +$DM = [AppDomain]::CurrentDomain.DefineDynamicAssembly(6, 1).DefineDynamicModule(4).DefineType(2) +[void]$DM.DefinePInvokeMethod('ClipGetSubscriptionStatus', 'Clipc.dll', 22, 1, [Int32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128) +$m = [System.Runtime.InteropServices.Marshal] +$p = $m::AllocHGlobal(12) +$r = $DM.CreateType()::ClipGetSubscriptionStatus([ref]$p) if ($r -eq 0) { - $s = [Runtime.InteropServices.Marshal]::PtrToStructure($p, [type]$sub_status) - if ($s.enabled -ne 0) { - if ($s.state -eq 1) { - "Subscription_is_activated." - } + $enabled = $m::ReadInt32($p) + if ($enabled -ge 1) { + $state = $m::ReadInt32($p, 8) + if ($state -eq 1) { + "Subscription_is_activated." } + } } :winsubstatus: