J'ai vu des gens mettre tout leur code JS sur une seule ligne. (quelque chose comme ceci: http://www.drasticdata.nl/DrasticTreemap/Examples/ js / swfobject.js) Je sais qu'ils essaient de protéger leur adresse IP. Mais je veux lire le code et l'étudier.

Existe-t-il un moyen de rendre ces codes d'une ligne lisibles? Par exemple, le décomposer en plusieurs lignes?

Merci.

4
JJ Liu 30 sept. 2011 à 03:47

6 réponses

Meilleure réponse

Une recherche rapide sur google pour "désobscurcisseur JavaScript" vous renverra plusieurs analyseurs en ligne qui formateront le code obscurci en quelque chose de formaté et lisible.

Ce qui suit fonctionne plutôt bien:

http://jsbeautifier.org/

Il n'y a aucun moyen de renommer les noms de variables en leurs formes, une fois sémantiques. Quelque chose que vous devrez traverser ...

Quelques termes pour noter minification et obfuscation :

Minification (Wikipedia)

La minimisation (également minimisation ou minimisation), dans les langages de programmation informatique et en particulier JavaScript, est le processus de suppression de tous les caractères inutiles du code source, sans changer sa fonctionnalité.

Obfuscation (Wikipedia)

Le code obscurci est un code source ou machine qui a été rendu difficile à comprendre pour les humains. Les programmeurs peuvent délibérément obscurcir le code pour cacher son objectif (la sécurité par l'obscurité) ou sa logique pour empêcher la falsification, décourager l'ingénierie inverse, ou comme un puzzle ou un défi récréatif pour quelqu'un qui lit le code source. Les programmes connus sous le nom d'obfuscateurs transforment du code lisible en code obscurci en utilisant diverses techniques.

Références

http://en.wikipedia.org/wiki/Obfuscated_code

http://en.wikipedia.org/wiki/Minification_(programming)

14
xandercoded 29 sept. 2011 à 23:58

Vous pouvez coller la source dans un embellisseur Javascript, mais vous êtes toujours confronté au problème d'avoir des noms de variables qui n'ont aucun sens.

Étant donné que la source est SWFObject, il s'agit d'un script opensource de google et le lien vers sa page d'accueil de projet se trouve dans la source que vous avez publiée: http://code.google.com/p/swfobject/

Vous pouvez télécharger le code non obscurci sur ce lien.

1
Ben Fleming 29 sept. 2011 à 23:53

Si vous utilisez Chrome, il y a un bouton Pretty Print dans le panneau de scripts des outils de développement. C'est probablement beaucoup plus facile que d'aller constamment sur une application Web.

http://cristian-radulescu.ro/article/pretty-print-javascript-with-google-chrome.html

1
timrwood 30 sept. 2011 à 01:07

Pour à peu près n'importe quelle langue, google juste pour une "embellisseur". Ils gèreront toutes les indentations, etc., mais de toute évidence, toute variable raccourcie ou obfuscation ne peut pas être facilement traitée.

1
Thor84no 29 sept. 2011 à 23:52

Par exemple. cet outil a l'option "pretty print": http://closure-compiler.appspot.com/home. Certains IDE (éclipse) l'ont aussi.

1
DzikiMarian 29 sept. 2011 à 23:50

Vous recherchez http://jsbeautifier.org/

1
Jason Barry 29 sept. 2011 à 23:50
7604585