Aller au contenu
Aback Tools Logo

Décompresseur d'évaluation/fonction JavaScript

Détectez et décompressez le code JavaScript caché dans les appels eval(), new Function(), setTimeout() et setInterval(). Extrait de manière récursive les couches d'évaluation imbriquées jusqu'à 5 niveaux de profondeur et affiche le code original à chaque niveau de profondeur - avec des évaluations de gravité, des numéros de ligne et des aperçus extraits par couche. Gratuit, privé et aucune inscription requise.

JavaScript Eval/Function Unpacker

Detect and unpack JavaScript code hidden inside eval(), new Function(), setTimeout(), and setInterval() calls. Recursively extracts nested eval layers and shows the original code at each depth level — perfect for deobfuscating packed scripts and analyzing malicious code. All processing runs locally in your browser with no data uploaded.

Paste JavaScript code containing eval(), new Function(), setTimeout(), or setInterval() with string arguments above, then click Unpack Code. Nested eval layers will be recursively extracted — up to 5 levels deep. Click Load example obfuscated code to try it.

Pourquoi utiliser notre décompresseur d'évaluation/fonction JavaScript ?

  • Détection et décompression instantanées d'évaluation/de fonction : détectez et décompressez instantanément le code JavaScript caché dans les appels eval(), new Function(), setTimeout() et setInterval(). Notre décompresseur d'évaluation JS analyse votre code, identifie tous les modèles d'exécution de code dynamique et extrait la source cachée — aucune recherche ou débogage manuel n'est nécessaire.
  • Analyse de code sécurisée et privée : le décompresseur d'évaluation/fonction JavaScript s'exécute entièrement dans votre navigateur. Votre code, les chaînes extraites et les résultats d'analyse ne quittent jamais votre appareil. Aucune donnée téléchargée, aucun suivi, aucune inscription requise — confidentialité totale pour tous vos travaux d'analyse de code.
  • Eval Unpacker en ligne - Aucune installation : utilisez le décompresseur d'évaluation/fonction JS directement dans n'importe quel navigateur moderne sans téléchargements, applications ou plugins requis. Comprend un éditeur à deux panneaux, une extraction d'évaluation récursive jusqu'à 5 niveaux de profondeur et un déballage en un clic avec des rapports de modèles détaillés.
  • Extraction récursive d'évaluations imbriquées et analyse de profondeur : contrairement aux outils de recherche de base, notre décompresseur eval extrait de manière récursive le code des appels eval() imbriqués - jusqu'à 5 niveaux de profondeur. Chaque couche est identifiée individuellement et la sortie décompressée montre quel code était caché dans chaque appel eval(), new Function() ou timer avec des annotations claires.

Cas d'utilisation courants pour l'évaluation/décompression de fonctions JavaScript

  • Analyse du JavaScript compressé avec les appels eval() : les développeurs et les chercheurs en sécurité utilisent le décompresseur JS eval pour analyser le code JavaScript qui utilise eval() pour exécuter des chaînes construites dynamiquement. Collez le code compressé pour extraire et lire instantanément le code caché dans chaque appel eval(), y compris les couches d'évaluation profondément imbriquées qui manqueraient aux outils de recherche traditionnels.
  • Analyse de codes malveillants et détection des menaces : les professionnels de la cybersécurité utilisent le décompresseur d'évaluation/fonction pour analyser les scripts potentiellement malveillants. Les attaquants cachent souvent les charges utiles dans les appels eval(), les nouveaux constructeurs Function() ou les arguments de chaîne setTimeout() pour échapper à l'analyse statique. L'outil détecte et extrait ces charges utiles cachées, révélant le code réel en cours d'exécution.
  • Ingénierie inverse JavaScript obscurci : les ingénieurs inverses utilisent le décompresseur eval pour désobscurcir le code JavaScript qui utilise la génération de code d'exécution. De nombreux obfuscateurs regroupent leur code sous forme de chaînes eval() ou d'appels de constructeur de fonction. L'outil extrait chaque couche et annote le code décompressé avec des marqueurs clairs indiquant où il était caché.
  • Débogage du code généré dynamiquement : les développeurs frontend déboguent le JavaScript généré dynamiquement en utilisant le décompresseur eval pour voir quel code est réellement exécuté. Lorsque des bibliothèques ou des frameworks tiers utilisent eval() ou new Function() en interne, l'outil révèle le code généré, ce qui facilite le traçage des bogues et la compréhension des comportements inattendus.
  • Recherche de vulnérabilités et audit de code : les auditeurs de sécurité utilisent le décompresseur d'évaluation/fonction JavaScript lors des audits de code pour identifier les utilisations dangereuses de eval() et les modèles associés. L'outil met en évidence tous les appels d'exécution de code dynamique, leurs niveaux de gravité et la profondeur d'imbrication, aidant ainsi les auditeurs à évaluer le profil de risque et à identifier le code qui doit être refactorisé pour des raisons de sécurité.
  • En savoir plus sur les modèles d'exécution de code JavaScript : les étudiants et les développeurs qui apprennent la sécurité JavaScript utilisent le décompresseur eval pour comprendre comment fonctionnent eval(), new Function() et l'exécution de code basée sur un minuteur. Le rapport de détection de modèles montre des exemples concrets de chaque technique, ce qui permet de voir facilement comment l'exécution de code dynamique est utilisée – et abusive – dans la pratique.

