Einen HTML- oder SVG-Anhang auf versteckte Payloads, atob/eval-Ketten und externe Formulare prüfen.
Mehrschicht-Decoder
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
- 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.
- Dekodieren. Drücken Sie Decode layers (Schichten dekodieren) oder Strg+Enter. Jede erkannte Schicht wird nacheinander abgetragen, bis zu 12.
- 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.
- 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.
- 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
H4sIAAAAAAACA7MpTi7KLCixK8%2FMS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA3 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
| Signal | Was das bedeutet |
|---|---|
| Schichtkette | Die 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 Schritt | Bytes vor und nach jeder Schicht. Eine gzip- oder deflate-Schicht, die stark wächst, ist gewöhnliche Dekompression. |
| UTF-16LE-Text | Zwei Bytes pro Zeichen, typisch für PowerShell -EncodedCommand. Ein dekodierter Befehl, der etwas herunterlädt oder startet, ist ein Alarmzeichen. |
| Binäres Ergebnis | Ist 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 result | URLs, E-Mail-Adressen und IPv4-Adressen, die im dekodierten Text gefunden wurden, entschärft angezeigt, mit einer Schaltfläche, um sie roh zu kopieren. |
| Stoppmeldung | Keine 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 Defang | Standardmäßig aktiv: URLs und E-Mail-Adressen im Ergebnis werden entschärft angezeigt. Copy liefert immer den Rohtext. |
| Option zum Weiterschälen | Nach einem manuellen Schritt mit Decode as wird automatisch weiterdekodiert, sofern Sie den Haken nicht entfernen. |
| Liste Decode as | Base64, 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ächen | Copy 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
Zm9vYmFy1 Schicht: Base64, 8 → 6 Bytes. Das Ergebnis ist der Text foobar, der in RFC 4648 veröffentlichte Wert.
Hex um Base64 um eine URL
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3d2 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
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcA2 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.