Aller au contenu
Aback Tools Logo

Générateur d'EncodedCommand PowerShell

Encodez des scripts PowerShell au format -EncodedCommand ou décodez des commandes encodées existantes pour retrouver le script d'origine. Choisissez entre les variantes UTF16LE standard, compression Gzip+Base64 ou Base64 simple, avec comparaison de taille côte à côte. Basculez entre les modes encodage et décodage, copiez des commandes PowerShell prêtes à l'emploi et analysez des charges encodées — le tout gratuit, privé et sans inscription.

PowerShell EncodedCommand Builder

Encode PowerShell scripts into -EncodedCommand format or decode existing encoded commands. Choose from Standard UTF16LE, Gzip+Base64 compression, or Plain Base64 encoding variants. Compare sizes, copy ready-to-use commands, and decode payloads back to their original scripts. All browser-local, no signup required.

Examples:

Paste a PowerShell script above and click Encode to encode it into -EncodedCommand format. Choose from Standard UTF16LE, Gzip+Base64, or Plain Base64 encoding variants. Each variant shows the full PowerShell command with size comparison. Click an example to get started.

Pourquoi utiliser notre Générateur d'EncodedCommand PowerShell ?

  • Encodage PowerShell instantané : encodez n'importe quel script PowerShell au format -EncodedCommand instantanément. Prend en charge l'UTF16LE (format PowerShell standard), la compression Gzip+Base64 et l'encodage Base64 simple. Collez votre script, choisissez votre variante et obtenez la commande encodée prête à exécuter.
  • Encodage sécurisé et privé : tout l'encodage de scripts PowerShell s'effectue entièrement dans votre navigateur. Votre code PowerShell, les commandes encodées et les sorties décodées ne quittent jamais votre appareil. Aucune donnée envoyée à un serveur, aucun suivi, aucune inscription — confidentialité totale pour tout votre travail d'obfuscation de scripts PowerShell.
  • Générateur de commandes PowerShell en ligne — sans installation : utilisez le Générateur d'EncodedCommand PowerShell directement dans n'importe quel navigateur moderne, sans téléchargement, application ni plugin. Il propose plusieurs variantes d'encodage, un mode décodage pour inverser les commandes encodées, une comparaison de taille entre formats et une copie en un clic pour toutes les variantes.
  • 3 variantes d'encodage avec analyse de taille : prend en charge l'encodage UTF16LE standard pour un usage direct avec -EncodedCommand, Gzip+Base64 pour des charges compressées minimisant la taille, et Base64 simple pour une obfuscation basique. Comparaison côte à côte avec comptage de caractères, analyse de taille et recommandation de la meilleure variante.

Qu'est-ce que -EncodedCommand de PowerShell ?

-EncodedCommand de PowerShell (aussi appelé -Enc ou -EC) est un paramètre qui accepte une chaîne encodée en Base64 représentant un script PowerShell encodé en UTF-16LE. Au lieu de transmettre une commande en clair, vous transmettez une longue chaîne Base64 que PowerShell décode à l'exécution. La commande powershell -EncodedCommand SQBkAE8AbgBl... équivaut à powershell -Command « I dO nE... » mais masque totalement le contenu réel du script à l'inspection occasionnelle. Cela en fait une technique prisée pour obfusquer des commandes PowerShell, dans les scripts de déploiement légitimes comme dans les charges malveillantes.

Notre Générateur d'EncodedCommand PowerShell produit 3 variantes d'encodage pour n'importe quel script PowerShell. Chaque variante est une commande PowerShell valide produisant la même sortie de script. Comparez les tailles encodées, décodez les commandes existantes et copiez la variante qui correspond le mieux à vos besoins. Tout le traitement s'exécute localement dans votre navigateur, sans aucune donnée envoyée à un serveur.

Comment fonctionne notre Générateur d'EncodedCommand PowerShell

  1. 1. Saisissez votre script PowerShell : tapez ou collez dans le champ de saisie le script PowerShell que vous voulez encoder. L'outil détecte automatiquement si votre saisie est un script à encoder ou une commande encodée à décoder. Des scripts d'exemple sont fournis pour illustrer les différentes variantes d'encodage.
  2. 2. Choisissez la variante d'encodage : sélectionnez parmi 3 variantes via des cartes de méthode. L'UTF16LE standard produit une chaîne canonique compatible -EncodedCommand. Gzip+Base64 compresse le script avant l'encodage pour des charges plus petites. Base64 simple offre un encodage basique sans formatage propre à PowerShell. Chaque carte affiche la commande générée avec comparaison de taille par rapport à l'original.
  3. 3. Copiez et utilisez : cliquez sur le bouton Copier à côté d'une variante encodée pour copier la commande PowerShell complète dans le presse-papiers. Chaque variante s'affiche comme une ligne de commande PowerShell prête à l'emploi avec analyse de taille. Vous pouvez aussi coller une chaîne EncodedCommand existante pour la décoder et retrouver le script d'origine.

