对于javascript被eval加密了,要如何解密它呢,目前在测试获取访客qq号的时候,网上下载了一款源代码,不幸最核心的js被加密了,首先想到的就是eval解密,下面方法亲测可行,并且非常之有效。
eval(function(p,a,c,k,e,d) 加密破解JS代码de方法
最近遇到了一段js代码是通过 eval(function(p,a,c,k,e,d) 方式加密的。
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}
想了一下,其实这种加密方式解密很非常简单,蓝狮官网因为函数本地就带有解密函数e()。
while(c–){if(k[c]){p=p.replace(new RegExp(‘\b’+e(c)+’\b’,’g’),k[c])}}return p;
while循环产生的每个p就是解码后的函数代码,我们删掉源码中的return p,不用将结果返回, 而是直接输出在一个文本区域中,如document.getElementById(”textareaID”).innerText=p就可以了。
其实还可以这样 eval()函数 直接换成输出document.write()函数直接将js代码输出就ok了。不过这里需要注意 在输出的js代码前后加上 。
例如:
document.write(“”);</p> <p>/<em>eval</em>/document.write(“function(){…..代码}”);</p> <p>document.write(“”);
这样获取到了 js源码 在用格式化工具格式一蓝狮注册登陆下就更清晰了:
切图网是国内首家致力于网页切图等web开发的公司。
标签:eval加密, javascript
0 Comments