2010-03-17 10 views
11

Vous savez à quoi ressemblent ces fichiers js compressés, n'est-ce pas?Comment déballer le contenu d'un fichier JavaScript?

 eval(function(p,a,c,k,e,d){ ... } ('obfuscated-string'.split('|'),0,{}))

Il arrive juste à être que je dois modifier un peu grand code existant qui ressemble à ça et je veux trouver un moyen de transformer cela en une version plus lisible.

Si ce n'est pas possible, puis-je au moins me débarrasser de l'eval?

Répondre

11

Vous pouvez avec en ligne unpackers: essayez l'un d'entre eux, trouver celui qui vous convient:

+0

Excellent, cela fonctionne très bien! –

13

JS Beautifier sera à la fois reformater et déballer:

http://jsbeautifier.org/

+0

J'ai utilisé ceci pour décompresser un javascript complexe. Il a déballé proprement. – srv

+0

C'est cool. Je l'ai utilisé pour reformater le code javascript. – Vasyl

0
eval(function(W,H,A,K){function z(i){return(i< 62?'':z(this['parseInt'](i/62)))+((i=i%62)>35?String.fromCharCode(i+29):i.toString(36))}for(var i=0;i<W.length;i++)A[z(i)]=W[i];function d(w){return A[w]?A[w]:w;};return H.replace(/\b\w+\b/g,d);}('alert|Testing|packed'.split('|'),'0("1 0 2");',{})); 

Ce que je fais est de changer eval pour document.getElementById ('test') = valeur et assurez-vous que j'ai un textarea. (pas d'analyse de DOM, multilignes) wuth id

test.value=(function(W,H,A,K){function z(i){return(i< 62?'':z(this['parseInt'](i/62)))+((i=i%62)>35?String.fromCharCode(i+29):i.toString(36))}for(var i=0;i<W.length;i++)A[z(i)]=W[i];function d(w){return A[w]?A[w]:w;};return H.replace(/\b\w+\b/g,d);}('alert|Testing|packed'.split('|'),'0("1 0 2");',{}));
<textarea id=test rows=9 cals=77></textarea>

= 'test'

+0

http://www.scriptcompress.com/unpack.htm est un outil en ligne que j'ai fait pour le déballage, aussi http://www.scriptcompress.com/decoder.htm vais essayer de le décoder dans le DOM, à travers JSOn parser et plus –

+0

wow, ce truc Stack Snippet était nouveau pour moi. –

Questions connexes