From 3d06c26f2934e0f9700e106b1151f8e47e29f596 Mon Sep 17 00:00:00 2001 From: galex505 <173912747+galex505@users.noreply.github.com> Date: Wed, 3 Jun 2026 10:40:06 +0200 Subject: [PATCH 1/2] feat: include check for CosntrainedLanguage mode --- thor-seed/thor-seed.ps1 | 42 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/thor-seed/thor-seed.ps1 b/thor-seed/thor-seed.ps1 index 837e161..e86ec9d 100644 --- a/thor-seed/thor-seed.ps1 +++ b/thor-seed/thor-seed.ps1 @@ -4,7 +4,7 @@ # Author: Florian Roth # Version: 2.0.0 # Date Created: 13.07.2020 -# Last Modified: 11.02.2026 +# Last Modified: 03.06.2026 ################################################## #Requires -Version 3 @@ -196,6 +196,46 @@ param $ProxyCredentials = [System.Management.Automation.PSCredential]::Empty ) +# Detect Constrained Language Mode + +try +{ + $LanguageMode = $ExecutionContext.SessionState.LanguageMode + + if ($LanguageMode -eq 'ConstrainedLanguage') + { + Write-Host "" + Write-Host "===========================================================" -ForegroundColor Red + Write-Host " ERROR: PowerShell Constrained Language Mode detected" -ForegroundColor Red + Write-Host "===========================================================" -ForegroundColor Red + Write-Host "" + Write-Host "Current Language Mode : $LanguageMode" + Write-Host "" + Write-Host "THOR Seed requires FullLanguage mode because it uses:" + Write-Host " - .NET classes" + Write-Host " - Add-Type" + Write-Host " - File and ZIP operations" + Write-Host " - WebClient and TLS settings" + Write-Host "" + Write-Host "The script cannot continue in Constrained Language Mode." + Write-Host "" + Write-Host "Common causes:" + Write-Host " - WDAC (Windows Defender Application Control)" + Write-Host " - AppLocker" + Write-Host " - JEA (Just Enough Administration)" + Write-Host " - Security product restrictions" + Write-Host "" + + exit 1001 + } + + Write-Host "[+] PowerShell Language Mode: $LanguageMode" +} +catch +{ + Write-Host "[!] Unable to determine PowerShell Language Mode" +} + # ##################################################################### # Presets ------------------------------------------------------------- # ##################################################################### From 16fb4bd2821164bf3ee6f7752fb9388ebd972e60 Mon Sep 17 00:00:00 2001 From: Florian Roth Date: Mon, 15 Jun 2026 18:09:00 +0200 Subject: [PATCH 2/2] Update thor-seed/thor-seed.ps1 --- thor-seed/thor-seed.ps1 | 57 +++++++++++++++-------------------------- 1 file changed, 20 insertions(+), 37 deletions(-) diff --git a/thor-seed/thor-seed.ps1 b/thor-seed/thor-seed.ps1 index 7210791..61b39a4 100644 --- a/thor-seed/thor-seed.ps1 +++ b/thor-seed/thor-seed.ps1 @@ -196,44 +196,27 @@ param $ProxyCredentials = [System.Management.Automation.PSCredential]::Empty ) -# Detect Constrained Language Mode - -try -{ - $LanguageMode = $ExecutionContext.SessionState.LanguageMode - - if ($LanguageMode -eq 'ConstrainedLanguage') - { - Write-Host "" - Write-Host "===========================================================" -ForegroundColor Red - Write-Host " ERROR: PowerShell Constrained Language Mode detected" -ForegroundColor Red - Write-Host "===========================================================" -ForegroundColor Red - Write-Host "" - Write-Host "Current Language Mode : $LanguageMode" - Write-Host "" - Write-Host "THOR Seed requires FullLanguage mode because it uses:" - Write-Host " - .NET classes" - Write-Host " - Add-Type" - Write-Host " - File and ZIP operations" - Write-Host " - WebClient and TLS settings" - Write-Host "" - Write-Host "The script cannot continue in Constrained Language Mode." - Write-Host "" - Write-Host "Common causes:" - Write-Host " - WDAC (Windows Defender Application Control)" - Write-Host " - AppLocker" - Write-Host " - JEA (Just Enough Administration)" - Write-Host " - Security product restrictions" - Write-Host "" - - exit 1001 - } - - Write-Host "[+] PowerShell Language Mode: $LanguageMode" -} -catch +# THOR Seed requires FullLanguage mode because it uses .NET APIs for TLS, +# download handling, ZIP extraction, and process setup. +$LanguageMode = $ExecutionContext.SessionState.LanguageMode.ToString() +if ($LanguageMode -ne "FullLanguage") { - Write-Host "[!] Unable to determine PowerShell Language Mode" + Write-Host "" + Write-Host "===========================================================" -ForegroundColor Red + Write-Host " ERROR: Unsupported PowerShell Language Mode detected" -ForegroundColor Red + Write-Host "===========================================================" -ForegroundColor Red + Write-Host "" + Write-Host "Current Language Mode : $LanguageMode" + Write-Host "" + Write-Host "THOR Seed requires FullLanguage mode and cannot continue." + Write-Host "This is commonly caused by App Control for Business / WDAC," + Write-Host "AppLocker, JEA, or endpoint security policy restrictions." + Write-Host "" + Write-Host "Allow or sign thor-seed.ps1 according to your policy and rerun it." + Write-Host "Reference: https://learn.microsoft.com/en-us/windows/security/application-security/application-control/app-control-for-business/design/script-enforcement" + Write-Host "" + + exit 7 } # #####################################################################