Boîte à outils de détection d'obfuscation
Téléversez un fichier ou collez du code pour l'analyser à la recherche de 17 techniques d'obfuscation dans plusieurs langages. Détecte le packing, l'encodage de chaînes, l'usage d'eval, l'aplatissement du flux de contrôle, l'injection de code mort, le renommage de variables et l'anti-analyse. Chaque détection inclut un score de confiance, des extraits de preuves et des recommandations exploitables pour la désobfuscation. Tout le traitement est local et privé.
Upload a file or paste code to scan for 17 obfuscation techniques across multiple languages. The toolkit detects packing, string encoding, eval usage, control flow flattening, dead code injection, renaming, anti-analysis, and more. Each detected technique includes confidence scoring, evidence snippets, and actionable recommendations. All processing is local and private.
Paste source code or upload a file to scan for obfuscation techniques. The toolkit analyzes your code across 17 detection categories including packing, encoding, control flow flattening, dead code injection, variable renaming, and anti-analysis techniques. Each detection includes confidence scoring and actionable recommendations. All processing is local and private.
Pourquoi utiliser notre boîte à outils de détection d'obfuscation ?
- 17 catégories de détection de techniques : Analysez le code selon 17 catégories complètes, notamment la détection d'eval, la reconnaissance du Dean Edwards Packer, l'encodage hex/Unicode/Base64, le remplacement de chaînes basé sur des tableaux, l'injection de code mort, les prédicats opaques, l'aplatissement du flux de contrôle, la concaténation de chaînes, l'obfuscation de nombres, le renommage de variables, le code autodéfensif/anti-falsification, le verrouillage de domaine, l'accès à des propriétés calculées, l'encodage multicouche et le chiffrement XOR. Chaque technique inclut des motifs de correspondance détaillés adaptés à plusieurs langages de programmation.
- Prise en charge multilingue et multiformat : Détecte automatiquement le langage de programmation (JavaScript, Python, PHP, Ruby, Java, C#, PowerShell) et le type de fichier (PHP, XML, HTML, JSON, YAML, Terraform) à partir du contenu du code. La correspondance de motifs s'adapte aux idiomes d'obfuscation propres au langage, assurant une détection précise que vous analysiez des scripts web, des sorties de langages compilés ou des fichiers de configuration. Toute la correspondance est ajustée aux motifs d'obfuscation propres à chaque langage.
- Score de confiance et classification de gravité : Chaque détection inclut un score de confiance de 0-100 % basé sur la densité de preuves et la qualité de la correspondance. Les techniques sont classées par gravité (information, avertissement, critique) pour aider à prioriser la remédiation. Le score global d'obfuscation (0-100) et le niveau de synthèse (Aucune → Extrême) donnent une évaluation immédiate de l'état de protection du code, avec des décompositions détaillées par catégorie de technique.
- Preuves exploitables et recommandations : Chaque technique détectée inclut des extraits de preuves de code correspondant montrant exactement où l'obfuscation a été trouvée, ainsi que des recommandations exploitables pour la désobfuscation. Les preuves sont extraites du contexte autour des correspondances, montrant la structure du code environnant. Les recommandations renvoient à des outils et techniques de désobfuscation spécifiques pour chaque motif détecté, offrant un chemin de remédiation clair.
Qu'est-ce que l'obfuscation de code ?
L'obfuscation de code est la pratique délibérée consistant à transformer du code source ou binaire en une forme fonctionnellement identique mais difficile à lire, comprendre ou rétro-concevoir pour les humains. Les techniques d'obfuscation vont du simple renommage de variables (changer des noms significatifs comme calculateTotal en a ou _0x1234 ) à des transformations complexes du flux de contrôle qui restructurent toute la logique du programme. Si des usages légitimes existent (protéger la propriété intellectuelle, empêcher la falsification), l'obfuscation est aussi une technique couramment utilisée par les auteurs de malwares pour échapper à la détection par les outils et analystes de sécurité. La boîte à outils de détection d'obfuscation identifie 17 techniques distinctes réparties en huit catégories.
Comment fonctionne le moteur de détection
- Détection du langage — Le moteur analyse d'abord le code pour détecter le langage de programmation (JavaScript, Python, PHP, Ruby, Java, C#, PowerShell) et le type de fichier (PHP, XML, HTML, JSON, YAML). La détection du langage permet une correspondance de motifs propre au langage pour des résultats plus précis.
- Analyse par motifs — Le code est analysé selon 17 définitions de techniques, chacune comportant plusieurs motifs regex. Ces motifs sont conçus pour détecter des signatures d'obfuscation spécifiques comme les appels eval avec de longs arguments, les séquences d'échappement hex/Unicode, les appels d'API Base64, le format Dean Edwards Packer, les motifs de renommage de variables et les indicateurs anti-analyse.
- Collecte de preuves contextuelles — Au-delà de la simple correspondance de motifs, le moteur recueille des preuves contextuelles en examinant la structure du code autour des correspondances. Par exemple, la détection d'eval collecte les lignes de code environnantes, la détection d'encodage hex compte la densité totale d'échappements et l'analyse de renommage de variables recherche des déclarations de variables courtes à haute densité dans tout le code.
- Score de confiance et classification — Chaque technique détectée reçoit un score de confiance de 0-100 % basé sur la quantité de preuves et la qualité de la correspondance. Les techniques sont classées par gravité (information, avertissement, critique) selon leur impact d'obfuscation. Le score global est normalisé de 0 à 100 et mappé à une synthèse à cinq niveaux (Aucune, Minimale, Modérée, Forte, Extrême).
Catégories d'obfuscation courantes
- Packing : Compresse et encode l'ensemble de la charge de code dans un format plus petit qui est décodé à l'exécution. Le Dean Edwards Packer en est l'exemple le plus connu. Le code packé est généralement 30-70 % plus petit que l'original mais totalement illisible sans dépackage.
- Encodage : Transforme les littéraux de chaîne et les données en représentations encodées (hex, Unicode, Base64, Base85) décodées à l'exécution. L'encodage multicouche applique plusieurs passes d'encodage, nécessitant un décodage itératif pour révéler le contenu original.
- Flux de contrôle : Restructure le flux du programme à l'aide de techniques comme l'exécution dynamique basée sur eval, les prédicats opaques (conditions toujours vraies ou toujours fausses) et l'aplatissement du flux de contrôle (convertir toutes les branches en un répartiteur basé sur switch).
- Obfuscation de chaînes : Cache les littéraux de chaîne à l'aide d'un remplacement basé sur des tableaux (chaînes stockées dans des tableaux de recherche accédés par index), d'une concaténation fractionnée (chaînes fragmentées) et d'un accès à des propriétés calculées (notation entre crochets avec clés encodées).
- Anti-analyse : Détecte et répond aux outils de débogage, à la modification du code ou à des environnements d'exécution inattendus. Comprend du code autodéfensif qui modifie son comportement lorsque une falsification est détectée et un verrouillage de domaine qui restreint l'exécution à des noms d'hôtes spécifiques.
Confidentialité et sécurité
Cet outil s'exécute entièrement dans votre navigateur avec du JavaScript côté client. Votre code, les fichiers téléversés et les résultats d'analyse ne sont jamais envoyés à un serveur, stockés dans une base de données ou transmis sur le réseau. Toute la computation du moteur de détection, la correspondance de motifs, le calcul du score de confiance et la génération de rapport s'exécutent localement sur votre appareil. Il n'y a aucun appel API, suivi analytique, cookie ou collecte de données d'aucune sorte. Cela le rend totalement sûr pour analyser du code propriétaire, des échantillons de malware ou des données sensibles de recherche en sécurité.
Foire aux questions
La boîte à outils de détection d'obfuscation détecte 17 techniques réparties en 8 catégories : packing (Dean Edwards Packer), encodage (hex, Unicode, Base64, XOR, multicouche/imbriqué), flux de contrôle (eval/exécution dynamique, prédicats opaques, aplatissement du flux de contrôle), injection de code mort, obfuscation de chaînes (remplacement basé sur des tableaux, division/concaténation de chaînes, accès à des propriétés calculées), renommage (minification des noms de variables), anti-analyse (code autodéfensif/anti-falsification, verrouillage de domaine/vérifications d'environnement) et d'autres motifs.
La boîte à outils détecte automatiquement JavaScript, Python, PHP, Ruby, Java, C# et PowerShell. La détection de langage permet une correspondance de motifs propre au langage pour des résultats plus précis. Les motifs de détection généraux fonctionnent dans tous les langages.
Le score global (0-100) est calculé à partir du nombre et de la gravité des techniques détectées. Les techniques critiques contribuent jusqu'à 30 points, les techniques d'avertissement jusqu'à 15 et les techniques d'information jusqu'à 5, chacune pondérée par sa confiance. Le score correspond à : Aucune (0), Minimale (1-19), Modérée (20-44), Forte (45-69), Extrême (70+).
Les motifs simples comme les appels à eval, les échappements hex/Unicode et les appels d'API Base64 ont une grande précision. Les motifs complexes peuvent produire occasionnellement de faux positifs dans du code légitime. Chaque détection inclut un score de confiance (0-100 %) pour vous permettre de prioriser les résultats à haute confiance.
Oui — cliquez sur « Téléverser un fichier » pour passer en mode fichier. Prend en charge les fichiers .js, .ts, .py, .php, .rb, .java, .cs, .ps1, .html, .json, .xml et .txt. Les fichiers sont lus entièrement dans votre navigateur et ne sont jamais envoyés à un serveur.
La minification réduit la taille du code en supprimant les espaces et en raccourcissant les noms de variables tout en gardant une structure claire. L'obfuscation rend délibérément le code plus difficile à comprendre par l'encodage, le chiffrement et la restructuration du flux de contrôle. Cette boîte à outils se concentre sur la détection de la véritable obfuscation au-delà de la minification standard.
Les scores supérieurs à 80 % indiquent des correspondances fortes et sans ambiguïté. Les scores entre 50 et 80 % indiquent des preuves modérées avec un potentiel de faux positifs. Les scores inférieurs à 50 % indiquent des preuves faibles nécessitant une vérification manuelle. Pour les techniques de gravité critique, même une confiance modérée mérite une investigation.
Absolument. La boîte à outils s'exécute entièrement dans votre navigateur avec du JavaScript côté client. Votre code, les fichiers téléversés et les résultats d'analyse ne sont jamais envoyés à un serveur. Tous les calculs s'exécutent localement sur votre appareil sans collecte de données.
Oui — 100 % gratuit, sans inscription, sans compte et sans limite d'utilisation. Analysez autant d'échantillons de code que nécessaire, sans offre premium ni frais cachés.