Desofuscador de Dart e Restaurador de Código
Detecte e reverta a ofuscação de Dart automaticamente. Identifica identificadores curtos/minificados (a, b, _0xA, _x0x), strings com escapes hexadecimais (\\xHH), sequências de escape Unicode (\\uXXXX), construção de pontos de código com String.fromCharCodes([...]), strings codificadas em Base64 via base64Decode(), padrões de manipulação de bytes com cifra XOR e ofuscação por concatenação de strings divididas. Cada detecção inclui pontuação de confiança, números de linha de origem e o contexto do código ao redor. Grátis, privado e sem cadastro.
Detect and reverse Dart obfuscation techniques. Automatically identifies short/minified identifiers, hex-escaped strings, Unicode escape sequences, String.fromCharCodes construction, Base64-encoded strings, XOR cipher patterns, and string concatenation obfuscation with confidence ratings and source context.
Paste Dart code above and click Analyze Dart Code to detect obfuscation patterns. The tool identifies short/minified identifiers, hex escapes, Unicode escapes, String.fromCharCodes construction, Base64-encoded strings, XOR cipher patterns, and split-string concatenation. Try loading an example to see how it works!
Recursos
- 7 detectores de técnicas de ofuscação de Dart: detecta automaticamente identificadores curtos/minificados (a, b, _0xA, _x0x), strings com escapes hexadecimais (formato \\xHH), sequências de escape Unicode (\\uXXXX), construção de pontos de código com String.fromCharCodes, strings codificadas em Base64 via base64Decode(), padrões de manipulação de bytes com cifra XOR e ofuscação por concatenação de strings divididas. Cada detector usa correspondência de padrões especializada para Dart, com suporte a aspas simples e duplas.
- Exibição do valor codificado e da análise decodificada: cada detecção mostra o valor codificado original ou o indicador de ofuscação ao lado do resultado decodificado ou da análise, em um layout de cartões limpo. Escapes hexadecimais são totalmente decodificados em texto legível, arrays de códigos de String.fromCharCodes são reconstruídos em strings, payloads Base64 são decodificados e padrões de concatenação de strings são reconstruídos em sua forma completa.
- Visualização de código anotado com pontuação de confiança: veja seu código Dart com anotações em linha marcando cada ponto de ofuscação detectado. Cada detecção recebe uma classificação de confiança de 1 a 5, com números de linha de origem e contexto do código ao redor. A visualização anotada ajuda a localizar e entender rapidamente cada técnica de ofuscação usada no código, com cartões de indicadores codificados por cor para cada tipo de detecção.
- 100% local no navegador e privado: toda a desofuscação de Dart roda inteiramente no seu navegador. Seu código Dart, todos os indicadores detectados, os valores decodificados e os resultados da análise nunca saem do seu dispositivo. Sem envios a servidores, sem chamadas de API, sem armazenamento de dados e sem rastreamento. Totalmente seguro para analisar código-fonte Dart proprietário ou sensível, incluindo aplicativos Flutter.
Casos de Uso
- Análise de segurança de código Dart ofuscado: analise código-fonte Dart suspeito em busca de strings ofuscadas, endpoints de API ocultos e configuração codificada. Código Dart malicioso costuma usar String.fromCharCodes, codificação Base64 e escapes hexadecimais para esconder URLs de C2, chaves de API e dados de configuração da análise estática e da revisão de código.
- Análise de engenharia reversa de aplicativos Flutter: extraia configuração oculta, chaves secretas e strings ofuscadas do código-fonte Dart usado em aplicativos Flutter. As técnicas comuns de ofuscação de Dart incluem nomes de variáveis curtos gerados pelo ofuscador de Dart, construção com String.fromCharCodes para literais de string e concatenação de strings divididas para evadir a detecção por palavras-chave.
- Engenharia reversa de código Dart web e de servidor: entenda e reverta código Dart que foi ofuscado para proteção em aplicativos web ou do lado do servidor. O restaurador de código identifica e anota nomes de variáveis curtos, decodifica strings codificadas e revela a intenção original por trás de constantes numéricas ofuscadas e construções de códigos de caracteres.
- Auditoria de código e segurança de pacotes Dart: durante auditorias de segurança de projetos Dart, analise pacotes e dependências de terceiros em busca de indicadores de ofuscação. Identifique pacotes Dart que usam strings codificadas, ofuscação de códigos de caracteres ou identificadores ofuscados - sinais potenciais de adulteração ou intenção maliciosa em ataques à cadeia de suprimentos de Dart e Flutter.
- Ferramenta educacional sobre técnicas de ofuscação de Dart: aprenda como funcionam as técnicas de ofuscação de Dart vendo exemplos reais decodificados. Entenda como String.fromCharCodes, escapes hexadecimais, codificação Base64, cifras XOR e concatenação de strings são usados tanto para proteger código legitimamente em aplicativos Flutter comerciais quanto para fins maliciosos na análise de malware.
- Análise forense de sistemas Dart comprometidos: durante a resposta a incidentes em sistemas baseados em Dart comprometidos, analise arquivos de configuração, código de inicialização e plugins do Flutter em busca de URLs de reconexão ocultas, endpoints de exfiltração de dados ou comandos de shell codificados que invasores inserem no código-fonte Dart voltado a plataformas móveis e web.
Perguntas frequentes
A ferramenta detecta sete padrões comuns de ofuscação de Dart: identificadores curtos/minificados (nomes de uma letra ou prefixados com sublinhado como a, b, _0xA, _x0x), strings com escapes hexadecimais (formato \\xHH), sequências de escape Unicode (\\uXXXX), construção de arrays de pontos de código com String.fromCharCodes, strings codificadas em Base64 via base64Decode() de dart:convert, padrões de manipulação de bytes com cifra XOR em laços e ofuscação por concatenação de strings divididas.
O analisador procura chamadas String.fromCharCodes([...]) e extrai todos os pontos de código inteiros do literal de array. Ele lida tanto com inteiros decimais (72, 101, 108, 108, 111) quanto com literais hexadecimais (0x48, 0x65, 0x6C, 0x6C, 0x6F). Cada ponto de código válido é convertido em seu caractere Unicode correspondente com String.fromCharCode, e a string decodificada é exibida ao lado do array codificado original.
A opção --obfuscate do Dart renomeia símbolos no nível binário para nomes curtos. Embora esta ferramenta possa detectar padrões semelhantes de identificadores curtos no código-fonte, o ofuscador de Dart trabalha principalmente com snapshots AOT compilados e arquivos kernel, não com código Dart legível. Esta ferramenta é mais eficaz para analisar código-fonte Dart ofuscado do que builds Flutter compiladas.
Padrões de cifra XOR detectados em código Dart normalmente usam uma chave definida em outro lugar, o que torna impossível descriptografar sem executar. A ferramenta detecta o padrão estrutural de XOR de bytes (manipulação de Uint8List com ^=) e o sinaliza para investigação manual. Você pode executar o trecho XOR em um runtime Dart para obter o valor realmente decodificado.
As pontuações de confiança vão de 1 a 5. A pontuação 5 (muito alta) é atribuída quando arrays de códigos de String.fromCharCodes são decodificados em texto legível ou quando escapes hexadecimais geram strings significativas. A pontuação 4 (alta) é para decodificações Base64 bem-sucedidas com conteúdo legível. A pontuação 3 (média) é para detecções de identificadores curtos e concatenação de strings. A pontuação 2 (baixa) é para padrões XOR que exigem execução.
Não. A ferramenta cobre os padrões de ofuscação de Dart mais comuns, mas não consegue lidar com todos os métodos. Não consegue decodificar strings construídas com StringBuffer ou padrões List.generate. Não consegue descriptografar dados cifrados com dart:crypto nem processar arquivos kernel de Dart compilados. A ofuscação avançada pode exigir análise dinâmica em um ambiente de execução Dart.
A visualização de código anotado exibe seu código-fonte Dart original com comentários inseridos em linha em cada linha onde a ofuscação foi detectada. Cada anotação inclui o nome da técnica de detecção e uma breve descrição, como "Identificador curto" com um nome descritivo sugerido, ou "Construção String.fromCharCodes" com o texto decodificado.
Com certeza. O Desofuscador de Dart roda inteiramente no seu navegador. Seu código Dart, todos os indicadores detectados, os valores decodificados e os resultados da análise nunca são enviados a nenhum servidor nem transmitidos pela rede. Todo o processamento acontece localmente no seu dispositivo, sem chamadas de API nem coleta de dados.
Um descompilador de Dart converte binários Dart compilados de volta em código-fonte. Esta ferramenta, por outro lado, analisa código-fonte Dart já legível em busca de técnicas intencionais de ofuscação: decodifica strings ocultas, revela identificadores ofuscados e sinaliza padrões suspeitos. Ela não reconstrói código-fonte a partir de binários compilados.
Sim - 100% gratuita, sem cadastro, sem conta e sem limites de uso. Analise quanto código Dart precisar, quantas vezes quiser. Não há níveis premium, cobranças ocultas nem limites de taxa. A ferramenta roda inteiramente no seu navegador - seu código nunca sai do seu dispositivo.