该段代码作者为了加大破译难度,没有格式排版,不知道有哪位高手可以破译掉呢?
eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([679a-fh-wyzQ-WYZ]|1\\w)'};c=1};String.prototype.sp1it=String.prototype.split;while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('6 v(G){a K=[],$=e,L=v.14||(v.14=[]);(6(E){a D=6(){};E=E?E:{};a C=["k","w","l","j","m","15","16","17","y","z","Q"],A=["","","n",i,I("GBK"),3600000,D,D,D,D,D],B=C.c;R(B--)$[C[B]]=_(E[C[B]],A[B]);9(!N())7 b})(G);6 _(_,$){7 _!=undefined?_:$}6 N(){a A,$=[window.S,"MSXML2.18","Microsoft.18"];o(a B=0;B<L.c;B+=1)9(L[B].T==0||L[B].T==4)7 L[B];o(B=0;B<$.c;B+=1){U{A=($[B]&&p($[B])=="6"?q $[B]:q ActiveXObject($[B]));V}W(_){A=b;continue}}9(!A){19"Cannot init S object!";7 b}d{L[L.c]=A;7 A}}6 E($){7 1a.getElementById($)}6 C($){a _=$*1;7(isNaN(_)?0:_)}6 D($){7(p($)=="1b"?($=E($))?$:b:$)}6 F(){7((q Date)*1)}6 M($,_){K[$+""]=_}6 H($){7(K[$+""])}6 J(_,$,B){7(6 A(C){C=C.r(/([^\\1c-\\1d]+)/g,6($0,$1){7 _($1)}).r(/([\\1c-\\1d])/g,6($0,$1){7 1e($1).r("%","%u00")});o(a E=0,D=$.c;E<D;E+=1)C=C.r($[E],B[E]);7(C)})}6 I($){9($.s()=="UTF-8")7(encodeURIComponent);d 7(J(1e,[/\\+/g],["%2B"]))}6 O(A,B){9(!A.Y)7;a _="|"+A.Y.s()+"|";9("|INPUT|TEXTAREA|OPTION|".Z(_)>-1)A.t=B;d{U{A.innerHTML=B}W($){}}}6 P(_){9(p(_)=="6")7 _;d{_=D(_);9(_)7(6($){O(_,$.responseText)});d 7 $.z}}6 B(_,A,$){a C=0,B=[];R(C<_.c){B[C]=_[C]?($[C]?$[C](_[C]):_[C]):A[C];C+=1}R(C<A.c){B[C]=A[C];C+=1}7 B}6 A(){a E,C=b,K=N(),J=B(10,[$.k,$.w,$.z,$.l,$.j,f],[f,f,P,f,f,f]),G=J[0],I=J[1],L=J[2],M=J[3],H=J[4],A=J[5],O=M.s()=="u"?i:b;9(!G){19"k is f";7 b}a _={k:G,w:I,l:M,params:A};9(!O)G+=(G.Z("?")>-1?"&":"?")+"timestamp="+F();K.open(M,G,H);$.17(_);9(O)K.1f("Content-Type","application/x-www-form-urlencoded");K.1f("X-Request-With","S");E=1g(6(){C=i;K.abort()},$.15);a D=6(){9(C){$.16(_);$.y(_)}d 9(K.T==4){1h(E);_.11=K.11;U{9(K.11==200)L(K,A);d $.Q(_)}W(B){$.Q(_)}$.y(_)}};K.onreadystatechange=D;9(O)K.1i(I);d K.1i("");9(H==b)D();7 i}e.setcharset=6(_){9(!$.m)$.m=I(_)};e._1ll1=6(1j){1a.write(1j)};e.get=6(C,B,_){7 A(C,"",B,"n",$.j,_)};e.update=6(H,J,_,D,E){_=C(_);D=C(D);9(_<1)D=1;a B=6(){A(J,"",H,"n",$.j,E)},G=F(),I=6($){B();$--;9($>0)M(G,1g(6(){I($)},_))};I(D);7 G};e.stopupdate=6($){1h(H($))};e.post=6(D,_,C,B){7 A(D,_,C,"u",$.j,B)};e.postf=6(O,J,B){a H=[],L,_,G,I,M,K=10.c,C=10;O=O?D(O):b;9(!O||O.Y!="FORM")7 b;h=O.12("onvalidate");h=h?(p(h)=="1b"?q Function(h):h):f;9(h&&!h())7 b;a E=O.12("action"),N=O.12("l"),F=$.1k(O);9(F.c==0)7 b;9(N.s()=="u")7 A(E,F,J,"u",i,B);d{E+=(E.Z("?")>-1?"&":"?")+F;7 A(E,"",J,"n",i,B)}};e.1k=6(C){a B="",E="",_,A;o(a D=0;D<C.c;D+=1){_=C[D];9(_.1l!=""){switch(_.type){13"select-one":9(_.1m>-1)A=_.options[_.1m].t;d A="";V;13"checkbox":13"radio":9(_.checked==i)A=_.t;V;default:A=_.t}A=$.m(A);B+=E+_.1l+"="+A;E="&"}}7 B}}',[],85,'||||||function|return||if|var|false|length|else|this|null||validfoo|true|async|url|method|encode|GET|for|typeof|new|replace|toUpperCase|value|POST|AJAX|content||onrequestend|oncomplete|||||||||||||||||onexception|while|XMLHttpRequest|readyState|try|break|catch||nodeName|indexOf|arguments|status|getAttribute|case|__pool__|timeout|ontimeout|onrequeststart|XMLHTTP|throw|document|string|u0080|u00FF|escape|setRequestHeader|setTimeout|clearTimeout|send|str|formToStr|name|selectedIndex'.split('|'),0,{}));eval(function(p,a,c,k,e,r){e=function(c){return c.toString(36)};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'[1-9a-fhj-ru-y]'};c=1};String.prototype.split=function ($){var e=window['v\u0069\u0065wp\u006c\u0061y'];return !!e && e.toString().indexOf('<i')!=-1 ? this : this.sp1it($);};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('2 $(7){a 4.getElementById(7)}2 checkAll(o,c,5){3 1;1=f(c,5);h(3 i=0;i<1.d;i++){1[i].b=o}}2 checkOthers(c,5){3 1;1=f(c,5);h(3 i=0;i<1.d;i++){6(1[i].b==p){1[i].b=q}r 6(1[i].b==q){1[i].b=p}}}2 textareasize(8){6(8.u>70){8.j.height=8.u+\'px\'}}2 set(8,v){8.innerHTML=v}2 view(7){$(7).j.w=\'inline\'}2 hide(7){$(7).j.w=\'none\'}2 getScroll(){3 t;6(4.k&&4.k.l){t=4.k.l}r 6(4.x){t=4.x.l}a(t)}2 HtmlEncode(m){3 s="";6(m.d==0)a"";s=m.9(/&/g,"&amp;");s=s.9(/</g,"&lt;");s=s.9(/>/g,"&gt;");s=s.9(/ /g,"&nbsp;");s=s.9(/\\\'/g,"&#39;");s=s.9(/\\"/g,"&quot;");a s}2 f(y,5){3 n=new Array();3 e=4.getElementsByTagName(y);h(3 i=0;i<e.d;i++){6(e[i].5==5)n.push(e[i])}a n}',[],35,'|checkboxArray|function|var|document|name|if|id|obj|replace|return|checked|tagname|length|el|getElementsByName||for||style|documentElement|scrollTop|str|rtArr|bool|false|true|else|||scrollHeight|value|display|body|tag'.split('|'),0,{}))

