• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

python反爬之js混淆-字符串映射

开发技术 开发技术 2周前 (04-09) 7次浏览

今天偶然看到个国外的代理网站(具体哪个保密),它的端口是做了映射的,虽然不难,但是看起来很有意思

 

浏览器打开是这样:

python反爬之js混淆-字符串映射

 

 

 

网站源码是这样:

python反爬之js混淆-字符串映射

 

 

 

document.write(":"+(Six9FiveNine^FiveFiveFour)+(EightZeroTwoFour^One2One)+(Six9FiveNine^FiveFiveFour)+(EightZeroTwoFour^One2One))

 

 

看起来是不是有点意思,而且那些什么Six9FiveNine的,这不就是小学的英语吗,然后【^】不就是幂运算吗,看起来很简单的样子,我另开一个新标签页,执行看看:

 

python反爬之js混淆-字符串映射

 

 

 

 

看来要补齐那些看起来数字英语了,在网站源码里搜索,

python反爬之js混淆-字符串映射

 

 

 

找到了以下字段,复制这段代码在控制台,然后再运行看看,

 

 

 

 

 

python反爬之js混淆-字符串映射

 

 

 

 

8080,出来了,跟最开始的源码对上了,

python反爬之js混淆-字符串映射

 

 

以下是源码

 

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
            }('n=8;c=D^C;r=7;k=2;t=B^E;p=9;a=F^A;e=G^I;h=1;s=6;l=5;d=4;f=0;g=y^u;b=3;o=w^z;i=x^v;m=H^L;q=U^T;j=S^W;J=f^j;X=h^i;K=k^g;M=b^a;N=d^e;P=l^m;Q=s^t;O=r^q;R=n^o;V=p^c;', 60, 60, '^^^^^^^^^^Six8Seven^Nine^SevenEightZero^Three^FourSevenNine^One^Three5Two^Six^Three7Five^One2One^Seven^Eight^Zero7Six^Zero^FiveFiveFour^Two^Zero4Eight^Five^Four^FiveSixThree^443^3127^7134^6491^2476^1080^6588^7342^8088^11944^1337^4125^3679^1941^8909^EightZeroTwoFour^One6OneSix^8118^Five7FourTwo^OneZeroNineOne^FiveSixSixSeven^EightFiveSevenThree^Zero1ZeroEight^Six9FiveNine^4130^8888^10791^TwoOneThreeZero^8090^TwoFourEightFive'.split('u005e'), 0, {}))
        

 

好的,我觉得可以学习下这个,我觉得有意思,本篇文章不是以爬虫的角度去破解,而是针对反爬哈,所以这里就不去细抠里面啥意思了,其实我觉得你耐下心来看大概也可以看懂的,有朋友要说,卧槽,你这次咋不作破解了,咳咳,那啥,我现在可不是做爬虫的,我是做反爬的好吗,嘿嘿

 


程序员灯塔
转载请注明原文链接:python反爬之js混淆-字符串映射
喜欢 (0)