个人首推
MemTronic's FREEWARE HTML/JavaScript Cruncher-Compressor v1.0k
压缩效果好得不一般,混淆出来的代码完全不可读,压缩率可达50%,IE 5+ / NS 7.0 / Mozilla / Opera 7.0 中均可使用
第二款,我推荐Rob Seiler的packer
这款压缩混淆工具效果也不错,有三种版本,.Net,Perl,和WSH版本,Windows平台下WSH脚本比较适合,命令行操作,有详细的说明
第三款,Saltstorm出品的ESC
这款工具可自定义压缩级别和是否进行混淆,当然缺点也不是没有,压缩效果一般,而且要求每个JS语句必须以分号结尾,有大括号也不行。
大名鼎鼎的jquery就是用这个压缩的。好像从90多k压到21k.
一个例子:
原代码 :
var a=”Hello World!”;
function MsgBox(msg)
{
alert(msg+”\n”+a);
}
MsgBox(”OK”);
pack后:
eval(function(p,a,c,k,e,r){e=String;if(!”.replace(/^/,String)){while(c–)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return’\\w+’};c=1};while(c–)if(k[c])p=p.replace(new RegExp(’\\b’+e(c)+’\\b’,'g’),k[c]);return p}(’3 0=”4 5!”;6 1(2){7(2+”\\8″+0)}1(”9″);’,10,10,’a|MsgBox|b|var|Hello|World|function|alert|n|OK’.split(’|'),0,{}))
除非是用decode, 否则别人很难再看懂你的原代码。
再提供一个 js 混淆工具:
http://www.javascriptobfuscator.com/Default.aspx