Arquivos e páginas

Decodificador multicamadas

Execução localNova

A ferramenta em si está em inglês; esta página explica como usá-la no seu idioma.

Use Decodificador multicamadas

O que ele faz

Cole um texto codificado ou ofuscado e o decodificador remove uma camada após a outra, mostrando cada etapa, até restar um texto legível ou um formato de arquivo conhecido. Tudo roda no seu navegador.

Ele funciona inteiramente no seu navegador: nada do que você digitar é enviado.

Como usar Decodificador multicamadas

  1. Cole o texto codificado. Cole a string em Encoded text: um blob Base64 de um script, uma string hex longa, um texto com codificação percentual ou uma lista String.fromCharCode.
  2. Decodifique. Clique em Decode layers (decodificar camadas) ou pressione Ctrl+Enter. Cada camada reconhecida é removida por vez, até 12.
  3. Leia a cadeia. O título lista as camadas em ordem. Cada etapa mostra o método, o tamanho antes e depois e uma prévia.
  4. Use o resultado. Copie o texto decodificado, leia Indicators in the result ou use Send to para o HTML Attachment Analyzer, o Link Unwrapper, o IOC Converter ou o URL Defanger.
  5. Intervenha manualmente. Se uma camada não for detectada, escolha um método em Decode as e aplique-o. Undo last layer volta uma etapa.

Exemplo

Base64 de gzip codificado para URL

Entrada
H4sIAAAAAAACA7MpTi7KLCixK8%2FMS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
Saída (registrada em 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)

Três camadas: codificação percentual de URL (%2F), Base64 que decodifica para dados gzip e o próprio gzip, terminando em um script que manda o navegador para https://example.com/verify.

O que ele verifica

SinalO que isso significa
Cadeia de camadasAs codificações em ordem, por exemplo Hex → Base64. Várias camadas em volta de uma URL ou de um comando curto costumam indicar que alguém quis escondê-los.
Tamanho por etapaBytes de entrada e de saída de cada camada. Uma camada gzip ou deflate que cresce muito é descompressão normal.
Texto UTF-16LEDois bytes por caractere, típico do -EncodedCommand do PowerShell. Um comando decodificado que baixa ou inicia algo é um sinal de alerta.
Resultado binárioSe o resultado final não for texto, um dump hexadecimal dos primeiros 512 bytes é exibido com o formato detectado. Copie-o como hex ou Base64; nunca o execute.
Indicators in the resultURLs, endereços de e-mail e endereços IPv4 encontrados no texto decodificado, exibidos neutralizados, com um botão para copiá-los brutos.
Mensagem de paradaNenhuma outra codificação reconhecida, o limite de 12 camadas ou uma etapa que repetiria um resultado anterior. No limite, pode haver mais camadas.
Opção de neutralizaçãoAtivada por padrão: URLs e endereços de e-mail no resultado aparecem neutralizados. Copy sempre fornece o texto bruto.
Opção de continuar removendoDepois de uma etapa manual com Decode as, a decodificação continua automaticamente, a menos que você desmarque a opção.
Lista Decode asBase64, Base64 seguro para URL, hex, codificação percentual de URL, entidades HTML, escapes, códigos de caractere, quoted-printable, gzip, zlib, deflate bruto e UTF-16LE, para etapas que a passagem automática pula.
Botões de cópiaCopy fornece o texto decodificado bruto. Um resultado binário oferece Copy as hex e Copy as Base64 no lugar.

Mais exemplos

Vetor de teste da RFC 4648

Entrada
Zm9vYmFy
Resultado

1 camada: Base64, 8 → 6 bytes. O resultado é o texto foobar, o valor publicado na RFC 4648.

Hex em volta de Base64 em volta de uma URL

Entrada
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3d
Resultado

2 camadas: Hex → Base64 (88 → 44 → 31 bytes). O resultado é https://login.example.net/reset, exibido neutralizado e listado em Indicators in the result.

Comando codificado do PowerShell

Entrada
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcA
Resultado

2 camadas: Base64 → texto UTF-16LE, anotado como típico do -EncodedCommand do PowerShell. O resultado é Start-Process 'https://example.org/update', com a URL listada como indicador.

Perguntas frequentes

Quais codificações ele reconhece?

Base64 (padrão e seguro para URL, com padding opcional), hex na forma simples, com 0x, com \x, com espaços ou separado por dois-pontos, codificação percentual de URL, entidades HTML, escapes \x, \u, \u{…} e %u, listas String.fromCharCode, quoted-printable, gzip, zlib e deflate bruto, e texto UTF-16LE, como um -EncodedCommand do PowerShell. Chamadas como atob('…') ou base64_decode('…') e data: URIs também são desembrulhadas.

Por que ele parou, ou deixou meu texto como estava?

Uma camada só é aceita quando a saída é texto legível, um formato de arquivo conhecido ou um fluxo que descomprime sem erros, então palavras comuns que por acaso são Base64 válido ficam como estão. Por isso, codificações curtas ou incomuns podem passar despercebidas: use Decode as para aplicar um método manualmente e Undo para voltar. Ele para depois de 12 camadas.

O conteúdo decodificado é executado ou enviado a algum lugar?

Não. A decodificação usa JavaScript simples e o DecompressionStream do navegador; o resultado é exibido como texto ou como dump hexadecimal e nunca é executado, renderizado nem enviado.

De onde vêm strings como essas?

Páginas e anexos de phishing escondem URLs e código em Base64 ou hex, páginas ClickFix copiam comandos codificados do PowerShell para a sua área de transferência, e e-mails chegam em quoted-printable. Cole a string aqui em vez de executá-la.

Posso decodificar uma camada por vez?

Sim. Desmarque After a manual step, keep peeling automatically, depois escolha um método em Decode as e clique em Apply to the current result a cada etapa.

Quanto texto posso colar?

Até 5 MB. Resultados com mais de 200.000 caracteres são encurtados na tela, mas Copy fornece o texto completo.

O que são quoted-printable e codificação percentual?

Ambos escrevem um byte como um sinal seguido de dois dígitos hex. O quoted-printable vem do corpo dos e-mails, onde =3D representa =. A codificação percentual vem das URLs, onde %2F representa /.

Explicação dos termos

Pesquisa do PhishDestroy