eval 加密和解密

xiaoxiao2026-09-03  9

我们在网站上分析别人javascript功能的时候会碰到有用eval加密的。 现从网上摘了一个解密代码,玩一下。。 eval.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script> a=62; function encode() { var code = document.getElementById('code').value; code = code.replace(/[\r\n]+/g, ''); code = code.replace(/'/g, "\\'"); var tmp = code.match(/\b(\w+)\b/g); tmp.sort(); var dict = []; var i, t = ''; for(var i=0; i<tmp.length; i++) { if(tmp[i] != t) dict.push(t = tmp[i]); } var len = dict.length; var ch; for(i=0; i<len; i++) { ch = num(i); code = code.replace(new RegExp('\\b'+dict[i]+'\\b','g'), ch); if(ch == dict[i]) dict[i] = ''; } document.getElementById('code').value = "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}(" + "'"+code+"',"+a+","+len+",'"+ dict.join('|')+"'.split('|'),0,{}))"; } function num(c) { return(c<a?'':num(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36)); } function run() { eval(document.getElementById('code').value); } function decode() { var code = document.getElementById('code').value; code = code.replace(/^eval/, ''); document.getElementById('code').value = eval(code); } </script> </head> <body> <textarea id=code cols=80 rows=20> </textarea> <input type=button οnclick=encode() value="编码"/> <input type=button οnclick=run() value="运行"/> <input type=button οnclick=decode() value="解码"/> <br/> /**注意代码前不要出现空格**/ </body> </html> 相关资源:eval解密加密
转载请注明原文地址: https://www.6miu.com/read-5052349.html

最新回复(0)