Zum Inhalt springen
Aback Tools Logo

PowerShell-String-Obfuskator

Obfuskieren Sie PowerShell-String-Literale mit 5 verschiedenen Techniken: Base64 + [System.Text.Encoding]::UTF8.GetString, [char]-Array + -join, XOR-verschlüsselte Byte-Arrays mit -bxor-Entschlüsselung, aufgeteilte Verkettung mit dem Format-Operator (-f) und Backtick-Escape-Sequenzen. Jede Methode erzeugt gültigen PowerShell-Code, der zur Laufzeit den ursprünglichen String liefert. Vergleichen Sie alle Methoden direkt, filtern Sie nach Technik und kopieren Sie den generierten Code - alles kostenlos, privat und ohne Registrierung.

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.

Funktionen

  • 5 Obfuskierungsmethoden: Wählen Sie zwischen Base64 + Encoding.GetString, [char]-Array + -join, XOR-Verschlüsselung, Format-Operator-Aufteilung (-f) und Backtick-Escape-Sequenzen. Jede erzeugt gültigen PowerShell-Code, der zur Laufzeit den ursprünglichen String liefert.
  • Direktvergleich: Zeigen Sie alle 5 Methoden gleichzeitig an, um Codegröße, Lesbarkeit und Obfuskierungsstärke zu vergleichen. Filtern Sie auf eine einzelne Methode, wenn Sie eine gefunden haben, die zu Ihren Anforderungen passt.
  • Analyse der Größenauswirkung: Jede Methode zeigt Zeichenanzahl und Größenzunahme gegenüber dem ursprünglichen String und hilft Ihnen, Obfuskierungsstärke und Codegröße abzuwägen. Durchschnittswerte über alle Methoden sind enthalten.
  • Beispiel-Presets: Testen Sie schnell mit realistischen PowerShell-Strings: API-Schlüssel, Verbindungsstrings, Skriptpfade und gängige Formulierungen. Sehen Sie sofort, wie jede Methode verschiedene Inhaltstypen transformiert.

Was ist PowerShell-String-Obfuskierung?

Die PowerShell-String-Obfuskierung wandelt lesbare String-Literale in gleichwertige Darstellungen um, die für Menschen und automatisierte Erkennungstools schwer zu verstehen sind. Statt 'Hello' zu schreiben, können Sie [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('SGVsbG8=')) oder ([char[]](72,101,108,108,111) -join '') verwenden. Beide erzeugen zur Laufzeit denselben String, sind aber durch statische Analyse deutlich schwerer zu erkennen.

Wie die Obfuskierung funktioniert

Der PowerShell-String-Obfuskator wendet fünf verschiedene Transformationstechniken an. Die Base64-Kodierung verpackt den String in Convert.FromBase64String(). [char]-Arrays stellen jedes Zeichen als ganzzahligen Codepunkt dar. Die XOR-Verschlüsselung verknüpft jedes Byte per XOR mit einem zufälligen Schlüssel. Die Format-Operator-Aufteilung fragmentiert den String auf mehrere Argumente. Backtick-Escapes wandeln Sonderzeichen in `xNN-Sequenzen um. Jede Technik nutzt Randomisierung, sodass jede Generierung eine andere Ausgabe liefert.

Bedeutung im Sicherheitstest

PowerShell ist ein zentrales Werkzeug sowohl für die Windows-Administration als auch für adversarische Operationen. String-Obfuskierung wird routinemäßig in Penetrationstests und Red-Team-Einsätzen verwendet, um AMSI (Anti-Malware Scan Interface) zu umgehen, signaturbasierte Erkennung zu unterlaufen und Klartext-Exposition in Skriptprotokollen zu vermeiden. Das Verständnis dieser Techniken hilft Angreifern wie Verteidigern, gängige Obfuskierungsmuster zu erkennen.

Datenschutz und Sicherheit

Dieses Tool läuft vollständig in Ihrem Browser mit clientseitigem JavaScript. Ihre Eingabe-Strings und die generierten obfuskierten Ausgaben verlassen Ihr Gerät nie. Es gibt keine API-Aufrufe, keine serverseitige Verarbeitung, keine Datenspeicherung und kein Tracking. Die Obfuskierungs-Engine nutzt für alle Transformationen die integrierten String- und Zahlenmethoden von JavaScript - alles ist lokal und privat.

Häufig gestellte Fragen

Die PowerShell-String-Obfuskierung wandelt lesbare String-Literale in PowerShell-Skripten in gleichwertige, aber schwer lesbare Darstellungen um. Aus "Hello" kann beispielsweise [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("SGVsbG8=")) oder ([char[]](72,101,108,108,111) -join '') werden. Beide erzeugen zur Laufzeit denselben String, sind aber durch statische Analyse deutlich schwerer zu erkennen.

Das Tool unterstützt 5 Methoden: Base64 + [System.Text.Encoding]::UTF8.GetString, [char]-Array + -join, XOR-verschlüsselte Byte-Arrays mit Laufzeitentschlüsselung über -bxor, aufgeteilte Verkettung mit dem Format-Operator (-f) und Backtick-Escape-Sequenzen (`xNN). Jede Methode erzeugt gültigen PowerShell-Code, der in PowerShell 5.1 und PowerShell 7+ funktioniert.

