13

これらのパックされた js ファイルがどのように見えるか知っていますよね?

eval(function(p,a,c,k,e,d){ ... } ('難読化文字列'.split('|'),0,{}))

たまたま、そのように見える大きなレガシーコードを微調整する必要があり、これをより読みやすいバージョンに変える方法を見つけたいと思っています。

それが不可能な場合、少なくとも評価を取り除くことはできますか?

4

4 に答える 4

14

JS Beautifier は、再フォーマットと解凍の両方を行います。

http://jsbeautifier.org/

于 2011-02-09T07:24:45.647 に答える
12

オンラインのアンパッカーを使用できます。次のいずれかを試して、自分に合ったものを見つけてください。

于 2010-03-17T08:39:31.480 に答える
2

これがアンパッカーです。

于 2010-03-17T08:41:51.817 に答える
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");',{}));

What I do is change eval to document.getElementByID('test').value= and then make sure I have a textarea (no DOM parsing, multilines) 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'

于 2015-07-20T22:15:37.013 に答える