帮忙解密这个JS,是采用MooTools加密的,谢谢各位大侠解密文件下载:
http://www.ilifebbs.com/20mootools08.js因为小弟不能上传文件,为有这样。
请见谅

解决方案 »

  1.   


    var Class=function(properties){
    var klass=function(){
    if(this.initialize&&arguments[0]!='noinit')
    return this.initialize.apply(this,arguments);
    else return this
    };

    for(var property in this) klass[property]=this[property];
    klass.prototype=properties;
    return klass
    };Class.empty=function(){};
    Class.prototype={
    extend:function(properties){
    var pr0t0typ3=new this('noinit');
    var parentize=function(previous,current){
    if(!previous.apply||!current.apply)return false;
    return function(){this.parent=previous;return current.apply(this,arguments)}
    };
    for(var property in properties){
    var previous=pr0t0typ3[property];
    var current=properties[property];
    if(previous&&previous!=current)current=parentize(previous,current)||current;pr0t0typ3[property]=current
    }
    return new Class(pr0t0typ3)
    },

    implement:function(properties){
    for(var property in properties) this.prototype[property]=properties[property]
    }
    };Object.extend=function(){
    var args=arguments;
    args=(args[1])?[args[0],args[1]]:[this,args[0]];
    for(var property in args[1]) args[0][property]=args[1][property];
    return args[0]
    };

    Object.Native=function(){for(var i=0;i<arguments.length;i++)arguments[i].extend=Class.prototype.implement};new Object.Native(Function,Array,String,Number,Class);
    if(typeof HTMLElement=='undefined'){
    var HTMLElement=Class.empty;
    HTMLElement.prototype={}
    }else{
    HTMLElement.prototype.htmlElement=true
    }

    window.extend=document.extend=Object.extend;
    var Window=window;function $type(obj){
    if(obj===null||obj===undefined)return false;
    var type=typeof obj;
    if(type=='object'){
    if(obj.htmlElement)return'element';
    if(obj.push)return'array';
    if(obj.nodeName){
    switch(obj.nodeType){
    case 1:return'element';
    case 3:return obj.nodeValue.test(/\S/)?'textnode':'whitespace'
    }
    }
    }
    return type
    };function $chk(obj){
    return!!(obj||obj===0)};
    function $pick(obj,picked){
    return($type(obj))?obj:picked
    };
    function $random(min,max){
    return Math.floor(Math.random()*(max-min+1)+min)
    };
    function $clear(timer){
    clearTimeout(timer);
    clearInterval(timer);
    return null
    };
    if(window.ActiveXObject)
    window.ie=window[window.XMLHttpRequest?'ie7':'ie6']=true;
    else if(document.childNodes&&!document.all&&!navigator.taintEnabled)
    window.khtml=true;
    else if(document.getBoxObjectFor!=null)
    window.gecko=true;
    if(window.ie6)
    try{
    document.execCommand("BackgroundImageCache",false,true)
    }catch(e){};
    Array.prototype.forEach=Array.prototype.forEach||function(fn,bind){
    for(var i=0;i<this.length;i++)fn.call(bind,this[i],i,this)
    };
    Array.prototype.filter=Array.prototype.filter||function(fn,bind){
    var results=[];for(var i=0;i<this.length;i++){if(fn.call(bind,this[i],i,this))results.push(this[i])}return results
    };
    Array.prototype.map=Array.prototype.map||function(fn,bind){
    var results=[];
    for(var i=0;i<this.length;i++) results[i]=fn.call(bind,this[i],i,this);
    return results
    };
    Array.prototype.every=Array.prototype.every||function(fn,bind){
    for(var i=0;i<this.length;i++){
    if(!fn.call(bind,this[i],i,this))
    return false
    }
    return true
    };
    Array.prototype.some=Array.prototype.some||function(fn,bind){
    for(var i=0;i<this.length;i++){
    if(fn.call(bind,this[i],i,this))
    return true
    }
    return false
    };
    Array.prototype.indexOf=Array.prototype.indexOf||function(item,from){
    from=from||0;
    if(from<0) from=Math.max(0,this.length+from);
    while(from<this.length){
    if(this[from]===item)
    return from;
    from++
    }
    return -1
    };
    Array.extend({
    each:Array.prototype.forEach,
    copy:function(start,length){
    start=start||0;
    if(start<0) start=this.length+start;
    length=length||(this.length-start);
    var newArray=[];
    for(var i=0;i<length;i++) newArray[i]=this[start++];
    return newArray
    },
    remove:function(item){
    var i=0;
    while(i<this.length){
    if(this[i]===item)
    this.splice(i,1);
    else 
    i++
    }
    return this
    },
    test:function(item,from){
    return this.indexOf(item,from)!=-1
    },
    extend:function(newArray){
    for(var i=0;i<newArray.length;i++) this.push(newArray[i]);
    return this
    },
    associate:function(keys){
    var obj={},
    length=Math.min(this.length,keys.length);
    for(var i=0;i<length;i++) obj[keys[i]]=this[i];
    return obj
    }
    });
    function $A(array,start,length){
    return Array.prototype.copy.call(array,start,length)
    };
    function $each(iterable,fn,bind){
    return Array.prototype.forEach.call(iterable,fn,bind)
    };
    String.extend({
    test:function(regex,params){
    return((typeof regex=='string')?new RegExp(regex,params):regex).test(this)
    },
    toInt:function(){
    return parseInt(this)
    },
    toFloat:function(){
    return parseFloat(this)
    },
    camelCase:function(){
    return this.replace(/-\D/g,function(match){return match.charAt(1).toUpperCase()})
    },
    hyphenate:function(){
    return this.replace(/\w[A-Z]/g,function(match){return(match.charAt(0)+'-'+match.charAt(1).toLowerCase())})
    },
    capitalize:function(){
    return this.toLowerCase().replace(/\b[a-z]/g,function(match){return match.toUpperCase()})
    },
    trim:function(){return this.replace(/^\s+|\s+$/g,'')},
    clean:function(){return this.replace(/\s{2,}/g,' ').trim()},
    rgbToHex:function(array){var rgb=this.match(/\d{1,3}/g);return(rgb)?rgb.rgbToHex(array):false},
    hexToRgb:function(array){
    var hex=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
    return(hex)?hex.slice(1).hexToRgb(array):false
    }
    });
    Array.extend({
    rgbToHex:function(array){
    if(this.length<3)return false;
    if(this[3]&&(this[3]==0)&&!array)
    return'transparent';
    var hex=[];
    for(var i=0;i<3;i++){
    var bit=(this[i]-0).toString(16);
    hex.push((bit.length==1)?'0'+bit:bit)
    }
    return array?hex:'#'+hex.join('')
    },
    hexToRgb:function(array){
    if(this.length!=3)return false;
    var rgb=[];
    for(var i=0;i<3;i++){
    rgb.push(parseInt((this[i].length==1)?this[i]+this[i]:this[i],16))
    }
    return array?rgb:'rgb('+rgb.join(',')+')'
    }
    });
    Number.extend({
    toInt:function(){return parseInt(this)},
    toFloat:function(){return parseFloat(this)}
    });
    Function.extend({
    create:function(options){
    var fn=this;
    options=Object.extend({
    'bind':fn,
    'event':false,
    'arguments':null,
    'delay':false,
    'periodical':false,
    'attempt':false},options||{}
    );
    if($chk(options.arguments)&&$type(options.arguments)!='array') options.arguments=[options.arguments];
    return function(event){
    var args;
    if(options.event){
    event=event||window.event;
    args=[(options.event===true)?event:new options.event(event)];
    if(options.arguments) 
    args=args.concat(options.arguments)
    }else args=options.arguments||arguments;
    var returns=function(){return fn.apply(options.bind,args)};
    if(options.delay) return setTimeout(returns,options.delay);
    if(options.periodical)return setInterval(returns,options.periodical);
    if(options.attempt){try{return returns()}catch(err){return err}}
    return returns()
    }
    },
    pass:function(args,bind){return this.create({'arguments':args,'bind':bind})},
    attempt:function(args,bind){return this.create({'arguments':args,'bind':bind,'attempt':true})()},
    bind:function(bind,args){return this.create({'bind':bind,'arguments':args})},
    bindAsEventListener:function(bind,args){return this.create({'bind':bind,'event':true,'arguments':args})},
    delay:function(ms,bind,args){return this.create({'delay':ms,'bind':bind,'arguments':args})()},
    periodical:function(ms,bind,args){return this.create({'periodical':ms,'bind':bind,'arguments':args})()}
    });
    .....
    后面略...应该够你用了.
      

  2.   

    mootools是个ajax/javascript框架这里下载
    http://mootools.net/downloadChoose compression type
    选择
    No Compression