Outil pour programmer, encoder et décoder AAEncode, une manière d'obfusquer du JavaScript en le transformant en emoticons/expressions ASCII art de style japonais (kaomoji)
AAEncode (o^_^o) - 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 !
AAEncode est un procédé/outil d'obfuscation JavaScript qui convertit n'importe quel code JS en une suite d'expressions ressemblant a des emoticons ASCII/AA de style japonais : les fameux (^ω^) ou ( ͡o╭╮ ͡o)
AAencode est un processus d'obfuscation de code JavaScript qui utilise des caractères et des émoticônes pour masquer la logique d'un programme. Il est conçu pour être illisible pour un humain mais parfaitement fonctionnel pour un moteur JavaScript.
La transformation se déroule en plusieurs étapes clés :
— Initialisation des variables : Le code commence par définir des variables avec des noms d'émoticônes comme (o^_^o) et (゚Θ゚). Ces variables ne sont pas aléatoires ; elles sont utilisées pour créer un tableau de 0 à 15.
— Une série de code est ajouté afin d'établir un environnement contenant des chaînes de caractères essentielles et des fonctions, notamment l'équivalent d'un eval(), en manipulant des chaînes de caractères comme false, true, et d'autres identifiants JS (à la manière de JSFuck).
— Encodage des caractères : chaque caractère de la chaîne de texte à encodée est d'abord converti en sa valeur numérique (ASCII ou Unicode).
— Substitution par des émoticônes : Ces valeurs numériques sont ensuite converties en base octale ou hexadécimale. Chaque chiffre de ces bases (de 0 à F) est remplacé par une expression d'émoticône correspondante définie au début du programme.
La table de correspondances des chiffres hexadécimaux est :
0 | (c^_^o) |
---|---|
1 | (°Θ°) |
2 | ((o^_^o)-(°Θ°)) |
3 | (o^_^o) |
4 | (°ー°) |
5 | ((°ー°)+(°Θ°)) |
6 | ((o^_^o)+(o^_^o)) |
7 | ((°ー°)+(o^_^o)) |
8 | ((°ー°)+(°ー°)) |
9 | ((°ー°)+(°ー°)+(°Θ°)) |
A | (°Д°).°ω°ノ |
B | (°Д°).°Θ°ノ |
C | (°Д°)[' c'] |
D | (°Д°).°ー°ノ |
E | (°Д°).°Д°ノ |
F | (°Д°)[°Θ°] |
Exemple : a (minuscule, code ASCII 97 soit 0x61 en hexadécimal) se code ((o^_^o)+(o^_^o))+(°Θ°);
Ensuite, vient le processus d'interprétation, lorsqu'un navigateur exécute le code AAencode, il reconstruit le code original et l'exécute.
AAEncode sert principalement a deux usages :
— Obfuscation : rendre le code extrêmement difficile a lire pour un humain.
— Contournement : masquer la presence de code JavaScript classique en le transformant en sequences d'emoticons, ce qui peut parfois eviter des filtres basiques de detection.
l'obfuscation n'est pas une securite, et exécuter du code aaencode peut etre dangereux si sa provenance est inconnue.
Utiliser le formulaire sur la page dCode ci-dessus.
Un script AAEncode contient quasi exclusivement des kaomoji composés de caracteres non-ASCII inhabituels pour du JS et commence toujours par :
ω°ノ= /`m´)ノ ~┻━┻ //*´∇`*/ [_]; o=(°ー°) =_=3; c=(°Θ°) =(°ー°)-(°ー°);
Et finit par (°Д°)[°o°])(°Θ°))(_);
Pour des raisons d'affichage le symbole ゚ est remplacé par ° sur la FAQ de cette page (mais pas dans le code JavaScript)
AAEncode a été popularisé au début des annees 2010; l'encodeur original (web demo) et des analyses creditent Yosuke Hasegawa / pages japonaises (utf-8.jp) comme source/implémentation de référence (réutilisée par dCode).
dCode se réserve la propriété du code source pour "AAEncode (o^_^o)". Tout algorithme pour "AAEncode (o^_^o)", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "AAEncode (o^_^o)" (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 à "AAEncode (o^_^o)" ou tout autre élément ne sont pas publics (sauf licence open source explicite). 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 "AAEncode (o^_^o)" 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 (Licence de libre diffusion Creative Commons CC-BY).
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 : AAEncode (o^_^o) sur dCode.fr [site web en ligne], consulté le 07/10/2025,