Outil pour décoder/encoder en Brainfuck. Brainf**k est un langage de programmation minimaliste qui tire son nom de l'union de deux mots anglais, brain (cerveau) et fuck (foutre), allusion à l'expression de masturbation cérébrale.
Brainfuck - 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 ? Ecrire à dCode !
Outil pour décoder/encoder en Brainfuck. Brainf**k est un langage de programmation minimaliste qui tire son nom de l'union de deux mots anglais, brain (cerveau) et fuck (foutre), allusion à l'expression de masturbation cérébrale.
Brain Fuck n'est pas d'un chiffrement mais un langage de programmation obfusqué. L'encodage consiste donc à écrire du code machine qui renvoie du texte en sortie.
Les opérations machines sont :
> : incrémente le pointeur (augmentation de 1),
< : décrémente le pointeur (diminution de 1),
+ : incrémente l\'octet de la case mémoire sur laquelle est positionné le pointeur,
- : décrémente l\'octet de la case mémoire sur laquelle est positionné le pointeur,
. : envoie en sortie la valeur de l\'octet pointé (qui est traitée comme une valeur ASCII),
, : insère un octet en entrée (saisie utilisateur) dans la case mémoire où est positionné le pointeur (valeur ASCII),
[ : si l\'octet pointé est à 0 alors saut à l\'instruction après le ] correspondant,
] : si l\'octet pointé est différent de 0 alors saut à l\'instruction après le [ correspondant
Afin de raccourcir le code, il existe une syntaxe alternative (Brainfuck-raccourci) (BF-shortcut) qui utilise i pour incrément, d pour décrement, r pour right (droite), l pour left (gauche) chacun associé à un nombre pour indiquer le nombre de répétition de l'opération.
Exemple : i4 (+ 4 fois) => ++++ , d3 (- 3 fois) => ---, r5 => >>>>>, l4 => <<<<
Là encore il ne s'agit pas d'un déchiffrement mais d'une interprétation du code (un traducteur de Brainfuck en texte). Avec un interpreteur et un compilateur brainfuck, chaque octet renvoyé en sortie apparait dans la console comme un caractère du message clair.
Remplacer les iX, dX, rX et lX par respectivement des +, -, >, < X fois pour retrouver le code BF original.
Le message est composé des 8 caractères ><+-.,[] (chevron ouvrant, chevron fermant, plus, moins, point, virgule, crochet ouvrant, crochet fermant).
Le caractère [ doit apparaitre autant de fois que le caractère ]
Les caractères + et - sont les plus fréquents et apparaissent généralement en groupe de +++ ou de ---. Il est peu logique (mais possible) d'avoir + et - consécutivement.
Les caractères . et , sont les moins fréquents.
Plusieurs variantes du Brainfuck ont donné des langages ésotériques comme Alphuck, Binaryfuck, Ook, Pikalang, Reversefuck ou Spoon.
Imaginé par Urban Müller en 1993
dCode se réserve la propriété du code source de l'outil 'Brainfuck' en ligne. Sauf code licence open source explicite (indiqué CC / Creative Commons / gratuit), tout algorithme, applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction (convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codé en langage informatique (PHP, Java, C#, Python, Javascript, Matlab, etc.) aucune donnée, script ou accès API ne sera cédé gratuitement, idem pour télécharger Brainfuck pour un usage hors ligne, PC, tablette, appli iPhone ou Android !
Rendez-vous sur notre communauté Discord pour participer au forum d'entraide !