File e pagine

Decodificatore multistrato

Funziona in localeNuovo

Lo strumento è in inglese; questa pagina ne fornisce una spiegazione nella tua lingua.

Usa Decodificatore multistrato

Cosa fa

Incolla un testo codificato o offuscato e il decodificatore rimuove uno strato dopo l'altro, mostrando ogni passaggio, finché non resta un testo leggibile o un formato di file noto. Tutto avviene nel tuo browser.

Funziona interamente nel browser: nulla di ciò che inserisci viene caricato online.

Come utilizzare Decodificatore multistrato

  1. Incolla il testo codificato. Incolla la stringa in Encoded text: un blob Base64 preso da uno script, una lunga stringa esadecimale, testo in percent-encoding o una lista String.fromCharCode.
  2. Decodifica. Premi Decode layers o Ctrl+Invio. Ogni strato riconosciuto viene rimosso a turno, fino a 12.
  3. Leggi la catena. Il titolo elenca gli strati in ordine. Ogni passaggio mostra il metodo, la dimensione prima e dopo e un'anteprima.
  4. Usa il risultato. Copia il testo decodificato, leggi Indicators in the result, oppure usa Send to per HTML Attachment Analyzer, Link Unwrapper, IOC Converter o URL Defanger.
  5. Intervieni a mano. Se uno strato non viene riconosciuto, scegli un metodo in Decode as e applicalo. Undo last layer torna indietro di un passo.

Esempio

Base64 di gzip codificato in URL

Input
H4sIAAAAAAACA7MpTi7KLCixK8%2FMS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
Risultato (registrato il 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)

Tre strati: percent-encoding URL (%2F), Base64 che si decodifica in dati gzip, e gzip stesso, che termina in uno script che manda il browser a https://example.com/verify.

Cosa verifica

SegnaleCosa significa
Catena di stratiLe codifiche in ordine, ad esempio Hex → Base64. Più strati attorno a un URL breve o a un comando di solito significano che qualcuno voleva nasconderlo.
Dimensione per passaggioByte in ingresso e in uscita di ogni strato. Uno strato gzip o deflate che cresce molto è una normale decompressione.
Testo UTF-16LEDue byte per carattere, tipico di -EncodedCommand di PowerShell. Un comando decodificato che scarica o avvia qualcosa è un campanello d'allarme.
Risultato binarioSe il risultato finale non è testo, viene mostrato un dump esadecimale dei primi 512 byte con il formato rilevato. Copialo come esadecimale o Base64; non eseguirlo mai.
Indicators in the resultURL, indirizzi e-mail e indirizzi IPv4 trovati nel testo decodificato, mostrati in forma defanged, con un pulsante per copiarli in forma grezza.
Messaggio di arrestoNessuna ulteriore codifica riconosciuta, il limite di 12 strati, oppure un passaggio che ripeterebbe un risultato precedente. Al limite potrebbero esserci altri strati.
Opzione defangAttiva per impostazione predefinita: URL e indirizzi e-mail nel risultato vengono mostrati in forma defanged. Copy fornisce sempre il testo grezzo.
Opzione per continuare a decodificareDopo un passaggio manuale con Decode as, la decodifica prosegue automaticamente a meno che tu non deselezioni l'opzione.
Elenco Decode asBase64, Base64 URL-safe, esadecimale, percent-encoding URL, entità HTML, escape, codici carattere, quoted-printable, gzip, zlib, raw deflate e UTF-16LE, per i passaggi che la decodifica automatica salta.
Pulsanti di copiaCopy fornisce il testo decodificato grezzo. Un risultato binario offre invece Copy as hex e Copy as Base64.

Altri esempi

Vettore di test RFC 4648

Input
Zm9vYmFy
Risultato

1 strato: Base64, 8 → 6 byte. Il risultato è il testo foobar, il valore pubblicato in RFC 4648.

Hex attorno a Base64 attorno a un URL

Input
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3d
Risultato

2 strati: Hex → Base64 (88 → 44 → 31 byte). Il risultato è https://login.example.net/reset, mostrato in forma defanged ed elencato in Indicators in the result.

Comando PowerShell codificato

Input
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcA
Risultato

2 strati: Base64 → testo UTF-16LE, segnalato come tipico di -EncodedCommand di PowerShell. Il risultato è Start-Process 'https://example.org/update', con l'URL elencato come indicatore.

Domande frequenti

Quali codifiche riconosce?

Base64 (standard e URL-safe, padding facoltativo), esadecimale in forma semplice, 0x, \x, con spazi o separato da due punti, percent-encoding URL, entità HTML, escape \x, \u, \u{…} e %u, liste String.fromCharCode, quoted-printable, gzip, zlib e raw deflate, e testo UTF-16LE come un -EncodedCommand di PowerShell. Vengono scompattate anche chiamate come atob('…') o base64_decode('…') e i data: URI.

Perché si è fermato, o ha lasciato il mio testo così com'è?

Uno strato viene accettato solo quando il suo output è testo leggibile, un formato di file noto o un flusso che si decomprime correttamente, quindi le parole comuni che per caso sono Base64 valido vengono lasciate stare. Codifiche brevi o insolite possono quindi sfuggire: usa Decode as per applicare un metodo a mano e Undo per tornare indietro. Si ferma dopo 12 strati.

Il contenuto decodificato viene eseguito o inviato da qualche parte?

No. La decodifica usa semplice JavaScript e il DecompressionStream del browser; il risultato viene mostrato come testo o come dump esadecimale e non viene mai eseguito, visualizzato come pagina o caricato.

Da dove provengono stringhe come queste?

Le pagine e gli allegati di phishing nascondono URL e codice in Base64 o esadecimale, le pagine ClickFix copiano negli appunti comandi PowerShell codificati, e le e-mail arrivano in quoted-printable. Incolla qui la stringa invece di eseguirla.

Posso decodificare uno strato alla volta?

Sì. Deseleziona After a manual step, keep peeling automatically, poi scegli un metodo in Decode as e premi Apply to the current result per ogni passaggio.

Quanto testo posso incollare?

Fino a 5 MB. I risultati più lunghi di 200.000 caratteri vengono accorciati sullo schermo, ma Copy fornisce il testo completo.

Cosa sono quoted-printable e percent-encoding?

Entrambi scrivono un byte come un segno seguito da due cifre esadecimali. Il quoted-printable viene dal corpo delle e-mail, dove =3D sta per =. Il percent-encoding viene dagli URL, dove %2F sta per /.

Spiegazione dei termini

Ricerca PhishDestroy