Pliki i strony

Dekoder wielowarstwowy

Działa lokalnieNowe

Samo narzędzie jest w języku angielskim; na tej stronie znajdziesz wyjaśnienia w Twoim języku.

Użyj Dekoder wielowarstwowy

Jak to działa

Wklej zakodowany lub zaszyfrowany tekst, a dekoder będzie go rozszyfrowywał warstwa po warstwie, pokazując każdy etap, aż pozostanie czytelny tekst lub znany format pliku. Wszystko działa w przeglądarce.

Działa całkowicie w przeglądarce: żadne wprowadzone dane nie są przesyłane.

Jak korzystać z Dekoder wielowarstwowy

  1. Wklej zakodowany tekst. Wklej ciąg znaków w polu „Tekst zakodowany”: obiekt Base64 ze skryptu, długi ciąg szesnastkowy, tekst zakodowany w formacie procentowym lub lista String.fromCharCode.
  2. Dekoduj. Naciśnij przycisk „Dekoduj warstwy” lub klawisze Ctrl+Enter. Każda rozpoznana warstwa jest kolejno usuwana, maksymalnie do 12.
  3. Przeczytaj łańcuch. W nagłówku wymieniono warstwy w kolejności. Każdy krok zawiera opis metody, rozmiar przed i po oraz podgląd.
  4. Wykorzystaj wynik. Skopiuj zdekodowany tekst, zapoznaj się ze wskaźnikami w wynikach lub skorzystaj z opcji „Wyślij do” w programach HTML Attachment Analyzer, Link Unwrapper, IOC Converter lub URL Defanger.
  5. Wprowadź dane ręcznie. Jeśli pominięto jakąś warstwę, wybierz metodę w sekcji „Dekoduj jako” i zastosuj ją. Cofnij ostatnią warstwę, przechodząc o kilka kroków wstecz.

Przykład

Kodowanie URL w Base64 pliku gzip

Dane wejściowe
H4sIAAAAAAACA7MpTi7KLCixK8%2FMS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
Wynik (zarejestrowany 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)

Trzy warstwy: kodowanie procentowe adresu URL (%2F), kodowanie Base64, które po zdekodowaniu daje dane w formacie gzip, oraz sam format gzip, a na końcu skrypt, który przekierowuje przeglądarkę na stronę https://example.com/verify.

Co jest sprawdzane

SygnałCo to oznacza
Łańcuch warstwowyKodowania w kolejności, na przykład Hex → Base64. Kilka warstw otaczających skrócony adres URL lub polecenie zazwyczaj oznacza, że ktoś chciał to ukryć.
Wielkość na krokLiczba bajtów przychodzących i wychodzących z każdej warstwy. Znaczny wzrost wielkości warstwy gzip lub deflate oznacza zwykłą dekompresję.
Tekst w formacie UTF-16LEDwa bajty na znak – typowe dla polecenia PowerShell -EncodedCommand. Zdekodowane polecenie, które pobiera lub uruchamia jakiś plik, stanowi sygnał ostrzegawczy.
Wynik binarnyJeśli wynik końcowy nie jest tekstem, wyświetlany jest zrzut szesnastkowy pierwszych 512 bajtów wraz z wykrytym formatem. Skopiuj go w formacie szesnastkowym lub Base64; nigdy go nie uruchamiaj.
Wskaźniki w wynikachAdresy URL, adresy e-mail i adresy IPv4 znalezione w zdekodowanym tekście, wyświetlane w postaci unieszkodliwionej, wraz z przyciskiem umożliwiającym skopiowanie ich w postaci surowej.
Komunikat o zatrzymaniuNie rozpoznano żadnego dalszego kodowania, osiągnięto limit 12 warstw ani nie wystąpił etap, który powtórzyłby wcześniejszy wynik. Przy osiągnięciu tego limitu może istnieć więcej warstw.
Opcja wyłączenia funkcji DefangDomyślnie włączone: adresy URL i adresy e-mail w wynikach są wyświetlane w postaci zneutralizowanej. Opcja „Kopiuj” zawsze udostępnia tekst w postaci surowej.
Opcja „Kontynuuj obieranie”Po ręcznym wykonaniu kroku „Dekoduj” proces dekodowania przebiega automatycznie, chyba że odznaczysz tę opcję.
Dekoduj jako listęBase64, Base64 bezpieczny dla adresów URL, format szesnastkowy, kodowanie procentowe adresów URL, encje HTML, znaki escape, kody znaków, quoted-printable, gzip, zlib, surowy format deflate oraz UTF-16LE – w przypadku etapów, które automatyczny proces pomija.
Przyciski kopiowaniaFunkcja „Kopiuj” zwraca zdekodowany tekst w postaci surowej. Wynik binarny udostępnia zamiast tego opcje „Kopiuj jako szesnastkowy” i „Kopiuj jako Base64”.

