diff options
| author | WindowsAddict | 2024-07-12 22:48:44 +0000 |
|---|---|---|
| committer | WindowsAddict | 2024-07-12 22:48:44 +0000 |
| commit | b7c3f9a98a8c932b52d3658148b636031e98cd09 (patch) | |
| tree | 3570361f81d2f46a1cc5e99881e55eb78f852535 /MAS/Separate-Files-Version/Activators | |
| parent | 48fb5fc5fe9124554b2adac39bf498a6894ae26b (diff) | |
| download | Microsoft-Activation-Scripts-b7c3f9a98a8c932b52d3658148b636031e98cd09.zip | |
Shorten the Windows Subscription check code
Diffstat (limited to 'MAS/Separate-Files-Version/Activators')
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:
|
