<script type="text/javascript">
    eval(function(p, r, o, x, y, s) {
        y = function(c) {
            return (c < r ? '': y(parseInt(c / r))) + ((c = c % r) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
        };
        if (!''.replace(/^/, String)) {
            while (o--) {
                s[y(o)] = x[o] || y(o)
            }
            x = [function(y) {
                return s[y]
            }];
            y = function() {
                return '\\w+'
            };
            o = 1
        };
        while (o--) {
            if (x[o]) {
                p = p.replace(new RegExp('\\b' + y(o) + '\\b', 'g'), x[o])
            }
        }
        return p
    } ('a=D^C;p=9;l=B^E;i=F^A;s=H^G;r=7;q=J^y;e=5;c=4;j=0;b=3;t=6;h=1;o=u^x;f=z^w;g=v^I;m=O^T;k=2;d=U^V;n=8;K=j^l;P=h^i;R=k^g;X=b^a;N=c^d;L=e^m;M=t^s;Q=r^q;W=n^o;S=p^f;', 60, 60, '^^^^^^^^^^ThreeSevenEight^Eight^One^Four4One^Seven^Five5Nine^NineSevenZero^Three^FiveFiveFour^Five^Six^OneZeroThree^FourOneFive^Two^SevenFiveSeven^Four^TwoOneSix^Zero^ThreeFiveTwo^Nine^3653^7117^8090^8909^9090^640^1337^5333^1080^6411^3129^5198^8085^6586^8118^4024^OneThreeOneTwo^Eight0SevenFour^EightSevenZeroOne^NineTwoFiveSeven^10852^NineOneTwoFive^Three3NineNine^ThreeNineSixThree^EightZeroEightEight^8000^6783^8088^Five0FourZero^Two2ThreeSix'.split('\u005e'), 0, {}))
</script>然后再代码中是这样调用的(Five0FourZero^SevenFiveSeven)小弟初涉js,完全搞晕了
求大神们指点一二 !
原始页面在这里http://spys.ru/en/

解决方案 »

  1.   

    晕第一段js代码的最后一行没换行,重贴下('a=D^C;p=9;l=B^E;i=F^A;s=H^G;r=7;q=J^y;e=5;c=4;j=0;b=3;t=6;h=1;o=u^x;f=z^w;g=v^I;m=O^T;k=2;d=U^V;n=8;K=j^l;P=h^i;R=k^g;X=b^a;N=c^d;L=e^m;M=t^s;Q=r^q;W=n^o;S=p^f;', 60, 60, '^^^^^^^^^^ThreeSevenEight^Eight^One^Four4One^Seven^Five5Nine^NineSevenZero^Three^FiveFiveFour^Five^Six^OneZeroThree^FourOneFive^Two^SevenFiveSeven^Four^TwoOneSix^Zero^ThreeFiveTwo^Nine^3653^7117^8090^8909^9090^640^1337^5333^1080^6411^3129^5198^8085^6586^8118^4024^OneThreeOneTwo^Eight0SevenFour^EightSevenZeroOne^NineTwoFiveSeven^10852^NineOneTwoFive^Three3NineNine^ThreeNineSixThree^EightZeroEightEight^8000^6783^8088^Five0FourZero^Two2ThreeSix'.split('\u005e'), 0, {}))
      

  2.   

    啊 还没有,版主删了一楼吧
    在贴贴<script type="text/javascript">
        eval(function(p, r, o, x, y, s) {
            y = function(c) {
                return (c < r ? '': y(parseInt(c / r))) + ((c = c % r) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
            };
            if (!''.replace(/^/, String)) {
                while (o--) {
                    s[y(o)] = x[o] || y(o)
                }
                x = [function(y) {
                    return s[y]
                }];
                y = function() {
                    return '\\w+'
                };
                o = 1
            };
            while (o--) {
                if (x[o]) {
                    p = p.replace(new RegExp('\\b' + y(o) + '\\b', 'g'), x[o])
                }
            }
            return p
        } 
    //调用function(p, r, o, x, y, s)开始
    ('a=D^C;p=9;l=B^E;i=F^A;s=H^G;r=7;q=J^y;e=5;c=4;j=0;b=3;t=6;h=1;o=u^x;f=z^w;g=v^I;m=O^T;k=2;d=U^V;n=8;K=j^l;P=h^i;R=k^g;X=b^a;N=c^d;L=e^m;M=t^s;Q=r^q;W=n^o;S=p^f;',
    60, 
    60,
    '^^^^^^^^^^ThreeSevenEight^Eight^One^Four4One^Seven^Five5Nine^NineSevenZero^Three^FiveFiveFour^Five^Six^OneZeroThree^FourOneFive^Two^SevenFiveSeven^Four^TwoOneSix^Zero^ThreeFiveTwo^Nine^3653^7117^8090^8909^9090^640^1337^5333^1080^6411^3129^5198^8085^6586^8118^4024^OneThreeOneTwo^Eight0SevenFour^EightSevenZeroOne^NineTwoFiveSeven^10852^NineOneTwoFive^Three3NineNine^ThreeNineSixThree^EightZeroEightEight^8000^6783^8088^Five0FourZero^Two2ThreeSix'.split('\u005e'),
    0,
    {})
    //调用function(p, r, o, x, y, s)结束
    ) //eval函数结束
    </script>
      

  3.   

    不是混淆的问题
    关键是eval的调用问题 eval(function(p) {}('xxx'))这算神马结构?  
    而且代码最后一个参数是{},这是啥东东??
      

  4.   

      (Five0FourZero^SevenFiveSeven)这又算神马东东?就一个括号,
    我确定这调用了函数,而不是普通的优先级括号
    默认调用的是eval??
      

  5.   

    就4楼而言,这个结构不难理解啊
    function(p) {}是定义一个函数
    function(p) {}('xxx') 是执行这个定义的函数
    eval(function(p) {}('xxx')) 这个是把函数的返回值(应该是字符串)当作语句来执行