Dateien und Seiten

Mehrschicht-Decoder

Läuft lokalNeu

Das Tool selbst ist auf Englisch; auf dieser Seite wird es in Ihrer Sprache erklärt.

Mehrschicht-Decoder verwenden

Was es bewirkt

Fügen Sie kodierten oder verschleierten Text ein, und der Decoder trägt eine Schicht nach der anderen ab und zeigt jeden Schritt, bis lesbarer Text oder ein bekanntes Dateiformat übrig bleibt. Alles läuft in Ihrem Browser.

Es läuft vollständig in Ihrem Browser: Es werden keine Ihrer Eingaben hochgeladen.

So verwenden Sie Mehrschicht-Decoder

  1. Kodierten Text einfügen. Fügen Sie den String in Encoded text ein: einen Base64-Blob aus einem Skript, einen langen Hex-String, prozentkodierten Text oder eine String.fromCharCode-Liste.
  2. Dekodieren. Drücken Sie Decode layers (Schichten dekodieren) oder Strg+Enter. Jede erkannte Schicht wird nacheinander abgetragen, bis zu 12.
  3. Kette lesen. Die Überschrift listet die Schichten der Reihe nach auf. Jeder Schritt zeigt die Methode, die Größe davor und danach sowie eine Vorschau.
  4. Ergebnis verwenden. Kopieren Sie den dekodierten Text, lesen Sie Indicators in the result, oder verwenden Sie Send to für HTML Attachment Analyzer, Link Unwrapper, IOC Converter oder URL Defanger.
  5. Von Hand eingreifen. Wird eine Schicht übersehen, wählen Sie unter Decode as eine Methode und wenden Sie sie an. Undo last layer geht einen Schritt zurück.

Beispiel

URL-kodiertes Base64 von gzip

Eingabe
H4sIAAAAAAACA7MpTi7KLCixK8%2FMS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
Ausgabe (aufgezeichnet am 2026-10-20)
3 layers: URL percent-encoding → Base64 → gzip

No further encoding recognised.

