Développement Publié par le

8 méthodes pour retirer l’obfuscation d’un code javascript

L’obfuscation ou assombrissement de code (notamment en javascript) est une opération très utile afin de compresser vos fichiers .js en raccourcissant certaines variables et en supprimant l’indentation. Le code ainsi compresser est plus léger à interpréter par le navigateur. Il devient plus obscur et difficile à décoder pour un humain tout en restant parfaitement compilable par un ordinateur.

Néanmoins, ce procédé ne protège pas votre code du reverse engineering. Pour s’en convaincre, je vous propose 8 astuces pour rendre le code lisible.


Dernière mise à jour le 20.05.2014

Outils pour retirer l’obfuscation de vos fichiers

  1. Le site jsbeautifier.org permet de rendre lisible tout code javascript.
    Vous pourrez également télécharger l’extension du site pour différents navigateurs et programmes (Chrome, Safari, Opéra, gEdit, Akelpad).
  2. Avec Chrome, il y a directement la possibilité via un simple clic-droit de rendre lisible n’importe quel code javascript. Suivez le tuto en vidéo.

    Si le clic-droit est inopérant, essayez avec le bouton « { } » de la barre du bas.
  3. Firefox dispose également d’un plugin dédié à la désobfuscation de code javascript : JavaScript Deobfuscator.
  4. UglifyJS, le célèbre minifier/obfuscateur, est une librairie de compression/optimisation de code JavaScript.
  5. dCode propose lui aussi une page permettant de désobfusquer du code javascript.
  6. Sur la plupart des IDE (NetBeans et Aptana entre autres) il y a également des fonctions pour ré-indenter le code. Sur ce point, je vous laisse chercher un peu, mais la plupart des bons IDE du marché offrent cette possibilité…
  7. Et un de plus… Dernière petite découverte en date, Revelo.
    Revelo est un logiciel windows à installer sur votre PC afin de de-obfusquer les codes javascripts rendus illisibles par des algos d’obfuscation.
    Il permet de clairifier le code biensûr, mais en plus il effectue une mise en forme du code pour en faciliter la compréhension. Petit plus, Revelo intègre un sniffer de paquets et un proxy qui permet d’intercepter les requêtes HTTP. A télécharger à cette adresse.
  8. JSHint
About these ads


Laisser un commentaire

About these ads