灰儿 发表于 2012-2-19 15:06:02

JS eval(function(p,a,c,k,e,r){e=function(c)加、解密

Js代码:
<script>   
a=62;   
function encode() {   
var code = document.getElementById('code').value;   
code = code.replace(/[ ]+/g, '');   
code = code.replace(/'/g, "\'");   
var tmp = code.match(/ (w+) /g);   
tmp.sort();   
var dict = [];   
var i, t = '';   
for(var i=0; i<tmp.length; i++) {   
if(tmp != t) dict.push(t = tmp);   
}   
var len = dict.length;   
var ch;   
for(i=0; i<len; i++) {   
ch = num(i);   
code = code.replace(new RegExp('\b'+dict+'\b','g'), ch);   
if(ch == dict) dict = '';   
}   
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=k||e(c);k=}];e=function(){return'\\w+'};c=1};while(c--)if(k)p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k);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;   
code2 = code.replace(/^eval/, '');   
//alert(code);   
document.getElementById('code').value = eval(code2);   
}   
</script>   
   
<textarea id=code cols=80 rows=20>   
</textarea>   
   
   
<input type=button onclick=encode() value=编码>   
<input type=button onclick=run() value=执行>   
<input type=button onclick=decode() value=解码>   

各位朋友,在网上下载源代码时,很可能发现代码里的JS脚本看不懂,这是由于JS加密造成的,我对这种事情很不理解,既然是开源,JS还加密,算什么开源。如果你发现JS是以eval(function(p,a,c,k,e,r){e=function(c)开头的,看到这个页面你就可以解决他。

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

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

小桥流水vpu 发表于 2012-8-15 19:24:31

相信楼主的说,非常支持你
页: [1]
查看完整版本: JS eval(function(p,a,c,k,e,r){e=function(c)加、解密