Scanează un atașament HTML sau SVG pentru a detecta conținut ascuns, lanțuri de tip „atob/eval” și formulare externe.
Decodor multistrat
Instrumentul în sine este în limba engleză; această pagină îl explică în limba ta.
Folosește Decodor multistrat
Ce face
Lipiți textul codificat sau ascuns, iar decodorul îl dezvăluie strat cu strat, afișând fiecare etapă, până când rămâne textul lizibil sau un format de fișier cunoscut. Totul se desfășoară în browserul dumneavoastră.
Aplicația funcționează în întregime în browserul tău: nimic din ce introduci nu este încărcat pe server.
Cum se utilizează Decodor multistrat
- Lipiți textul codificat. Lipiți șirul în câmpul „Text codificat”: un blob Base64 provenit dintr-un script, un șir hexadecimal lung, text codificat cu caractere procentuale sau o listă String.fromCharCode.
- Decodare. Apăsați butonul „Decode layers” sau tasta Ctrl+Enter. Fiecare strat recunoscut este eliminat pe rând, până la un număr maxim de 12.
- Citește lanțul. Titlul enumeră straturile în ordine. Fiecare etapă prezintă metoda, dimensiunea înainte și după, precum și o previzualizare.
- Folosiți rezultatul. Copiați textul decodat, citiți indicatorii din rezultat sau utilizați opțiunea „Trimite către” pentru HTML Attachment Analyzer, Link Unwrapper, IOC Converter sau URL Defanger.
- Reglați manual. Dacă un strat lipsește, alege o metodă din secțiunea „Decodează ca” și aplic-o. Anulează ultimele etape ale stratului.
Exemplu
Codificare URL în Base64 a fișierului 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)Trei straturi: codificarea URL-ului în format procentual (%2F), codificarea Base64 care se decodifică în date gzip și gzip-ul în sine, culminând cu un script care redirecționează browserul către https://example.com/verify.
Ce verifică
| Semnal | Ce înseamnă asta |
|---|---|
| Lanț de straturi | Codificările, în ordine, de exemplu Hex → Base64. Prezența mai multor straturi în jurul unei adrese URL scurte sau al unei comenzi înseamnă, de obicei, că cineva a vrut să o ascundă. |
| Dimensiunea pe pas | Bytes care intră și ies din fiecare strat. Un strat gzip sau deflate care crește semnificativ reprezintă o decompresie obișnuită. |
| Text UTF-16LE | Doi octeți pe caracter, caracteristic pentru PowerShell -EncodedCommand. O comandă decodată care descarcă sau pornește ceva reprezintă un semnal de alarmă. |
| Rezultat binar | Dacă rezultatul final nu este text, se afișează o reprezentare hexadecimală a primilor 512 octeți, împreună cu formatul detectat. Copiați-o în format hexadecimal sau Base64; nu o rulați niciodată. |
| Indicatori în rezultat | Adresele URL, adresele de e-mail și adresele IPv4 găsite în textul decodat sunt afișate în formă neutralizată, alături de un buton care permite copierea lor în format brut. |
| Mesaj de oprire | Nu se recunoaște nicio altă codificare, se atinge limita de 12 straturi sau se ajunge la un pas care ar repeta un rezultat anterior. La această limită, ar putea exista mai multe straturi. |
| Opțiunea „Defang” | Activată implicit: adresele URL și adresele de e-mail din rezultat sunt afișate cu informațiile confidențiale ascunse. Opțiunea „Copiere” afișează întotdeauna textul brut. |
| Opțiunea „Continuă decuparea” | După efectuarea manuală a etapei de decodare, decodarea continuă automat, cu excepția cazului în care debifați această opțiune. |
| Decodare ca listă | Base64, Base64 compatibil cu URL-uri, hexazecimal, codificare procentuală URL, entități HTML, caractere de escape, coduri de caractere, quoted-printable, gzip, zlib, deflate brut și UTF-16LE, pentru etapele pe care procesul automat le omite. |
| Butoane de copiere | Opțiunea „Copiere” afișează textul decodat în format brut. Un rezultat binar oferă în schimb opțiunile „Copiere ca hex” și „Copiere ca Base64”. |
Alte exemple
Vector de testare RFC 4648
Zm9vYmFyStratul 1: Base64, 8 → 6 octeți. Rezultatul este textul „foobar”, valoarea publicată în RFC 4648.
Codificare hexadecimală urmată de codificare Base64 a unei adrese URL
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3d2 straturi: Hex → Base64 (88 → 44 → 31 octeți). Rezultatul este https://login.example.net/reset, afișat fără caractere speciale și inclus în secțiunea „Indicatori” din rezultat.
Comandă codificată în PowerShell
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcA2 straturi: Base64 → text UTF-16LE, caracteristic pentru comanda PowerShell -EncodedCommand. Rezultatul este Start-Process 'https://example.org/update', URL-ul fiind menționat ca indicator.
Întrebări frecvente
Ce codificări recunoaște?
Base64 (standard și compatibil cu URL-uri, completarea cu caractere de umplutură fiind opțională), format hexazecimal simplu, 0x, \x, cu spații sau separat prin două puncte, codificare procentuală pentru URL-uri, entități HTML, caractere de escape \x, \u, \u{…} și %u, liste String.fromCharCode, quoted-printable, gzip, zlib și deflate brut, precum și text UTF-16LE, cum ar fi un PowerShell -EncodedCommand. De asemenea, sunt decodate apeluri precum atob('…') sau base64_decode('…') și URI-urile de tip data:.
De ce s-a oprit sau de ce mi-a lăsat textul așa cum era?
Un strat este acceptat numai dacă rezultatul său este text lizibil, un format de fișier cunoscut sau un flux care se decomprimă fără probleme; astfel, cuvintele obișnuite care se întâmplă să fie codificate valid în Base64 nu sunt modificate. Prin urmare, codificările scurte sau neobișnuite pot fi omise: utilizați Decode pentru a aplica manual o metodă și Undo pentru a reveni la pasul anterior. Procesul se oprește după 12 straturi.
Conținutul decodat este rulat sau trimis undeva?
Nu. Decodarea se realizează folosind JavaScript simplu și DecompressionStream-ul browserului; rezultatul este afișat sub formă de text sau de dump hexazecimal și nu este niciodată executat, redat sau încărcat.
De unde provin astfel de șiruri de caractere?
Paginile de phishing și atașamentele ascund adresele URL și codul în format Base64 sau hexazecimal, paginile ClickFix copiază comenzi PowerShell codificate în clipboard, iar e-mailurile sunt trimise în format quoted-printable. Lipiți șirul aici, în loc să-l rulați.
Pot decoda câte un strat pe rând?
Da. Debifați opțiunea „După un pas manual, continuați decodarea automată”, apoi alegeți o metodă din secțiunea „Decodare ca” și apăsați „Aplică” la rezultatul curent pentru fiecare pas.
Cât text pot lipi?
Până la 5 MB. Rezultatele care depășesc 200.000 de caractere sunt afișate pe ecran într-o formă prescurtată, dar opțiunea „Copiere” afișează textul integral.
Ce sunt „quoted-printable” și „percent-encoding”?
Ambele codifică un octet sub forma unui semn urmat de două cifre hexazecimale. Codificarea „quoted-printable” provine din corpul mesajelor de e-mail, unde =3D reprezintă simbolul =. Codificarea „percent-encoding” provine din adresele URL, unde %2F reprezintă simbolul /.