Aller au contenu
Aback Tools Logo

Obfuscateur de chaînes PowerShell

Obfusquez des littéraux de chaîne PowerShell avec 5 techniques différentes : Base64 + [System.Text.Encoding]::UTF8.GetString, tableau [char] + -join, tableaux d'octets chiffrés en XOR avec déchiffrement -bxor, concaténation découpée par opérateur de format (-f) et séquences d'échappement par accent grave. Chaque méthode génère du code PowerShell valide qui produit la chaîne d'origine à l'exécution. Comparez toutes les méthodes côte à côte, filtrez par technique et copiez le code généré : tout est gratuit, privé et sans inscription.

PowerShell String Obfuscator

Obfuscate PowerShell string literals using 5 different techniques: Base64 + [System.Text.Encoding]::UTF8.GetString, [char] array + -join, XOR-encrypted byte arrays, format operator (-f) split concatenation, and backtick escape sequences. Each method generates valid PowerShell code that produces the original string at runtime. Compare all methods side by side or focus on one.

Examples:

Enter a PowerShell string above to obfuscate it using 5 different techniques. Choose from Base64 + Encoding.GetString, [char] array + -join, XOR encryption, format operator (-f) split, or backtick escape sequences. Click any example below the input to get started.

Fonctionnalités

  • 5 méthodes d'obfuscation : choisissez parmi Base64 + Encoding.GetString, tableau [char] + -join, chiffrement XOR, découpage par opérateur de format (-f) et séquences d'échappement par accent grave. Chacune génère du code PowerShell valide qui produit la chaîne d'origine à l'exécution.
  • Comparaison côte à côte : affichez les 5 méthodes simultanément pour comparer la taille du code, la lisibilité et la force de l'obfuscation. Filtrez pour vous concentrer sur une seule méthode lorsque vous en trouvez une qui convient à vos besoins.
  • Analyse de l'impact sur la taille : chaque méthode affiche le nombre de caractères et l'augmentation de taille par rapport à la chaîne d'origine, ce qui vous aide à équilibrer la force de l'obfuscation et la taille du code. Des statistiques moyennes sur toutes les méthodes sont incluses.
  • Exemples prédéfinis : testez rapidement avec des chaînes PowerShell réalistes : clés d'API, chaînes de connexion, chemins de scripts et expressions courantes. Voyez instantanément comment chaque méthode transforme différents types de contenu.

Qu'est-ce que l'obfuscation de chaînes PowerShell ?

L'obfuscation de chaînes PowerShell transforme des littéraux de chaîne lisibles en représentations équivalentes difficiles à comprendre pour les humains et les outils de détection automatisés. Au lieu d'écrire 'Hello' , vous pouvez utiliser [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('SGVsbG8=')) ou ([char[]](72,101,108,108,111) -join '') . Les deux produisent la même chaîne à l'exécution, mais sont bien plus difficiles à détecter par analyse statique.

Comment fonctionne l'obfuscation

L'obfuscateur de chaînes PowerShell applique cinq techniques de transformation distinctes. L'encodage Base64 enveloppe la chaîne dans Convert.FromBase64String(). Les tableaux [char] représentent chaque caractère par un point de code entier. Le chiffrement XOR applique un XOR à chaque octet avec une clé aléatoire. Le découpage par opérateur de format fragmente la chaîne sur plusieurs arguments. Les échappements par accent grave convertissent les caractères spéciaux en séquences `xNN. Chaque technique utilise une randomisation pour produire une sortie différente à chaque génération.

Pertinence dans les tests de sécurité

PowerShell est un outil de premier plan pour l'administration Windows comme pour les opérations adverses. L'obfuscation de chaînes est couramment utilisée dans les tests d'intrusion et les exercices red team pour contourner l'AMSI (Anti-Malware Scan Interface), échapper à la détection par signature et éviter l'exposition en clair dans les journaux de scripts. Comprendre ces techniques aide attaquants comme défenseurs à reconnaître les motifs d'obfuscation courants.

Confidentialité et sécurité

Cet outil s'exécute entièrement dans votre navigateur grâce à JavaScript côté client. Vos chaînes d'entrée et les sorties obfusquées générées ne quittent jamais votre appareil. Il n'y a aucun appel d'API, aucun traitement côté serveur, aucun stockage de données et aucun suivi. Le moteur d'obfuscation utilise les méthodes de chaîne et de nombre intégrées à JavaScript pour toutes les transformations : tout est local et privé.

Foire aux questions

L'obfuscation de chaînes PowerShell transforme des littéraux de chaîne lisibles dans des scripts PowerShell en représentations équivalentes mais difficiles à lire. Par exemple, "Hello" peut devenir [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("SGVsbG8=")) ou ([char[]](72,101,108,108,111) -join ''). Les deux produisent la même chaîne à l'exécution, mais sont bien plus difficiles à détecter par analyse statique.

L'outil prend en charge 5 méthodes : Base64 + [System.Text.Encoding]::UTF8.GetString, tableau [char] + -join, tableaux d'octets chiffrés en XOR avec déchiffrement à l'exécution via -bxor, concaténation découpée par opérateur de format (-f) et séquences d'échappement par accent grave (`xNN). Chaque méthode génère du code PowerShell valide qui fonctionne sous PowerShell 5.1 et PowerShell 7+.

Le chiffrement XOR et les tableaux [char] offrent l'obfuscation la plus forte, car la chaîne d'origine ne peut pas être récupérée directement sans exécuter la transformation. L'encodage Base64 est bien connu et facilement reconnaissable. Le découpage par opérateur de format ajoute l'avantage de fragmenter la chaîne sur plusieurs arguments, ce qui complique la correspondance de motifs.

L'obfuscation de chaînes peut aider à contourner l'AMSI (Anti-Malware Scan Interface) en supprimant les signatures en clair de votre code PowerShell. Toutefois, l'AMSI analyse aussi à l'exécution lorsque la chaîne est désobfusquée. Combiner l'obfuscation de chaînes avec d'autres techniques d'évasion offre une protection plus solide.

Oui. Tout le code généré est compatible avec PowerShell 5.1 (Windows) et PowerShell 7+ (multiplateforme). Les classes [System.Convert] et [System.Text.Encoding] sont disponibles depuis PowerShell 1.0. L'opérateur -bxor et l'opérateur -join fonctionnent dans toutes les versions modernes.

Absolument. L'obfuscateur de chaînes PowerShell s'exécute entièrement dans votre navigateur. Vos chaînes d'entrée et la sortie obfusquée ne sont jamais envoyées à un serveur. Tout le traitement se fait localement sur votre appareil. Aucune inscription requise.

La méthode XOR convertit chaque caractère en sa valeur d'octet ASCII, puis applique un XOR à chaque octet avec une clé d'un octet choisie aléatoirement. La sortie inclut à la fois les valeurs du tableau d'octets XOR et la clé sous forme d'entiers. À l'exécution, PowerShell utilise l'opérateur -bxor pour inverser le XOR de chaque octet, le convertit en [char] et les joint.

Oui. L'obfuscation de chaînes complète les frameworks d'obfuscation PowerShell comme Invoke-Obfuscation, Out-EncodedCommand et ISE Steroids. Appliquez l'obfuscation de chaînes à des chaînes individuelles, puis enveloppez le script complet avec un encodage supplémentaire pour une protection multicouche.

Oui : 100 % gratuit, sans inscription, sans compte et sans limite d'utilisation. Les 5 méthodes d'obfuscation, la comparaison côte à côte et la fonction de copie sont disponibles sans aucune restriction.