Les variantes d'encodage expliquées

  • UTF16LE standard : le format officiel -EncodedCommand de PowerShell. Le script est converti en octets UTF-16LE puis encodé en Base64. PowerShell le décode nativement avec [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($encoded)). Le plus utilisé, dans les scripts de déploiement légitimes comme dans les malwares.
  • Gzip + Base64 : le script est d'abord compressé avec Gzip (deflate) puis encodé en Base64. Cela produit la charge la plus petite — souvent 60 à 80 % plus petite que l'UTF16LE pour les scripts volumineux. Nécessite une décompression par PowerShell à l'exécution avec System.IO.Compression.GzipStream. Idéal pour les environnements contraints en taille, comme les charges d'injection de commandes.
  • Base64 simple : le script est encodé en Base64 standard sans conversion UTF16LE. La variante d'encodage la plus simple. PowerShell la décode avec [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($encoded)). La meilleure option pour une obfuscation simple quand la compatibilité -EncodedCommand n'est pas requise.

Confidentialité, sécurité et disponibilité

Le Générateur d'EncodedCommand PowerShell est 100 % gratuit et sans inscription. Tout l'encodage et le décodage s'effectuent localement dans votre navigateur — votre script PowerShell et la sortie encodée ne quittent jamais votre appareil. Aucune limite ni restriction d'utilisation. L'outil prend en charge 3 variantes d'encodage avec comparaison côte à côte, comptage de caractères et statistiques de taille, un mode décodage pour inverser les chaînes EncodedCommand existantes et des exemples prédéfinis. Utilisez-le autant de fois que nécessaire pour vos travaux de recherche en sécurité, de développement ou de formation.

Foire aux questions

-EncodedCommand de PowerShell (aussi -Enc ou -EC) est un paramètre de ligne de commande qui accepte une chaîne encodée en Base64 représentant des commandes PowerShell encodées en UTF-16LE. Au lieu de transmettre une commande en clair que tout le monde peut lire dans les listes de processus ou les journaux, vous transmettez une longue chaîne Base64 que PowerShell décode en interne avant exécution. Cela masque le contenu du script à l'inspection occasionnelle et évite les problèmes liés aux caractères spéciaux dans les arguments de ligne de commande.

L'outil prend en charge 3 variantes : encodage UTF16LE standard (le format officiel -EncodedCommand en UTF-16LE + Base64), compression Gzip + Base64 (compresse le script avec Gzip avant l'encodage Base64 pour des charges 60 à 80 % plus petites) et Base64 simple (encodage Base64 sans conversion UTF16LE pour une obfuscation basique). Chaque variante inclut la commande PowerShell pour l'invoquer.

Oui, l'outil comprend un mode décodage. Collez une chaîne EncodedCommand PowerShell existante (ou toute charge PowerShell encodée en Base64) dans le champ de saisie : l'outil détectera automatiquement s'il s'agit d'un encodage UTF16LE ou Base64 simple, puis décodera la chaîne pour retrouver le script d'origine. C'est utile pour analyser des commandes encodées issues de recherches en sécurité ou de renseignement sur les menaces.

Gzip + Base64 produit systématiquement la charge la plus petite — généralement 60 à 80 % plus petite que l'encodage UTF16LE. Par exemple, un script PowerShell de 1 Ko passe à environ 2 Ko au format UTF16LE, mais seulement à 500-700 octets avec Gzip+Base64. Toutefois, Gzip+Base64 nécessite PowerShell 3.0+ pour l'assembly System.IO.Compression. L'UTF16LE standard est la plus compatible et fonctionne avec toutes les versions de PowerShell.

Les outils EDR et antivirus modernes peuvent détecter l'usage de -EncodedCommand via la surveillance de la ligne de commande des processus, l'analyse comportementale et des modèles d'apprentissage automatique entraînés sur les motifs de charges encodées. L'encodage contourne la détection simple par chaîne, mais ne garantit rien face aux produits de sécurité avancés. Combiner l'encodage avec d'autres techniques d'obfuscation assure une défense en profondeur.

Oui, -EncodedCommand fonctionne de manière identique sous Windows PowerShell (powershell.exe) et PowerShell Core 7+ (pwsh.exe). Le format d'encodage est le même — UTF16LE + Base64. PowerShell 7 prend également en charge le paramètre -EncodedCommand pour la compatibilité multiplateforme sous Linux et macOS.

Absolument. Le Générateur d'EncodedCommand PowerShell fonctionne entièrement dans votre navigateur. Vos scripts PowerShell, commandes encodées et sorties décodées ne sont jamais envoyés à un serveur, stockés dans une base de données ni suivis d'une quelconque manière. Tout le traitement se fait localement sur votre appareil via du JavaScript côté client. Sans inscription, sans collecte de données, sans analyse.

Oui — 100 % gratuit, sans inscription, sans compte et sans limite d'utilisation. Encodez autant de scripts PowerShell que nécessaire, autant de fois que vous voulez. Les 3 variantes d'encodage, le mode décodage, la comparaison de taille et la fonction de copie sont disponibles sans restriction. Aucune offre premium, aucun frais caché, aucune limite de débit.