如何解压JavaScript文件的内容?

13

您知道那些打包后的JS文件看起来是什么样子,对吧?

 eval(function(p,a,c,k,e,d){ ... } ('混淆字符串'.split('|'),0,{}))

我需要修改一些类似上述代码的大型遗留代码,并希望找到一种将其转换为更易读版本的方法。

如果不可能的话,能否至少摆脱eval函数呢?

4个回答

14

我使用这个工具对一个复杂的Javascript进行解包。它成功地将代码解包。 - srv

12

2

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=,然后确保我有一个带有 ID 的文本区域(没有 DOM 解析、多行)

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>

='测试'


http://www.scriptcompress.com/unpack.htm是我制作的在线工具,用于解压缩。此外,http://www.scriptcompress.com/decoder.htm会尝试通过JSOn解析器等方式对其进行解码。 - Dave Brown

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接