Więcej przykładów

Wektor testowy RFC 4648

Dane wejściowe
Zm9vYmFy
Wynik

1 warstwa: Base64, 8 → 6 bajtów. Wynikiem jest tekst „foobar” – wartość opublikowana w RFC 4648.

Zakoduj adres URL najpierw w systemie szesnastkowym, a następnie w Base64

Dane wejściowe
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3d
Wynik

2 warstwy: szesnastkowy → Base64 (88 → 44 → 31 bajtów). Wynikiem jest https://login.example.net/reset, który został przedstawiony w postaci „obezwładnionej” i umieszczony w sekcji „Wskaźniki” w wynikach.

Zakodowane polecenie PowerShell

Dane wejściowe
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcA
Wynik

2 warstwy: Base64 → tekst w formacie UTF-16LE, co jest typowe dla polecenia PowerShell -EncodedCommand. Wynikiem jest Start-Process 'https://example.org/update', przy czym adres URL jest podany jako wskaźnik.

Najczęściej zadawane pytania

Jakie kodowania rozpoznaje?

Base64 (standardowe i bezpieczne dla adresów URL, z opcjonalnym wypełnieniem), szesnastkowy w postaci zwykłej, 0x, \x, z odstępami lub rozdzielony dwukropkami, kodowanie procentowe URL, encje HTML, sekwencje escape \x, \u, \u{…} oraz %u, listy String.fromCharCode, format quoted-printable, gzip, zlib i surowy deflate oraz tekst w formacie UTF-16LE, taki jak PowerShell -EncodedCommand. Wywołania takie jak atob('…') lub base64_decode('…') oraz adresy URI typu data: są również dekodowane.

Dlaczego to się zatrzymało albo dlaczego mój tekst pozostał bez zmian?

Warstwa jest akceptowana tylko wtedy, gdy jej wynikem jest czytelny tekst, znany format pliku lub strumień, który da się poprawnie zdekompresować, więc zwykłe słowa, które przypadkowo są poprawnym kodowaniem Base64, pozostają bez zmian. W związku z tym krótkie lub nietypowe kodowania mogą zostać pominięte: użyj opcji „Decode as”, aby ręcznie zastosować metodę, oraz „Undo”, aby cofnąć się o krok. Proces zatrzymuje się po 12 warstwach.

Czy zdekodowana treść jest gdzieś uruchamiana lub wysyłana?

Nie. Dekodowanie odbywa się przy użyciu zwykłego kodu JavaScript oraz obiektu DecompressionStream przeglądarki; wynik jest wyświetlany jako tekst lub zrzut szesnastkowy i nigdy nie jest wykonywany, renderowany ani przesyłany.

Skąd się biorą takie ciągi znaków?

Strony phishingowe i załączniki ukrywają adresy URL oraz kod w formacie Base64 lub szesnastkowym, strony ClickFix kopiują zakodowane polecenia PowerShell do schowka, a wiadomości e-mail są wysyłane w formacie quoted-printable. Wklej ten ciąg znaków tutaj zamiast go uruchamiać.

Czy mogę dekodować po jednej warstwie na raz?

Tak. Odznacz opcję „Po wykonaniu czynności ręcznej kontynuuj automatyczne rozdzielanie”, a następnie dla każdego kroku wybierz metodę w sekcji „Dekoduj jako” i naciśnij przycisk „Zastosuj do bieżącego wyniku”.

Ile tekstu mogę wkleić?

Maksymalnie 5 MB. Wyniki dłuższe niż 200 000 znaków są skracane na ekranie, ale po kliknięciu przycisku „Kopiuj” wyświetla się pełny tekst.

Czym są kodowanie „quoted-printable” i „percent-encoding”?

W obu przypadkach bajt zapisuje się jako znak, po którym następują dwie cyfry szesnastkowe. Kodowanie „quoted-printable” wywodzi się z treści wiadomości e-mail, gdzie =3D oznacza znak =. Kodowanie procentowe wywodzi się z adresów URL, gdzie %2F oznacza znak /.

Objaśnienie terminów

Badania PhishDestroy