Powershell - Encoder et utiliser du code encodé dans Powershell

Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub ou encore faire un don. Merci!

Si vous souhaitez obscurcir du code Powershell vous pouvez l’encoder et l’utiliser avec l’argument -EncodedCommand de la commande Powershell.exe.

# Encoder une commande : Text -> Bytes -> Base64
# Définition de la commande
$commands = '1..5 | Foreach-Object -Process { "Vive Moi!" }'
# Text -> Bytes
$bytes = [System.Text.Encoding]::Unicode.GetBytes($commands)
# Bytes -> Base64
$encodedString = [Convert]::ToBase64String($bytes)
# Afficher la valeur encodée
$encodedString
# Copier la valeur dans le presse papier
$encodedString | Set-Clipboard
# Utiliser la commande encodée (en unicode) dans Powershell
PowerShell -EncodedCommand MQAuAC4ANQAgAHwAIABGAG8AcgBlAGEAYwBoAC0ATwBiAGoAZQBjAHQAIAAtAFAAcgBvAGMAZQBzAHMAIAB7ACAAIgBWAGkAdgBlACAATQBvAGkAIQAiACAAfQA=
# Reconvertir en chaine
[System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($encodedString))

Liens en relation