JavaScript源码加密的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 03:42:57
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[(function(e){return d[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}('5.Q={4s:z(e,s){J l=0;J t=0;J 2E=0;J 2H=0;J w=5.G(e,\'2c\');J h=5.G(e,\'2d\');J Z=e.3C;J T=e.3H;3Y(e.3L){l+=e.2T+(e.1e?E(e.1e.35)||0:0);t+=e.38+(e.1e?E(e.1e.37)||0:0);9(s){2E+=e.1z.20||0;2H+=e.1z.1J||0}e=e.3L}l+=e.2T+(e.1e?E(e.1e.35)||0:0);t+=e.38+(e.1e?E(e.1e.37)||0:0);2H=t-2H;2E=l-2E;B{x:l,y:t,5u:2E,51:2H,w:w,h:h,Z:Z,T:T}},1Q:z(e){J x=0;J y=0;J 3I=g;Y=e.K;9(5(e).G(\'N\')==\'15\'){2X=Y.2l;31=Y.1i;Y.2l=\'3p\';Y.N=\'1O\';Y.1i=\'2S\';3I=C}A=e;3Y(A){x+=A.2T+(A.1e&&!5.1R

这个实际上只是对一个字符串进行一些替换操作,然后运行最终生成的字符串
比如:
var a = "alert";
var b = "(1);";
eval(a+b);

上面3句代码相当于执行:alert(1);
只不过你帖的代码,替换操作相对更加复杂一些,原理是一样的。

packer大包
大名鼎鼎dean edwards的packer
http://dean.edwards.name/
所有东西都是编码过的,很难解压
解压完也是很难理解的代码。