Qu'est-ce que l'évaluation/déballage de fonctions JavaScript ?

Le déballage d'évaluation/fonction JavaScript est le processus d'extraction et de révélation du code qui est exécuté dynamiquement via les fonctions eval() , new Function() , setTimeout() et setInterval() de JavaScript. Ces fonctions acceptent le code JavaScript comme arguments de chaîne et l'exécutent au moment de l'exécution, rendant le code invisible aux outils d'analyse statique et aux inspections occasionnelles.

Les obfuscateurs et les scripts malveillants utilisent généralement ces techniques pour masquer leur véritable fonctionnalité. Le code passé à eval() peut lui-même contenir plus d'appels à eval(), créant ainsi des couches imbriquées qui doivent être déballées de manière récursive. Notre décompresseur d'évaluation/fonction JavaScript détecte automatiquement les quatre modèles, extrait le code caché de chacun et traite de manière récursive jusqu'à 5 niveaux d'imbrication pour décompresser complètement le code obscurci.

Comment fonctionne notre décompresseur d'évaluation/fonction JavaScript

  1. 1. Coller et scanner : collez votre code JavaScript obscurci dans le panneau de saisie. Le décompresseur analyse chaque caractère à la recherche de quatre modèles spécifiques : les appels eval() avec des arguments de chaîne, les nouveaux constructeurs Function() avec des chaînes de code, les appels setTimeout() avec un code de chaîne et les appels setInterval() avec un code de chaîne. Chaque correspondance est enregistrée avec son numéro de ligne, son niveau de gravité et sa profondeur d'imbrication.
  2. 2. Extraction récursive : lorsqu'un eval() ou un autre appel dynamique contient du code qui utilise lui-même d'autres appels eval(), le décompresseur traite de manière récursive le code extrait — jusqu'à 5 niveaux de profondeur. Chaque couche est identifiée et extraite indépendamment. Par exemple, eval("eval('code')") est décompressé en deux couches distinctes, le niveau 1 contenant l'appel externe et le niveau 2 contenant le code interne.
  3. 3. Révision et exportation : le code décompressé apparaît dans le panneau de sortie avec des annotations en ligne indiquant ce qui a été extrait et d'où. Les statistiques montrent le nombre total de détections, les types trouvés, la profondeur d'imbrication maximale et la comparaison des tailles. Le tableau des détails du modèle répertorie chaque correspondance avec sa gravité, son numéro de ligne et sa profondeur d'imbrication. Développez le code extrait par couche pour voir le code caché à chaque niveau de profondeur. Copiez ou téléchargez le résultat entièrement décompressé.

Modèles détectés et implications en matière de sécurité

  • Appels eval() (haute gravité) : eval(string) exécute du code JavaScript arbitraire passé sous forme de chaîne. Il s'agit du modèle le plus couramment utilisé dans les scripts obscurcis et malveillants, car il peut exécuter n'importe quel code au moment de l'exécution. Cela a également des implications significatives en termes de performances et de sécurité : eval peut accéder à la portée locale, ce qui le rend particulièrement dangereux.
  • Constructeur new Function() (haute gravité) : new Function('return ...') crée une nouvelle fonction à partir d'une chaîne. Bien que légèrement plus sûr que eval (il s'exécute dans une portée globale et non locale), il est toujours largement utilisé pour l'obscurcissement. Le constructeur Function est souvent utilisé dans l'obscurcissement multicouche pour créer et exécuter des chaînes de code sans déclencher les détecteurs d'évaluation.
  • Arguments de chaîne setTimeout/setInterval (gravité moyenne) : transmettre des chaînes à setTimeout() ou setInterval() est un anti-modèle qui permet également l'obscurcissement du code. Bien que moins courants dans le code de production, les scripts malveillants utilisent parfois des fonctions de minuterie avec un code de chaîne pour retarder l'exécution ou échapper aux heuristiques de détection basées sur le timing.

