如何解压缩JavaScript文件的内容?

时间:2010-03-17 08:34:07

标签: javascript eval unpack compression

你知道那些打包的js文件是什么样的,对吗?

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

恰好是我必须调整一些看起来像这样的大型遗留代码,我想找到一种方法将其转换为更易读的版本。

如果那是不可能的,我至少可以摆脱eval吗?

4 个答案:

答案 0 :(得分:13)

JS Beautifier将重新格式化并解压缩:

http://jsbeautifier.org/

答案 1 :(得分:11)

您可以使用在线解包器:尝试其中一种,找到一个适合您的解决方案:

答案 2 :(得分:2)

这是一个unpacker

答案 3 :(得分: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");',{}));

我所做的是将eval更改为document.getElementByID('test')。value =然后确保我有一个textarea(没有DOM解析,多行)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>

= '测试'