URLs e domínios de phishing

Decodificador de QR code

Execução localNova

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

Use Decodificador de QR code

O que ele faz

Carregue, solte ou cole a imagem de um QR code. O conteúdo aparece como texto neutralizado, junto com o que ele faz: um link e o host real dele, um login de Wi-Fi, um pedido de pagamento ou um segredo de dois fatores.

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

Como usar Decodificador de QR code

  1. Obtenha uma imagem do código. Faça uma captura de tela ou tire uma foto do QR code. A página nunca usa a sua câmera.
  2. Carregue-a. Solte a imagem na caixa, clique na caixa para escolher um arquivo (PNG, JPEG, GIF, WebP, BMP ou SVG de até 20 MB) ou cole uma captura de tela com Ctrl+V.
  3. Confira a pré-visualização. A imagem aparece com o código detectado contornado. Um selo indica o tipo de conteúdo e o decodificador que o leu.
  4. Leia o conteúdo e os avisos. O conteúdo aparece neutralizado, para que os links não possam ser clicados. Notas vermelhas e amarelas abaixo dele explicam o que o código faria.
  5. Veja os campos. Os campos dividem o conteúdo em partes como Host, Network name, Amount ou Recipient. Endereços de carteira têm seu próprio botão Copy.
  6. Dê o próximo passo. Para um link, use Send to… para passá-lo ao Link Unwrapper, ao Homoglyph Checker ou ao URL Parser sem visitá-lo.

Exemplo

Link de pagamento de estacionamento com host escondido

Entrada
https://pay-parking.example@198.51.100.24/pay?zone=401
Saída (registrada em 2026-10-20)
Web link read by jsQR (as is)

Payload (defanged)

hxxps://pay-parking[.]example[@]198[.]51[.]100[.]24/pay?zone=401
Copy raw

Text before "@" is not the destination: this link opens 198[.]51[.]100[.]24, not "pay-parking[.]example".

The host is a bare IP address (198[.]51[.]100[.]24), not a domain name.

HOST
198[.]51[.]100[.]24
USER INFO BEFORE @
pay-parking[.]example
SCHEME
https
PATH
/pay
QUERY
?zone=401

Next: use Send to… above. URL Parser splits the link into parts.

Load example desenha este texto como QR code na página e decodifica a imagem: o host real é o endereço IP 198.51.100.24, e pay-parking.example antes do @ é só informação de usuário, então os dois são sinalizados como sinais de perigo.

O que ele verifica

SinalO que isso significa
Tipo de conteúdoLink da web, rede Wi-Fi, pedido de pagamento, segredo de dois fatores, rascunho de e-mail, SMS ou telefone, cartão de contato, evento de calendário, link de app ou texto simples. A cor do selo segue o pior aviso.
Host escondido em um linkO texto antes do @ não é o destino, e um host escrito como endereço IP aparece em vermelho. Um host em punycode que mistura alfabetos também aparece em vermelho.
Encurtador ou encapsulador de e-mailLinks que passam por bit.ly, qrco.de e serviços parecidos, ou por Safe Links ou URL Defense, escondem o endereço real. A ferramenta avisa isso e indica o Link Unwrapper.
Hospedagem gratuita, http, porta, subdomínios profundoshttp simples recebe um aviso amarelo. Hospedagens gratuitas como github.io ou pages.dev, uma porta fora do padrão e hosts com cinco ou mais níveis recebem notas, porque um endereço assim diz pouco sobre quem opera a página.
Segredo de dois fatores (vermelho)Um código otpauth carrega um segredo que gera os seus códigos de uso único, e um código otpauth-migration contém uma exportação inteira de um autenticador. O segredo fica escondido até você clicar em Show secret.
Pedido de pagamento criptoLinks de pagamento de Bitcoin, Ethereum, Solana, TRON, TON e outros mostram o endereço e o valor. Um código Ethereum que chama approve, increaseAllowance, setApprovalForAll ou permit aparece em vermelho, assim como um transaction request do Solana Pay.
Códigos de comerciante UPI e EMVEscanear um código UPI envia dinheiro da sua conta, e um mandato UPI permite débitos repetidos. Um código EMV cujo checksum CRC não confere foi editado ou danificado.
Esquemas perigososjavascript:, data:, file:, ms-msdt:, search-ms: e esquemas parecidos aparecem em vermelho. Códigos que abrem um app em vez de uma página da web recebem uma nota amarela.
Detalhes do Wi-FiNome da rede, tipo de segurança, se há senha e se a rede é oculta. Redes abertas recebem um aviso.

