zoukankan      html  css  js  c++  java
  • eval(function(p,a,c,k,e,d)系列加解密javascript程序

    <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>
     
    <input type=button onclick=encode() value=编码> 
    <input type=button onclick=run() value=执行> 
    <input type=button onclick=decode() value=解码> 

  • 相关阅读:
    AWK
    正则表达式
    BASH
    C# 常用控件的一些属性及方法
    C# FTP
    C# Delegate
    DLL/EXE查看工具Dumpbin
    VBA 破解Excel工作表保护密码
    VB6 IP地址+网卡地址+网卡类型
    编程之路┊由C#风潮想起的——给初学编程者的忠告 ZT
  • 原文地址:https://www.cnblogs.com/top5/p/1891753.html
Copyright © 2011-2022 走看看