1
URL percent-encoding
1 escape · 130 → 128 bytes
H4sIAAAAAAACA7MpTi7KLCixK8/MS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
2
Base64
decodes to gzip · 128 → 96 bytes
00000000  1f 8b 08 00 00 00 00 00  02 03 b3 29 4e 2e ca 2c  |...........)N..,|
00000010  28 b1 2b cf cc 4b c9 2f  d7 cb c9 4f 4e 2c c9 cc  |(.+..K./...ON,..|
00000020  cf d3 cb 28 4a 4d 53 b0  55 50 ca 28 29 29 28 b6  |...(JMS.UP.())(.|
… 48 more bytes
3
gzip
96 → 82 bytes
<script>window.location.href = "hxxps://example[.]com/verify?session=7f3a";</script>
Result

Text, 82 bytes.

<script>window.location.href = "hxxps://example[.]com/verify?session=7f3a";</script>

Indicators in the result (1)
URL
hxxps://example[.]com/verify?session=7f3a
Copy indicators (raw)

Drei Schichten: URL-Prozentkodierung (%2F), Base64, das zu gzip-Daten dekodiert, und gzip selbst; am Ende steht ein Skript, das den Browser zu https://example.com/verify schickt.

Was dabei geprüft wird

SignalWas das bedeutet
SchichtketteDie Kodierungen der Reihe nach, zum Beispiel Hex → Base64. Mehrere Schichten um eine kurze URL oder einen Befehl bedeuten meist, dass jemand den Inhalt verbergen wollte.
Größe pro SchrittBytes vor und nach jeder Schicht. Eine gzip- oder deflate-Schicht, die stark wächst, ist gewöhnliche Dekompression.
UTF-16LE-TextZwei Bytes pro Zeichen, typisch für PowerShell -EncodedCommand. Ein dekodierter Befehl, der etwas herunterlädt oder startet, ist ein Alarmzeichen.
Binäres ErgebnisIst das Endergebnis kein Text, wird ein Hex-Dump der ersten 512 Bytes mit dem erkannten Format angezeigt. Kopieren Sie ihn als Hex oder Base64; führen Sie ihn nie aus.
Indicators in the resultURLs, E-Mail-Adressen und IPv4-Adressen, die im dekodierten Text gefunden wurden, entschärft angezeigt, mit einer Schaltfläche, um sie roh zu kopieren.
StoppmeldungKeine weitere Kodierung erkannt, das Limit von 12 Schichten erreicht oder ein Schritt, der ein früheres Ergebnis wiederholen würde. Beim Limit kann es weitere Schichten geben.
Option DefangStandardmäßig aktiv: URLs und E-Mail-Adressen im Ergebnis werden entschärft angezeigt. Copy liefert immer den Rohtext.
Option zum WeiterschälenNach einem manuellen Schritt mit Decode as wird automatisch weiterdekodiert, sofern Sie den Haken nicht entfernen.
Liste Decode asBase64, URL-sicheres Base64, Hex, URL-Prozentkodierung, HTML-Entities, Escapes, Zeichencodes, Quoted-Printable, gzip, zlib, raw deflate und UTF-16LE, für Schritte, die der automatische Durchlauf überspringt.
Kopier-SchaltflächenCopy liefert den dekodierten Text roh. Bei einem binären Ergebnis gibt es stattdessen Copy as hex und Copy as Base64.

Weitere Beispiele

Testvektor aus RFC 4648

Eingabe
Zm9vYmFy
Ergebnis

1 Schicht: Base64, 8 → 6 Bytes. Das Ergebnis ist der Text foobar, der in RFC 4648 veröffentlichte Wert.

Hex um Base64 um eine URL

Eingabe
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3d
Ergebnis

2 Schichten: Hex → Base64 (88 → 44 → 31 Bytes). Das Ergebnis ist https://login.example.net/reset, entschärft angezeigt und unter Indicators in the result aufgeführt.

Kodierter PowerShell-Befehl

Eingabe
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcA
Ergebnis

2 Schichten: Base64 → UTF-16LE-Text, vermerkt als typisch für PowerShell -EncodedCommand. Das Ergebnis ist Start-Process 'https://example.org/update', mit der URL als Indikator.

Häufig gestellte Fragen

Welche Kodierungen erkennt der Decoder?

Base64 (Standard und URL-sicher, Padding optional), Hex in einfacher Form, mit 0x, mit \x, mit Leerzeichen oder durch Doppelpunkte getrennt, URL-Prozentkodierung, HTML-Entities, Escapes mit \x, \u, \u{…} und %u, String.fromCharCode-Listen, Quoted-Printable, gzip, zlib und raw deflate sowie UTF-16LE-Text wie ein PowerShell -EncodedCommand. Aufrufe wie atob('…') oder base64_decode('…') und data:-URIs werden ebenfalls entpackt.

Warum hat er aufgehört oder meinen Text unverändert gelassen?

Eine Schicht wird nur akzeptiert, wenn ihre Ausgabe lesbarer Text, ein bekanntes Dateiformat oder ein sauber dekomprimierbarer Stream ist; gewöhnliche Wörter, die zufällig gültiges Base64 sind, bleiben daher unangetastet. Kurze oder ungewöhnliche Kodierungen können deshalb übersehen werden: Wenden Sie mit Decode as eine Methode von Hand an, und gehen Sie mit Undo einen Schritt zurück. Nach 12 Schichten hört er auf.

Wird der dekodierte Inhalt ausgeführt oder irgendwohin gesendet?

Nein. Das Dekodieren nutzt einfaches JavaScript und den DecompressionStream des Browsers; das Ergebnis wird als Text oder als Hex-Dump angezeigt und nie ausgeführt, gerendert oder hochgeladen.

Woher stammen solche Strings?

Phishing-Seiten und Anhänge verstecken URLs und Code in Base64 oder Hex, ClickFix-Seiten kopieren kodierte PowerShell-Befehle in Ihre Zwischenablage, und E-Mails kommen als Quoted-Printable an. Fügen Sie den String hier ein, statt ihn auszuführen.

Kann ich eine Schicht nach der anderen dekodieren?

Ja. Entfernen Sie den Haken bei After a manual step, keep peeling automatically, wählen Sie dann unter Decode as eine Methode, und drücken Sie für jeden Schritt Apply to the current result.

Wie viel Text kann ich einfügen?

Bis zu 5 MB. Ergebnisse mit mehr als 200.000 Zeichen werden auf dem Bildschirm gekürzt, aber Copy liefert den vollständigen Text.

Was sind Quoted-Printable und Prozentkodierung?

Beide schreiben ein Byte als Zeichen, gefolgt von zwei Hexziffern. Quoted-Printable stammt aus E-Mail-Texten, wo =3D für = steht. Die Prozentkodierung stammt aus URLs, wo %2F für / steht.

Begriffserläuterungen

PhishDestroy-Forschung