Désobfuscateur Dart et Restaurateur de Code
Détectez et inversez automatiquement l'obfuscation Dart. Identifie les identifiants courts/minifiés (a, b, _0xA, _x0x), les chaînes à échappements hexadécimaux (\\xHH), les séquences d'échappement Unicode (\\uXXXX), la construction de points de code avec String.fromCharCodes([...]), les chaînes encodées en Base64 via base64Decode(), les motifs de manipulation d'octets par chiffrement XOR et l'obfuscation par concaténation de chaînes fractionnées. Chaque détection inclut un score de confiance, les numéros de ligne source et le contexte du code environnant. Gratuit, confidentiel et sans inscription.
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!
Fonctionnalités
- 7 détecteurs de techniques d'obfuscation Dart : détecte automatiquement les identifiants courts/minifiés (a, b, _0xA, _x0x), les chaînes à échappements hexadécimaux (format \\xHH), les séquences d'échappement Unicode (\\uXXXX), la construction de points de code avec String.fromCharCodes, les chaînes encodées en Base64 via base64Decode(), les motifs de manipulation d'octets par chiffrement XOR et l'obfuscation par concaténation de chaînes fractionnées. Chaque détecteur utilise une correspondance de motifs spécialisée pour Dart, avec prise en charge des guillemets simples et doubles.
- Affichage de la valeur encodée et de l'analyse décodée : chaque détection affiche la valeur encodée d'origine ou l'indicateur d'obfuscation à côté du résultat décodé ou de l'analyse, dans une disposition de cartes claire. Les échappements hexadécimaux sont entièrement décodés en texte lisible, les tableaux de codes de String.fromCharCodes sont reconstruits en chaînes, les charges Base64 sont décodées et les motifs de concaténation de chaînes sont reconstruits dans leur forme complète.
- Vue de code annotée avec score de confiance : consultez votre code Dart avec des annotations en ligne marquant chaque point d'obfuscation détecté. Chaque détection reçoit une note de confiance de 1 à 5, avec les numéros de ligne source et le contexte du code environnant. La vue annotée vous aide à localiser et comprendre rapidement chaque technique d'obfuscation utilisée dans le code, avec des cartes d'indicateurs colorées pour chaque type de détection.
- 100 % local dans le navigateur et confidentiel : toute la désobfuscation Dart s'exécute entièrement dans votre navigateur. Votre code Dart, tous les indicateurs détectés, les valeurs décodées et les résultats d'analyse ne quittent jamais votre appareil. Aucun envoi à un serveur, aucun appel d'API, aucun stockage de données et aucun suivi. Parfaitement sûr pour analyser du code source Dart propriétaire ou sensible, y compris des applications Flutter.
Cas d'usage
- Analyse de sécurité de code Dart obfusqué : analysez du code source Dart suspect à la recherche de chaînes obfusquées, de points de terminaison d'API cachés et de configuration encodée. Le code Dart malveillant utilise souvent String.fromCharCodes, l'encodage Base64 et les échappements hexadécimaux pour dissimuler des URL de C2, des clés d'API et des données de configuration à l'analyse statique et à la revue de code.
- Analyse d'ingénierie inverse d'applications Flutter : extrayez la configuration cachée, les clés secrètes et les chaînes obfusquées du code source Dart utilisé dans les applications Flutter. Les techniques d'obfuscation Dart courantes incluent les noms de variables courts générés par l'obfuscateur Dart, la construction avec String.fromCharCodes pour les littéraux de chaîne et la concaténation de chaînes fractionnées pour échapper à la détection par mots-clés.
- Ingénierie inverse de code Dart web et serveur : comprenez et inversez du code Dart obfusqué à des fins de protection dans des applications web ou côté serveur. Le restaurateur de code identifie et annote les noms de variables courts, décode les chaînes encodées et révèle l'intention d'origine derrière des constantes numériques obfusquées et des constructions de codes de caractères.
- Audit de code et sécurité des paquets Dart : lors d'audits de sécurité de projets Dart, analysez les paquets et dépendances tiers à la recherche d'indicateurs d'obfuscation. Identifiez les paquets Dart qui utilisent des chaînes encodées, une obfuscation de codes de caractères ou des identifiants obfusqués - signes potentiels d'altération ou d'intention malveillante dans les attaques de la chaîne d'approvisionnement Dart et Flutter.
- Outil pédagogique sur les techniques d'obfuscation Dart : apprenez comment fonctionnent les techniques d'obfuscation Dart en voyant de vrais exemples décodés. Comprenez comment String.fromCharCodes, les échappements hexadécimaux, l'encodage Base64, les chiffrements XOR et la concaténation de chaînes servent à la fois à protéger légitimement du code dans les applications Flutter commerciales et à des fins malveillantes en analyse de malware.
- Analyse forensique de systèmes Dart compromis : lors de la réponse à incident sur des systèmes basés sur Dart compromis, analysez les fichiers de configuration, le code d'initialisation et les plugins Flutter à la recherche d'URL de reconnexion cachées, de points de terminaison d'exfiltration de données ou de commandes shell encodées que les attaquants intègrent au code source Dart visant les plateformes mobiles et web.
Foire aux questions
L'outil détecte sept motifs d'obfuscation Dart courants : identifiants courts/minifiés (noms d'une lettre ou préfixés par un souligné comme a, b, _0xA, _x0x), chaînes à échappements hexadécimaux (format \\xHH), séquences d'échappement Unicode (\\uXXXX), construction de tableaux de points de code avec String.fromCharCodes, chaînes encodées en Base64 via base64Decode() de dart:convert, motifs de manipulation d'octets par chiffrement XOR dans des boucles et obfuscation par concaténation de chaînes fractionnées.
L'analyseur recherche les appels String.fromCharCodes([...]) et extrait tous les points de code entiers du littéral de tableau. Il gère à la fois les entiers décimaux (72, 101, 108, 108, 111) et les littéraux hexadécimaux (0x48, 0x65, 0x6C, 0x6C, 0x6F). Chaque point de code valide est converti en son caractère Unicode correspondant via String.fromCharCode, et la chaîne décodée est affichée à côté du tableau encodé d'origine.
L'option --obfuscate de Dart renomme les symboles au niveau binaire en noms courts. Bien que cet outil puisse détecter des motifs similaires d'identifiants courts dans le code source, l'obfuscateur Dart travaille principalement sur des snapshots AOT compilés et des fichiers kernel, et non sur du code Dart lisible. Cet outil est surtout efficace pour analyser du code source Dart obfusqué plutôt que des builds Flutter compilées.
Les motifs de chiffrement XOR détectés dans le code Dart utilisent généralement une clé définie ailleurs, ce qui rend le déchiffrement impossible sans exécution. L'outil détecte le motif structurel de XOR d'octets (manipulation de Uint8List avec ^=) et le signale pour une investigation manuelle. Vous pouvez exécuter l'extrait XOR dans un runtime Dart pour obtenir la valeur réellement décodée.
Les scores de confiance vont de 1 à 5. Le score 5 (très élevé) est attribué lorsque les tableaux de codes de String.fromCharCodes se décodent en texte lisible ou lorsque les échappements hexadécimaux se décodent en chaînes significatives. Le score 4 (élevé) concerne les décodages Base64 réussis au contenu lisible. Le score 3 (moyen) concerne les détections d'identifiants courts et la concaténation de chaînes. Le score 2 (faible) concerne les motifs XOR qui nécessitent une exécution.
Non. L'outil couvre les motifs d'obfuscation Dart les plus courants mais ne peut pas tout gérer. Il ne peut pas décoder les chaînes construites via StringBuffer ou les motifs List.generate. Il ne peut pas déchiffrer les données chiffrées avec dart:crypto ni traiter les fichiers kernel Dart compilés. L'obfuscation avancée peut nécessiter une analyse dynamique dans un environnement d'exécution Dart.
La vue de code annotée affiche votre code source Dart d'origine avec des commentaires insérés en ligne sur chaque ligne où une obfuscation a été détectée. Chaque annotation inclut le nom de la technique de détection et une brève description, comme « Identifiant court » avec un nom descriptif suggéré, ou « Construction String.fromCharCodes » avec le texte décodé.
Absolument. Le désobfuscateur Dart s'exécute entièrement dans votre navigateur. Votre code Dart, tous les indicateurs détectés, les valeurs décodées et les résultats d'analyse ne sont jamais envoyés à un serveur ni transmis sur le réseau. Tout le traitement se fait localement sur votre appareil, sans appel d'API ni collecte de données.
Un décompilateur Dart reconvertit des binaires Dart compilés en code source. Cet outil analyse au contraire du code source Dart déjà lisible à la recherche de techniques d'obfuscation intentionnelles : il décode des chaînes cachées, révèle des identifiants obfusqués et signale des motifs suspects. Il ne reconstruit pas le code source à partir de binaires compilés.
Oui - 100 % gratuit, sans inscription, sans compte et sans limites d'utilisation. Analysez autant de code Dart que nécessaire, aussi souvent que vous le souhaitez. Aucune offre premium, aucun frais caché, aucune limitation de débit. L'outil s'exécute entièrement dans votre navigateur - votre code ne quitte jamais votre appareil.