js中的eval()方法就是一个js语言的执行器,它能把其中的参数按照JavaScript语法进行解析并执行,简单来说就是把原本的js代码变成了eval的参数,变成参数后代码就成了字符串,其中的一些字符就会被按照特定格式“编码”,像下面:
var showmsg="粘贴要加密/解密的javascript代码到这里";if(1==1){ alert(showmsg);}
eval加密:
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 4="粘贴要加密/解密的3代码到这里";2(0==0){ 1(4);}',62,6,'1|alert|if|javascript|showmsg|var'.split('|'),0,{}))
变成了一串不知道什么意思的字符串,但是其中的一些关键词还是可以看清楚的。
应对这种js代码的方法也很简单,有很多在线提供eval解密的功能,可以直接复制代码解密
http://www.jqueryfuns.com/tools/jsencode
js混淆
变成了一串不知道什么意思的字符串,但是其中的一些关键词还是可以看清楚的。
应对这种js代码的方法也很简单,有很多在线提供eval解密的功能,可以直接复制代码解密
http://www.bm8.com.cn/jsConfusion/