开启js加密解密研究(一)

传送门:https://www.cnblogs.com/52cik/p/js-unpacker.html

上面链接是一种最基础的js打包方式,其中对于

eval(function(p,a,c,k,e,d){e=function(c){return(c35?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;}('(1(){1 4(0){6(0){2 0};2 5};7 3=4();8(3)})();',9,9,'a|function|return|ret|test|123|if|var|alert'.split('|'),0,{}))

这种packed打包的代码,去掉eval在控制行里回车即可看到结果
在这里插入图片描述

有个疑问,为什么要保留()?

不保留括号会报错。
是js匿名函数的语法特性。
用下图四个情况清楚地解释原因:
开启js加密解密研究(一)_第1张图片

你可能感兴趣的:(JS)