Confidentialité, sécurité et disponibilité

Le décompresseur d'évaluation/fonction JavaScript est 100 % gratuit et aucune inscription n'est requise. Toutes les analyses de code sont effectuées localement dans votre navigateur à l'aide de la correspondance de modèles JavaScript : votre code obscurci, les chaînes extraites et les résultats d'analyse ne quittent jamais votre appareil. Il n’y a pas de limite de taille de fichier ni de plafond d’utilisation. L'outil détecte jusqu'à 5 niveaux d'imbrication de modèles eval, Function constructor, setTimeout et setInterval, fournit des vues d'extraction détaillées par couche et inclut des fonctionnalités de copie dans le presse-papiers et de téléchargement. Utilisez-le autant de fois que nécessaire pour décompresser le code JavaScript obscurci.

Foire aux questions

Un décompresseur d'évaluation/fonction JavaScript est un outil qui détecte et extrait le code caché dans les appels eval(), new Function(), setTimeout() et setInterval(). Ces fonctions exécutent le code JavaScript transmis sous forme d'arguments de chaîne lors de l'exécution, rendant le code invisible pour l'analyse statique. Le décompresseur trouve automatiquement ces modèles, extrait le code caché et traite de manière récursive les couches d'évaluation imbriquées jusqu'à 5 niveaux de profondeur.

Le décompresseur eval/function détecte quatre modèles : les appels eval() avec des arguments de chaîne, les nouveaux constructeurs Function() avec des chaînes de code, les appels setTimeout() avec un code de chaîne et les appels setInterval() avec un code de chaîne. Chaque modèle est identifié par son niveau de gravité, son numéro de ligne et sa profondeur d'imbrication — jusqu'à 5 couches de récursivité.

Lorsqu'un appel eval() contient du code qui contient lui-même des appels eval(), le décompresseur traite de manière récursive le code extrait pour décompresser les couches internes. Par exemple, si vous avez eval("var x = 1; eval('var y = 2');"), l'outil extrait d'abord le code externe, puis le traite pour trouver le eval() interne en tant que deuxième couche. Cela continue jusqu'à 5 niveaux de nidification.

Absolument. Le décompresseur d'évaluation/fonction JavaScript s'exécute entièrement dans votre navigateur. Votre code obscurci, vos chaînes extraites et vos résultats d'analyse ne quittent jamais votre appareil. Tout le traitement s'effectue localement sur votre ordinateur : rien n'est téléchargé sur un serveur.

eval() et new Function() exécutent du code à partir de chaînes, mais leur portée diffère. eval() exécute du code dans la portée locale actuelle et peut accéder aux variables locales, ce qui le rend plus dangereux. new Function() crée une fonction qui s'exécute dans la portée globale. Notre décompresseur détecte les deux modèles et attribue à chacun une gravité élevée.

Passer des chaînes à setTimeout/setInterval est un anti-modèle JavaScript car il a des implications de sécurité similaires à eval(). Le code obscurci ou malveillant utilise cette technique pour masquer l'exécution du code derrière des fonctions de minuterie, souvent pour retarder l'exécution ou échapper à la détection de l'analyse statique.

Oui. Le décompresseur traite de manière récursive les appels eval(), new Function(), setTimeout() et setInterval() jusqu'à 5 niveaux de profondeur. Chaque couche extraite est identifiée et annotée indépendamment avec son niveau de profondeur. Si le code comporte plus de 5 niveaux, des passes supplémentaires peuvent être nécessaires.

Oui. Les chercheurs en sécurité, les testeurs d'intrusion et les analystes de logiciels malveillants utilisent le décompresseur d'évaluation/fonction JavaScript pour analyser les scripts obscurcis. L'indice de gravité permet de hiérarchiser les résultats, et la vue d'extraction par couche facilite le suivi à travers plusieurs niveaux d'obscurcissement.

Oui, le décompresseur d'évaluation/fonction JavaScript est 100 % gratuit, sans inscription, sans compte et sans limite d'utilisation. Décompressez tout code JavaScript obscurci autant de fois que nécessaire, entièrement gratuitement et pour toujours.