昨天调试程序的时候发现一个js加密了,里面有广告,这年头很多人对ad都很反感,当然Tc也不例外,于是就找了个解密代码给大家分享下!

js(eval(function(p,a,c,k,e,d){)代码解密,

<P>现在很多JavaScript库是采用这种方式加密的. 想看源码的可以用下面的代码解密。</P>
<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 rows=20 cols=80>

</TEXTAREA><BR><INPUT onclick=encode() value=编码 type=button> <INPUT onclick=run() value=执行 type=button> <INPUT onclick=decode() value=解码 type=button>

豫ICP备11029947号