找回密码
 注册
首页 ≡≡网络技术≡≡ WEB前端 JS eval(function(p,a,c,k,e,r){e=function(c)加、解密 ...

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

灰儿 2012-2-19 15:06:02
Js代码:
  1. <script>   
  2. a=62;   
  3. function encode() {   
  4. var code = document.getElementById('code').value;   
  5. code = code.replace(/[ ]+/g, '');   
  6. code = code.replace(/'/g, "\'");   
  7. var tmp = code.match(/ (w+) /g);   
  8. tmp.sort();   
  9. var dict = [];   
  10. var i, t = '';   
  11. for(var i=0; i<tmp.length; i++) {   
  12. if(tmp[i] != t) dict.push(t = tmp[i]);   
  13. }   
  14. var len = dict.length;   
  15. var ch;   
  16. for(i=0; i<len; i++) {   
  17. ch = num(i);   
  18. code = code.replace(new RegExp('\b'+dict[i]+'\b','g'), ch);   
  19. if(ch == dict[i]) dict[i] = '';   
  20. }   
  21. 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}("   
  22. + "'"+code+"',"+a+","+len+",'"+ dict.join('|')+"'.split('|'),0,{}))";   
  23. }   
  24.    
  25. function num(c) {   
  26. return(c<a?'':num(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36));   
  27. }   
  28.    
  29. function run() {   
  30. eval(document.getElementById('code').value);   
  31. }   
  32.    
  33. function decode() {   
  34. var code = document.getElementById('code').value;   
  35. code2 = code.replace(/^eval/, '');   
  36. //alert(code);   
  37. document.getElementById('code').value = eval(code2);   
  38. }   
  39. </script>   
  40.    
  41. <textarea id=code cols=80 rows=20>   
  42. </textarea>   
  43.    
  44.    
  45. <input type=button onclick=encode() value=编码>   
  46. <input type=button onclick=run() value=执行>   
  47. <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
相信楼主的说,非常支持你
您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。