Outil pour programmer et traduire le langage JSFuck, une manière d'écrire du Javascript de manière obfusquée avec 6 caractères []()!+
Langage JSFuck [][(![]+[]) - dCode
Catégorie(s) : Langage de Programmation
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
Le JSFuck est un langage de programmation ésotérique, variante du Javascript, qui utilise uniquement les caractères []()+! pour écrire du code JavaScript valide.
Exemple : Le code JSFuck +[] s'exécute comme la valeur 0 (en javascript)
Le JSFuck a trouvé des méthodes pour écrire les nombres et les lettres, et en combinant ses solutions, presque tous les codes Javascript peuvent être convertis. Voici quelques correspondances
JSFuck | équivalent JS |
---|---|
![] | false |
!![] | true |
+[] | 0 |
+!+[] | 1 |
!+[]+!+[] | 2 |
[+!+[]]+[+[]] | 10 |
(![]+([]+[]))[+!+[]] | a |
Le JSFuck est interprété par le navigateur, mais il est possible de demander au navigateur de ne pas exécuter le code, seulement l'équivalent Javascript et ainsi retrouver plus ou moins le programme original.
dCode utilise la bibliothèque Javascript JSFuck par @aemkei.
JSFuck a 2 usages :
— Rendre le code illisible pour un humain en pratiquant l'obfuscation (rappel : le code reste correct pour un navigateur/compilateur). Par extension, il est possible de coder/chiffrer du texte en JSFuck, même s'il n'est pas valide en JavaScript.
— Contourner les restrictions de sécurité éventuellement mises en place pour valider des entrées utilisateur afin d'empécher l'injection/exécution de code Javascript. Ainsi un programme qui aurait appris à repérer du code Javascript pourrait ne pas reconnaitre du JSFuck comme tel.
Le JSFuck contient uniquement 6 caractères : les crochets [], les parenthèses (), le plus + et le point d'exclamation !.
dCode se réserve la propriété du code source pour "Langage JSFuck [][(![]+[])". Tout algorithme pour "Langage JSFuck [][(![]+[])", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Langage JSFuck [][(![]+[])" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Langage JSFuck [][(![]+[])" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Langage JSFuck [][(![]+[])" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source.
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Langage JSFuck [][(![]+[]) sur dCode.fr [site web en ligne], consulté le 19/04/2025,