Saltar al contenido
Aback Tools Logo

Desofuscador de Dart y Restaurador de Código

Detecta e invierte la ofuscación de Dart automáticamente. Identifica identificadores cortos/minificados (a, b, _0xA, _x0x), cadenas con escapes hexadecimales (\\xHH), secuencias de escape Unicode (\\uXXXX), construcción de puntos de código con String.fromCharCodes([...]), cadenas codificadas en Base64 mediante base64Decode(), patrones de manipulación de bytes con cifrado XOR y ofuscación por concatenación de cadenas divididas. Cada detección incluye puntuación de confianza, números de línea de origen y el contexto del código circundante. Gratis, privado y sin registro.

Dart Deobfuscator & Code Restorer

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.

Examples:

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!

Características

  • 7 detectores de técnicas de ofuscación de Dart: detecta automáticamente identificadores cortos/minificados (a, b, _0xA, _x0x), cadenas con escapes hexadecimales (formato \\xHH), secuencias de escape Unicode (\\uXXXX), construcción de puntos de código con String.fromCharCodes, cadenas codificadas en Base64 mediante base64Decode(), patrones de manipulación de bytes con cifrado XOR y ofuscación por concatenación de cadenas divididas. Cada detector usa coincidencia de patrones especializada para Dart, con compatibilidad tanto con comillas simples como dobles.
  • Visualización del valor codificado y del análisis decodificado: cada detección muestra el valor codificado original o el indicador de ofuscación junto al resultado decodificado o el análisis, en un diseño limpio de tarjetas. Los escapes hexadecimales se decodifican por completo a texto legible, los arrays de códigos de String.fromCharCodes se reconstruyen en cadenas, las cargas Base64 se decodifican y los patrones de concatenación de cadenas se reconstruyen en su forma completa.
  • Vista de código anotada con puntuación de confianza: consulta tu código Dart con anotaciones insertadas que marcan cada punto de ofuscación detectado. Cada detección recibe una valoración de confianza del 1 al 5, con números de línea de origen y contexto del código circundante. La vista anotada te ayuda a localizar y entender rápidamente cada técnica de ofuscación usada en el código, con tarjetas de indicadores codificadas por colores para cada tipo de detección.
  • 100 % local en el navegador y privado: toda la desofuscación de Dart se ejecuta por completo en tu navegador. Tu código Dart, todos los indicadores detectados, los valores decodificados y los resultados del análisis nunca salen de tu dispositivo. Sin subidas a servidores, sin llamadas a API, sin almacenamiento de datos y sin rastreo. Totalmente seguro para analizar código fuente Dart propietario o sensible, incluidas aplicaciones Flutter.

Casos de uso

  • Análisis de seguridad de código Dart ofuscado: analiza código fuente Dart sospechoso en busca de cadenas ofuscadas, endpoints de API ocultos y configuración codificada. El código Dart malicioso suele usar String.fromCharCodes, codificación Base64 y escapes hexadecimales para ocultar URL de C2, claves de API y datos de configuración del análisis estático y la revisión de código.
  • Análisis de ingeniería inversa de aplicaciones Flutter: extrae configuración oculta, claves secretas y cadenas ofuscadas del código fuente Dart usado en aplicaciones Flutter. Entre las técnicas comunes de ofuscación de Dart están los nombres de variable cortos generados por el ofuscador de Dart, la construcción con String.fromCharCodes para literales de cadena y la concatenación de cadenas divididas para evadir la detección por palabras clave.
  • Ingeniería inversa de código Dart web y de servidor: entiende e invierte código Dart que se ha ofuscado para protegerlo en aplicaciones web o de servidor. El restaurador de código identifica y anota nombres de variable cortos, decodifica cadenas codificadas y revela la intención original detrás de constantes numéricas ofuscadas y construcciones de códigos de caracteres.
  • Auditoría de código y seguridad de paquetes Dart: durante las auditorías de seguridad de proyectos Dart, analiza paquetes y dependencias de terceros en busca de indicadores de ofuscación. Identifica paquetes Dart que usan cadenas codificadas, ofuscación de códigos de caracteres o identificadores ofuscados, posibles señales de manipulación o intención maliciosa en ataques a la cadena de suministro de Dart y Flutter.
  • Herramienta educativa sobre técnicas de ofuscación de Dart: aprende cómo funcionan las técnicas de ofuscación de Dart viendo ejemplos reales decodificados. Comprende cómo se usan String.fromCharCodes, los escapes hexadecimales, la codificación Base64, los cifrados XOR y la concatenación de cadenas tanto para proteger código legítimamente en aplicaciones Flutter comerciales como con fines maliciosos en el análisis de malware.
  • Análisis forense de sistemas Dart comprometidos: durante la respuesta a incidentes en sistemas basados en Dart comprometidos, analiza archivos de configuración, código de inicialización y plugins de Flutter en busca de URL de reconexión ocultas, endpoints de exfiltración de datos o comandos de shell codificados que los atacantes incrustan en el código fuente Dart dirigido a plataformas móviles y web.