Mais exemplos

QR code de uma rede Wi-Fi aberta

Entrada
WIFI:T:nopass;S:Airport Free WiFi;;
Resultado

Wi-Fi network. Network name (SSID): Airport Free WiFi, Security: nopass, Password: none, Hidden network: no. Aviso amarelo: Open network: traffic is not encrypted at the Wi-Fi level. Uma nota diz que atacantes montam redes abertas parecidas para interceptar o tráfego.

QR code com um segredo de autenticador

Entrada
otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example
Resultado

Two-factor (TOTP/HOTP) secret. O conteúdo mostra secret=•••••••• até você clicar em Show secret. Campos: Type TOTP, Issuer Example, Account alice[@]example[.]com, Secret present (16 characters, hidden), Algorithm SHA1 (default), Digits 6 (default), Period 30 s, mais um aviso vermelho para nunca enviar esta imagem a ninguém.

Aprovação de token disfarçada de pagamento (endereços de teste do EIP-55)

Entrada
ethereum:0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359@1/approve?address=0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed&uint256=115792089237316195423570985008687907853269984665640564039457584007913129639935
Resultado

Ethereum payment request. Campos: Network Ethereum, Contract 0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359, Chain ID 1, Function approve, Address parameter (o spender) e Token amount (raw units), aqui o máximo de 78 dígitos. Aviso vermelho: This asks your wallet to call approve: it gives 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed permission to move your tokens. Wallet drainers use exactly this. Em seguida vem uma nota amarela: compare o endereço inteiro.

Perguntas frequentes

O que o decodificador mostra para um QR code?

O texto decodificado, neutralizado para não ser clicável, e o tipo dele: um link da web (host, punycode, host que é um IP, informação de usuário antes do @, encurtadores e encapsuladores de links), uma rede Wi-Fi, um rascunho de e-mail, telefone ou SMS, um pedido de pagamento cripto, UPI ou EMV, um segredo de dois fatores otpauth, um cartão de contato ou um evento de calendário. Cada tipo recebe os avisos que importam para ele, por exemplo que um código otpauth carrega um segredo 2FA.

Por que uma imagem não é decodificada?

O código pode estar muito pequeno, desfocado, cortado nas bordas ou coberto por reflexos; recortar a imagem de forma a incluir apenas o código com sua borda branca geralmente ajuda. O decodificador tenta usar o detector de código de barras integrado ao navegador, quando houver um, e, em seguida, o jsQR na imagem (reduzida para 1.600 pixels no lado mais longo), um limiar de preto e branco, uma borda branca adicionada e, para imagens de até 800 pixels no lado mais longo, uma ampliação de 2x.

A imagem é enviada?

Não. A imagem é decodificada no seu navegador com a biblioteca jsQR incluída e nunca é enviada a lugar nenhum. A câmera não é usada, então tire uma foto ou uma captura de tela e carregue ou cole.

E se a imagem tiver mais de um QR code?

Se o seu navegador tem um detector de códigos de barras embutido, cada código encontrado é listado como QR code 1 of N, cada um com seus próprios avisos. O jsQR, usado como alternativa, lê um código por imagem, então recorte a imagem no código que interessa.

Por que a senha do Wi-Fi ou o segredo de dois fatores ficam escondidos?

Para que não apareçam na tela nem em uma captura de tela do resultado. Show secret os revela na caixa de conteúdo, e Copy raw sempre copia o texto completo.

Posso soltar um link para uma imagem de outro site?

Não. A página só lê arquivos de imagem e imagens coladas e não baixa nada. Salve a imagem antes, ou copie a própria imagem e cole. Um texto data:image em base64 colado também funciona.

Explicação dos termos

Pesquisa do PhishDestroy