XOR-Verschlüsselung und [char]-Arrays bieten die stärkste Obfuskierung, da der ursprüngliche String ohne Ausführung der Transformation nicht direkt wiederhergestellt werden kann. Base64-Kodierung ist weithin bekannt und leicht zu erkennen. Die Format-Operator-Aufteilung hat den Vorteil, dass der String auf mehrere Argumente verteilt wird, was Musterabgleiche erschwert.

String-Obfuskierung kann helfen, AMSI (Anti-Malware Scan Interface) zu umgehen, indem Klartext-Signaturen aus Ihrem PowerShell-Code entfernt werden. AMSI prüft jedoch auch zur Laufzeit, wenn der String deobfuskiert wird. Die Kombination von String-Obfuskierung mit anderen Umgehungstechniken bietet stärkeren Schutz.

Ja. Der gesamte generierte Code ist mit PowerShell 5.1 (Windows) und PowerShell 7+ (plattformübergreifend) kompatibel. Die Klassen [System.Convert] und [System.Text.Encoding] sind seit PowerShell 1.0 verfügbar. Der -bxor- und der -join-Operator funktionieren in allen modernen Versionen.

Absolut. Der PowerShell-String-Obfuskator läuft vollständig in Ihrem Browser. Ihre Eingabe-Strings und die obfuskierte Ausgabe werden nie an einen Server gesendet. Die gesamte Verarbeitung erfolgt lokal auf Ihrem Gerät. Keine Registrierung erforderlich.

Die XOR-Methode wandelt jedes Zeichen in seinen ASCII-Bytewert um und verknüpft dann jedes Byte per XOR mit einem zufällig gewählten Ein-Byte-Schlüssel. Die Ausgabe enthält sowohl die XOR-verknüpften Byte-Array-Werte als auch den Schlüssel als Integer. Zur Laufzeit verwendet PowerShell den -bxor-Operator, um jedes Byte zurückzurechnen, konvertiert es in [char] und verknüpft sie.

Ja. Die String-Obfuskierung ergänzt PowerShell-Obfuskierungs-Frameworks wie Invoke-Obfuscation, Out-EncodedCommand und ISE Steroids. Wenden Sie die String-Obfuskierung auf einzelne Strings an und umhüllen Sie dann das gesamte Skript mit zusätzlicher Kodierung für mehrschichtigen Schutz.

Ja - 100 % kostenlos, ohne Registrierung, ohne Konto und ohne Nutzungslimits. Alle 5 Obfuskierungsmethoden, der Direktvergleich und die Kopierfunktion sind ohne Einschränkungen verfügbar.