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

2014年06月22日 安全技术 热度1347 查看评论



在网上下载源代码时,很可能发现代码里的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=解码> 



« 上一篇 下一篇 » 影原创文章,转载请注明出处! 标签:解密

相关日志:

说两句吧:

必填

选填

选填

«    2023年8月    »
123456
78910111213
14151617181920
21222324252627
28293031
搜索
文章归档
最近发表
站点信息
  • 文章总数:782
  • 页面总数:2
  • 分类总数:14
  • 标签总数:522
  • 评论总数:359
  • 浏览总数:624719