eval(function(p,a,c,k,e,d)系列解密javascript程序

    文章来源:中国互联 更新时间:2014-11-13 10:40:29
分享:

在网上下载源代码时,很可能发现代码里的JS脚本看不懂,这是由于JS加密造成的。如果你发现JS是以eval(function(p,a,c,k,e,r){e=function(c)开头的,看到这个页面你就可以解决他

步骤:1.新建html页面,把以下代码考进去,运行。

  2.把加密的代码粘进文本域,点击解密,OK!

核心代码:
<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> 


<textarea id=code cols=80 rows=20> 

</textarea><br> 
<input type=button onclick=encode() value=编码> 
<input type=button onclick=run() value=执行> 
<input type=button onclick=decode() value=解码> 

 

 

版权说明:本站原创文章,由中国互联SEO优化发表.
本文地址:http://www.hulian.top/zixun/post/7324.html
在线咨询
  • 在线时间
  • 8:00-21:00