Preguntas frecuentes

La herramienta detecta siete patrones de ofuscación de Dart habituales: identificadores cortos/minificados (nombres de una letra o con prefijo de guion bajo como a, b, _0xA, _x0x), cadenas con escapes hexadecimales (formato \\xHH), secuencias de escape Unicode (\\uXXXX), construcción de arrays de puntos de código con String.fromCharCodes, cadenas codificadas en Base64 mediante base64Decode() de dart:convert, patrones de manipulación de bytes con cifrado XOR en bucles y ofuscación por concatenación de cadenas divididas.

El analizador busca llamadas a String.fromCharCodes([...]) y extrae todos los puntos de código enteros del literal de array. Maneja tanto enteros decimales (72, 101, 108, 108, 111) como literales hexadecimales (0x48, 0x65, 0x6C, 0x6C, 0x6F). Cada punto de código válido se convierte a su carácter Unicode correspondiente con String.fromCharCode, y la cadena decodificada se muestra junto al array codificado original.

La opción --obfuscate de Dart renombra símbolos a nivel binario con nombres cortos. Aunque esta herramienta puede detectar patrones similares de identificadores cortos en el código fuente, el ofuscador de Dart trabaja principalmente con instantáneas AOT compiladas y archivos kernel, no con código Dart legible. Esta herramienta es más eficaz para analizar código fuente Dart ofuscado que para builds de Flutter compilados.

Los patrones de cifrado XOR detectados en código Dart suelen usar una clave definida en otro lugar, lo que hace imposible descifrarlos sin ejecutarlos. La herramienta detecta el patrón estructural de XOR de bytes (manipulación de Uint8List con ^=) y lo marca para investigarlo manualmente. Puedes ejecutar el fragmento XOR en un entorno de ejecución de Dart para obtener el valor decodificado real.

Las puntuaciones de confianza van del 1 al 5. La puntuación 5 (muy alta) se asigna cuando los arrays de códigos de String.fromCharCodes se decodifican a texto legible o cuando los escapes hexadecimales se decodifican a cadenas con sentido. La puntuación 4 (alta) es para decodificaciones Base64 correctas con contenido legible. La puntuación 3 (media) es para detecciones de identificadores cortos y concatenación de cadenas. La puntuación 2 (baja) es para patrones XOR que requieren ejecución.

No. La herramienta cubre los patrones de ofuscación de Dart más comunes, pero no puede con todos los métodos. No puede decodificar cadenas construidas con StringBuffer o patrones List.generate. No puede descifrar datos cifrados con dart:crypto ni manejar archivos kernel de Dart compilados. La ofuscación avanzada puede requerir análisis dinámico en un entorno de ejecución de Dart.

La vista de código anotada muestra tu código fuente Dart original con comentarios insertados en línea en cada línea donde se detectó ofuscación. Cada anotación incluye el nombre de la técnica de detección y una breve descripción, como "Identificador corto" con un nombre descriptivo sugerido, o "Construcción String.fromCharCodes" con el texto decodificado.

Por supuesto. El Desofuscador de Dart se ejecuta por completo en tu navegador. Tu código Dart, todos los indicadores detectados, los valores decodificados y los resultados del análisis nunca se suben a ningún servidor ni se transmiten por la red. Todo el procesamiento ocurre localmente en tu dispositivo, sin llamadas a API ni recopilación de datos.

Un descompilador de Dart convierte binarios Dart compilados de vuelta a código fuente. Esta herramienta, en cambio, analiza código fuente Dart ya legible en busca de técnicas de ofuscación intencionadas: decodifica cadenas ocultas, revela identificadores ofuscados y marca patrones sospechosos. No reconstruye código fuente a partir de binarios compilados.

Sí: 100 % gratis, sin registro, sin cuenta y sin límites de uso. Analiza todo el código Dart que necesites, tantas veces como quieras. No hay niveles premium, cargos ocultos ni límites de velocidad. La herramienta se ejecuta por completo en tu navegador: tu código nunca sale de tu dispositivo.