• eval(function(p,a,c,k,e,r)解密程序


    以eval(function(p,a,c,k,e,r){e=function(c)开头的js文件是经过加密的

    使用下面方法可以对js文件进行加密、解密

    步骤:1.新建html页面,内容如下列代码 

            2.把加密的代码粘进【原脚本】文本域,点击【解密】按钮;

            3.把需要加密的原代码粘进【原脚本】文本域,点击【加密】按钮;

    HTML代码如下:

    <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[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('new_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('new_code').value = eval(code); 
    } 
    </script> 
    
    <div>JS文件加密解密</div>
    <div>原脚本</div>
    <textarea id="code" cols=80 rows=10> 
    </textarea>
    <div>加密/解密后脚本</div>
    <textarea id="new_code" cols=80 rows=10> 
    
    </textarea>
     <div>
    <input type=button onclick=encode() value=编码> 
    <input type=button onclick=run() value=执行> 
    <input type=button onclick=decode() value=解码> 
    </div>

    界面如图

  • 相关阅读:
    shell-bash学习01基础、打印、环境变量
    css/js(工作中遇到的问题)-2
    git学习 git-flow
    js正则表达式练习
    12 链
    11数据访问
    10访问者,解释器
    08中介者,装饰者
    09 状态,适配器
    调试 scrapy 文件报错:line 48, in _load_handler、line 44, in load_object、 line 37, in import_module
  • 原文地址:https://www.cnblogs.com/zs-note/p/3895500.html
Copyright © 2020-2023  润新知