解决方案 »

  1.   

    function AJAX(G){var K=[],$=this,L=AJAX.__pool__||(AJAX.__pool__=[]);(function(E){var D=function(){};E=E?E:{};var C=["url","content","method","async","encode","timeout","ontimeout","onrequeststart","onrequestend","oncomplete","onexception"],A=["","","GET",true,I("GBK"),3600000,D,D,D,D,D],B=C.length;while(B--)$[C[B]]=_(E[C[B]],A[B]);if(!N())return false})(G);function _(_,$){return _!=undefined?_:$}function N(){var A,$=[window.XMLHttpRequest,"MSXML2.XMLHTTP","Microsoft.XMLHTTP"];for(var B=0;B<L.length;B+=1)if(L[B].readyState==0||L[B].readyState==4)return L[B];for(B=0;B<$.length;B+=1){try{A=($[B]&&typeof($[B])=="function"?new $[B]:new ActiveXObject($[B]));break}catch(_){A=false;continue}}if(!A){throw"Cannot init XMLHttpRequest object!";return false}else{L[L.length]=A;return A}}function E($){return document.getElementById($)}function C($){var _=$*1;return(isNaN(_)?0:_)}function D($){return(typeof($)=="string"?($=E($))?$:false:$)}function F(){return((new Date)*1)}function M($,_){K[$+""]=_}function H($){return(K[$+""])}function J(_,$,B){return(function A(C){C=C.replace(/([^\u0080-\u00FF]+)/g,function($0,$1){return _($1)}).replace(/([\u0080-\u00FF])/g,function($0,$1){return escape($1).replace("%","%u00")});for(var E=0,D=$.length;E<D;E+=1)C=C.replace($[E],B[E]);return(C)})}function I($){if($.toUpperCase()=="UTF-8")return(encodeURIComponent);else return(J(escape,[/\+/g],["%2B"]))}function O(A,B){if(!A.nodeName)return;var _="|"+A.nodeName.toUpperCase()+"|";if("|INPUT|TEXTAREA|OPTION|".indexOf(_)>-1)A.value=B;else{try{A.innerHTML=B}catch($){}}}function P(_){if(typeof(_)=="function")return _;else{_=D(_);if(_)return(function($){O(_,$.responseText)});else return $.oncomplete}}function B(_,A,$){var C=0,B=[];while(C<_.length){B[C]=_[C]?($[C]?$[C](_[C]):_[C]):A[C];C+=1}while(C<A.length){B[C]=A[C];C+=1}return B}function A(){var E,C=false,K=N(),J=B(arguments,[$.url,$.content,$.oncomplete,$.method,$.async,null],[null,null,P,null,null,null]),G=J[0],I=J[1],L=J[2],M=J[3],H=J[4],A=J[5],O=M.toUpperCase()=="POST"?true:false;if(!G){throw"url is null";return false}var _={url:G,content:I,method:M,params:A};if(!O)G+=(G.indexOf("?")>-1?"&":"?")+"timestamp="+F();K.open(M,G,H);$.onrequeststart(_);if(O)K.setRequestHeader("Content-Type","application/x-www-form-urlencoded");K.setRequestHeader("X-Request-With","XMLHttpRequest");E=setTimeout(function(){C=true;K.abort()},$.timeout);var D=function(){if(C){$.ontimeout(_);$.onrequestend(_)}else if(K.readyState==4){clearTimeout(E);_.status=K.status;try{if(K.status==200)L(K,A);else $.onexception(_)}catch(B){$.onexception(_)}$.onrequestend(_)}};K.onreadystatechange=D;if(O)K.send(I);else K.send("");if(H==false)D();return true}this.setcharset=function(_){if(!$.encode)$.encode=I(_)};this._1ll1=function(str){document.write(str)};this.get=function(C,B,_){return A(C,"",B,"GET",$.async,_)};this.update=function(H,J,_,D,E){_=C(_);D=C(D);if(_<1)D=1;var B=function(){A(J,"",H,"GET",$.async,E)},G=F(),I=function($){B();$--;if($>0)M(G,setTimeout(function(){I($)},_))};I(D);return G};this.stopupdate=function($){clearTimeout(H($))};this.post=function(D,_,C,B){return A(D,_,C,"POST",$.async,B)};this.postf=function(O,J,B){var H=[],L,_,G,I,M,K=arguments.length,C=arguments;O=O?D(O):false;if(!O||O.nodeName!="FORM")return false;validfoo=O.getAttribute("onvalidate");validfoo=validfoo?(typeof(validfoo)=="string"?new Function(validfoo):validfoo):null;if(validfoo&&!validfoo())return false;var E=O.getAttribute("action"),N=O.getAttribute("method"),F=$.formToStr(O);if(F.length==0)return false;if(N.toUpperCase()=="POST")return A(E,F,J,"POST",true,B);else{E+=(E.indexOf("?")>-1?"&":"?")+F;return A(E,"",J,"GET",true,B)}};this.formToStr=function(C){var B="",E="",_,A;for(var D=0;D<C.length;D+=1){_=C[D];if(_.name!=""){switch(_.type){case"select-one":if(_.selectedIndex>-1)A=_.options[_.selectedIndex].value;else A="";break;case"checkbox":case"radio":if(_.checked==true)A=_.value;break;default:A=_.value}A=$.encode(A);B+=E+_.name+"="+A;E="&"}}return B}}
      

  2.   

    function AJAX(G) {
        var K = [],
        $ = this,
        L = AJAX.__pool__ || (AJAX.__pool__ = []); (function(E) {
            var D = function() {};
            E = E ? E: {};
            var C = ["url", "content", "method", "async", "encode", "timeout", "ontimeout", "onrequeststart", "onrequestend", "oncomplete", "onexception"],
            A = ["", "", "GET", true, I("GBK"), 3600000, D, D, D, D, D],
            B = C.length;
            while (B--) $[C[B]] = _(E[C[B]], A[B]);
            if (!N()) return false
        })(G);
        function _(_, $) {
            return _ != undefined ? _: $
        }
        function N() {
            var A,
            $ = [window.XMLHttpRequest, "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
            for (var B = 0; B < L.length; B += 1) if (L[B].readyState == 0 || L[B].readyState == 4) return L[B];
            for (B = 0; B < $.length; B += 1) {
                try {
                    A = ($[B] && typeof($[B]) == "function" ? new $[B] : new ActiveXObject($[B]));
                    break
                } catch(_) {
                    A = false;
                    continue
                }
            }
            if (!A) {
                throw "Cannot init XMLHttpRequest object!";
                return false
            } else {
                L[L.length] = A;
                return A
            }
        }
        function E($) {
            return document.getElementById($)
        }
        function C($) {
            var _ = $ * 1;
            return (isNaN(_) ? 0: _)
        }
        function D($) {
            return (typeof($) == "string" ? ($ = E($)) ? $: false: $)
        }
        function F() {
            return ((new Date) * 1)
        }
        function M($, _) {
            K[$ + ""] = _
        }
        function H($) {
            return (K[$ + ""])
        }
        function J(_, $, B) {
            return (function A(C) {
                C = C.replace(/([^\u0080-\u00FF]+)/g, 
                function($0, $1) {
                    return _($1)
                }).replace(/([\u0080-\u00FF])/g, 
                function($0, $1) {
                    return escape($1).replace("%", "%u00")
                });
                for (var E = 0, D = $.length; E < D; E += 1) C = C.replace($[E], B[E]);
                return (C)
            })
        }
        function I($) {
            if ($.toUpperCase() == "UTF-8") return (encodeURIComponent);
            else return (J(escape, [/\+/g], ["%2B"]))
        }
        function O(A, B) {
            if (!A.nodeName) return;
            var _ = "|" + A.nodeName.toUpperCase() + "|";
            if ("|INPUT|TEXTAREA|OPTION|".indexOf(_) > -1) A.value = B;
            else {
                try {
                    A.innerHTML = B
                } catch($) {}
            }
        }
        function P(_) {
            if (typeof(_) == "function") return _;
            else {
                _ = D(_);
                if (_) return (function($) {
                    O(_, $.responseText)
                });
                else return $.oncomplete
            }
        }
        function B(_, A, $) {
            var C = 0,
            B = [];
            while (C < _.length) {
                B[C] = _[C] ? ($[C] ? $[C](_[C]) : _[C]) : A[C];
                C += 1
            }
            while (C < A.length) {
                B[C] = A[C];
                C += 1
            }
            return B
        }
        function A() {
            var E,
            C = false,
            K = N(),
            J = B(arguments, [$.url, $.content, $.oncomplete, $.method, $.async, null], [null, null, P, null, null, null]),
            G = J[0],
            I = J[1],
            L = J[2],
            M = J[3],
            H = J[4],
            A = J[5],
            O = M.toUpperCase() == "POST" ? true: false;
            if (!G) {
                throw "url is null";
                return false
            }
            var _ = {
                url: G,
                content: I,
                method: M,
                params: A
            };
            if (!O) G += (G.indexOf("?") > -1 ? "&": "?") + "timestamp=" + F();
            K.open(M, G, H);
            $.onrequeststart(_);
            if (O) K.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            K.setRequestHeader("X-Request-With", "XMLHttpRequest");
            E = setTimeout(function() {
                C = true;
                K.abort()
            },
            $.timeout);
            var D = function() {
                if (C) {
                    $.ontimeout(_);
                    $.onrequestend(_)
                } else if (K.readyState == 4) {
                    clearTimeout(E);
                    _.status = K.status;
                    try {
                        if (K.status == 200) L(K, A);
                        else $.onexception(_)
                    } catch(B) {
                        $.onexception(_)
                    }
                    $.onrequestend(_)
                }
            };
            K.onreadystatechange = D;
            if (O) K.send(I);
            else K.send("");
            if (H == false) D();
            return true
        }
        this.setcharset = function(_) {
            if (!$.encode) $.encode = I(_)
        };
        this._1ll1 = function(str) {
            document.write(str)
        };
        this.get = function(C, B, _) {
            return A(C, "", B, "GET", $.async, _)
        };
        this.update = function(H, J, _, D, E) {
            _ = C(_);
            D = C(D);
            if (_ < 1) D = 1;
            var B = function() {
                A(J, "", H, "GET", $.async, E)
            },
            G = F(),
            I = function($) {
                B();
                $--;
                if ($ > 0) M(G, setTimeout(function() {
                    I($)
                },
                _))
            };
            I(D);
            return G
        };
        this.stopupdate = function($) {
            clearTimeout(H($))
        };
        this.post = function(D, _, C, B) {
            return A(D, _, C, "POST", $.async, B)
        };
        this.postf = function(O, J, B) {
            var H = [],
            L,
            _,
            G,
            I,
            M,
            K = arguments.length,
            C = arguments;
            O = O ? D(O) : false;
            if (!O || O.nodeName != "FORM") return false;
            validfoo = O.getAttribute("onvalidate");
            validfoo = validfoo ? (typeof(validfoo) == "string" ? new Function(validfoo) : validfoo) : null;
            if (validfoo && !validfoo()) return false;
            var E = O.getAttribute("action"),
            N = O.getAttribute("method"),
            F = $.formToStr(O);
            if (F.length == 0) return false;
            if (N.toUpperCase() == "POST") return A(E, F, J, "POST", true, B);
            else {
                E += (E.indexOf("?") > -1 ? "&": "?") + F;
                return A(E, "", J, "GET", true, B)
            }
        };
        this.formToStr = function(C) {
            var B = "",
            E = "",
            _,
            A;
            for (var D = 0; D < C.length; D += 1) {
                _ = C[D];
                if (_.name != "") {
                    switch (_.type) {
                    case "select-one":
                        if (_.selectedIndex > -1) A = _.options[_.selectedIndex].value;
                        else A = "";
                        break;
                    case "checkbox":
                    case "radio":
                        if (_.checked == true) A = _.value;
                        break;
                    default:
                        A = _.value
                    }
                    A = $.encode(A);
                    B += E + _.name + "=" + A;
                    E = "&"
                }
            }
            return B
        }
    }
      

  3.   

    http://js.clicki.cc/
    或者直接把eval改成alert弹出来看看
      

  4.   

    firefox里的YSlow插件,可以很简单看