阿里滑块验证码版本227版本破解(3)

这是一个手动分析记录,考虑到这样的操作劳心费力,所以改成程序自动破解。故本文档不完整,分享给兄弟们作为参考,其中的破解代码已经验证过,可以直接拷贝粘贴用。

一.运算步骤

传入参数

'{"MaxMTLog":300,"MTInterval":4,"MinMTDwnLog":30,"MaxKSLog":14,"MaxFocusLog":6,"MaxNGPLog":200,"NGPInterval":4,"Enable":3,"location":"cn","_umopt_npfp":1,"timeout":2000}'经过运算后变为G=[30,4,300,6,0,"cn",14,null,1,200,1,1,30,4]

二.数据倒推

2.1最终结果

227!SSiSphLy00qraYX/NU9CRludZ+P4JL9j4lPPOoK7C6KWntR3DxnL3JrUoggE9O3aPEMwCSPE8mJMtS3Oe8xcJPWY6+o1wHRenHEueEjxLV2vntkk+VjR3SIb++TfrYvCnX77CsvHlefY4o4wAwonkhIfF22XmpUinHEyOmv3ehuoRcGnrkn13DmWqAgHmppinHPkqfvHaRbgh70Ke8lnODlAqKiHDppi/a7yV6y2nadZM6SpBhAPry26Shs0JIpzwLSr+dYfMG+Tm3yfzGFUZEC5oE4PxIfAwPhZCbgdMKl/qfj3Cuo8ZtCIqKiHmh9ftXBjOJjX5CszntRkXxjO3G2zeo8HlpvCnXElO2jX5CSSSbR8lHnD3SSdqKCXDpvCnHEuO2nXaR3S6dEjlt+R3DQWqo5nepH4nHEuXw5yGKL1gf3tJnXN5QyCg5EDWnOh5f9iy3WNzAyw1f3AGnMj2wzCmsPKZJwC0KjeuPGks/21mooegGwu4VcPVfx0tLd+iAXQbwrS7fHZVHxdpZUGtUUIAsGxDcPaj/ukm/tjkA4Yrq0KD7BhhTXRBgWNSkHZXYS3vgcCRnx27lSVnNrgYqboOyXWg1su43tX95C+B1GZ06+qEklt2pjxZndCSSTmEHhFg+BbrVrbPm5WpzIqLnTVOkTI8yu5+/HU+r4jziuhSw0B8d/h9IM/wNp7aSvEPf1t71v1vVoWZ9zq9mFqb3t7qlIRLKasULYrL5gb8UcRh4MZMUmVGCDGfXDh+8up0j+6fvrNCY9dvHsfa50MvNTI7DwGkgj3ZMjASAOEXQruoROvCLT/uTUBOZqe4x/NRvMZFeoJNDHViUNQSQWDTfgpiYAY2+l9OI0NGvQ0TP/Z63CDA07arUtr//Glst1YpZBSViuIWaOq7lGpOYQyb3Mjobf7DTLMpnK04g6vgoJZ+x6BuIkZOLC8LTv1q6TSjTmak88JEQiGFXRkoXVWf5TK9FssKH9maZ6u2LbwUoMUEQMhWoyZIhEbj85GJG8YpNxC3fMpC84KeniiCZdccXUy+7cIkUcG4aiC8VNbFEWBLpwoggSfxOvtm49G4Mp1Z/Gam4RgI4JotysDRtmpZ9yaoBP8j6bVthDTNTvBca3p7zDe2JxORnBckylQAk6gWtDQL9xNRssC7wJoOQ+LcsnIi/Nbn2vOTc9YfViD1vomVnHOiSSQJMcChrU6fyH+b/fXPXopzEh

数据分成两部分,其中227是版本号,写死的,

SSiSphLy00qraYX/NU9CRludZ+P4JL9j4lPPOoK7C6KWntR3DxnL3JrUoggE9O3aPEMwCSPE8mJMtS3Oe8xcJPWY6+o1wHRenHEueEjxLV2vntkk+VjR3SIb++TfrYvCnX77CsvHlefY4o4wAwonkhIfF22XmpUinHEyOmv3ehuoRcGnrkn13DmWqAgHmppinHPkqfvHaRbgh70Ke8lnODlAqKiHDppi/a7yV6y2nadZM6SpBhAPry26Shs0JIpzwLSr+dYfMG+Tm3yfzGFUZEC5oE4PxIfAwPhZCbgdMKl/qfj3Cuo8ZtCIqKiHmh9ftXBjOJjX5CszntRkXxjO3G2zeo8HlpvCnXElO2jX5CSSSbR8lHnD3SSdqKCXDpvCnHEuO2nXaR3S6dEjlt+R3DQWqo5nepH4nHEuXw5yGKL1gf3tJnXN5QyCg5EDWnOh5f9iy3WNzAyw1f3AGnMj2wzCmsPKZJwC0KjeuPGks/21mooegGwu4VcPVfx0tLd+iAXQbwrS7fHZVHxdpZUGtUUIAsGxDcPaj/ukm/tjkA4Yrq0KD7BhhTXRBgWNSkHZXYS3vgcCRnx27lSVnNrgYqboOyXWg1su43tX95C+B1GZ06+qEklt2pjxZndCSSTmEHhFg+BbrVrbPm5WpzIqLnTVOkTI8yu5+/HU+r4jziuhSw0B8d/h9IM/wNp7aSvEPf1t71v1vVoWZ9zq9mFqb3t7qlIRLKasULYrL5gb8UcRh4MZMUmVGCDGfXDh+8up0j+6fvrNCY9dvHsfa50MvNTI7DwGkgj3ZMjASAOEXQruoROvCLT/uTUBOZqe4x/NRvMZFeoJNDHViUNQSQWDTfgpiYAY2+l9OI0NGvQ0TP/Z63CDA07arUtr//Glst1YpZBSViuIWaOq7lGpOYQyb3Mjobf7DTLMpnK04g6vgoJZ+x6BuIkZOLC8LTv1q6TSjTmak88JEQiGFXRkoXVWf5TK9FssKH9maZ6u2LbwUoMUEQMhWoyZIhEbj85GJG8YpNxC3fMpC84KeniiCZdccXUy+7cIkUcG4aiC8VNbFEWBLpwoggSfxOvtm49G4Mp1Z/Gam4RgI4JotysDRtmpZ9yaoBP8j6bVthDTNTvBca3p7zDe2JxORnBckylQAk6gWtDQL9xNRssC7wJoOQ+LcsnIi/Nbn2vOTc9YfViD1vomVnHOiSSQJMcChrU6fyH+b/fXPXopzEh

这块数据是由下面的数据加密来的

[0,4,0,227,3,141,146,70,217,141,135,222,174,2,81,198,251,6,32,27,110,76,226,125,186,251,109,117,97,225,68,33,251,251,108,68,63,63,142,17,54,96,89,69,37,37,209,35,182,90,50,68,11,101,209,116,232,216,1,29,139,76,250,78,222,216,8,21,140,203,252,98,251,249,108,138,95,115,57,82,252,251,109,117,5,95,113,16,2,166,4,26,133,101,143,17,249,248,97,68,63,63,190,33,88,185,107,178,223,37,190,215,2,133,104,178,223,95,136,16,251,249,77,117,127,4,139,11,22,199,164,190,103,95,140,16,245,251,111,117,63,95,142,16,251,251,117,108,95,63,143,25,148,194,25,7,139,75,254,116,251,247,108,116,63,63,142,16,122,56,77,84,35,75,250,49,136,160,32,56,167,13,237,100,210,194,3,0,228,76,174,57,200,224,25,4,102,5,161,32,106,92,67,69,229,38,160,34,84,92,90,91,173,204,161,119,202,220,8,70,101,6,160,123,222,108,95,68,70,197,180,35,100,74,108,116,63,95,2,69,217,250,125,117,63,95,113,16,249,251,108,117,127,63,93,17,34,249,137,109,63,191,143,17,249,249,111,116,191,95,113,16,0,2,108,116,191,255,143,16,0,6,108,116,95,63,143,17,251,249,108,116,191,159,143,17,0,8,105,125,191,96,113,16,249,251,109,103,62,139,143,238,251,249,108,127,39,13,72,115,140,80,81,54,79,231,235,114,115,81,81,201,79,239,231,112,112,82,80,52,78,235,231,115,114,48,81,55,75,234,61,47,46,81,92,59,71,33,60,145,144,127,98,178,212,181,13,226,204,93,101,162,81,44,172,185,94,173,84,92,228,216,225,129,67,119,231,155,38,64,132,95,200,87,252,198,224,136,18,218,8,10,220,52,179,63,171,99,245,235,53,93,237,189,215,123,152,101,185,7,62,26,112,194,167,241,165,78,235,3,95,200,125,128,4,241,78,145,199,236,203,134,240,21,250,182,84,97,185,150,116,215,251,80,192,236,184,77,159,37,196,65,164,196,136,144,32,91,151,91,246,47,143,115,35,225,145,0,10,151,151,252,26,80,26,102,101,86,102,181,119,59,227,146,155,59,234,149,119,90,138,208,219,28,5,239,224,5,155,189,229,11,48,3,41,41,208,103,176,36,170,30,202,190,33,140,15,37,180,83,54,132,207,12,241,85,187,32,158,91,37,118,155,152,77,161,110,242,177,56,120,195,128,230,25,57,197,38,210,14,177,194,234,8,162,5,213,73,19,210,21,243,240,7,75,56,147,208,66,23,198,107,69,130,70,243,240,197,141,201,40,242,186,138,132,252,146,213,79,68,34,143,119,3,119,101,126,118,108,91,23,124,68,234,158,178,168,41,116,134,226,187,55,171,199,202,8,106,37,147,172,255,213,66,10,231,2,126,207,168,85,56,65,141,216,44,27,201,116,169,43,75,201,228,170,215,136,8,68,79,222,72,99,102,13,153,121,228,175,15,99,24,224,138,64,85,11,10,238,55,91,134,244,184,117,137,205,152,74,61,90,97,97,62,163,168,227,225,228,185,64,188,81,100,200,7,48,169,176,173,72,116,228,116,58,175,12,108,42,128,246,165,227,215,77,19,150,116,18,105,252,117,89,245,123,21,202,135,37,160,195,31,242,87,140,128,172,44,233,178,129,106,32,150,122,48,237,99,72,43,9,102,247,71,18,77,45,24,226,188,209,16,90,56,71,75,135,139,228,16,68,129,186,233,248,13,6,30,138,214,14,146,186,52,17,209,90,230,106,94,233,59,140,150,81,64,5,205,223,54,94,226,82,186,142,12,33,228,163,94,236,84,42,228,214,216,208,207,199,101,248,32,147,99,90,155,116,244,41,149,219,3,234,174,175,41,234,49,56,135,147,226,45,60,221,199,234,122,212,219,231,223,80,148,239,99,231,56,156,235,196,48,209,135,36,214,118,112,78,232,63,138,65,234,230,248,191,29,171,162,88,21,84,15,51,197,151,87,239,221,64,0,39,78,142,145,193,152,2,20,223,193,153,225,95,181,245,184,230,92,31]

ee:先由一段写死的字符生成新的字符

function f227(obj) {

            var K = "\u0416\u03ee\u03f9\u0436\u03f6\u0429\u0427\u040e\u041d\u03fc\u040c\u03f5\u03f4\u043c\u040f\u0407\u042c\u0406\u040a\u040d\u042a\u0419\u0432\u0430\u041c\u0435\u0409\u0434\u03f8\u0412\u03f2\u041b\u0418\u03fa\u0428\u0424\u03f3\u0408\u0425\u0414\u0410\u0405\u0417\u0411\u0438\u0413\u03f7\u042f\u042b\u0415\u043a\u043b\u03fb\u042e\u0437\u0404\u0433\u043d\u0426\u041a\u0439\u042d\u0431\u040b\u0400";

            var z = "";

            //算法开o=40,li=11

            for (var i = 0; i < K.length; i++) {

                var he = K.charCodeAt(i) - 963;

                z += String.fromCharCode(he);

            }

            var key = z;

            var z = obj.length;

            var W = "";

            //算法开始o=40,si=8322

            for (var i = 0; i < obj.length; i += 3) {

                var O = 255 & obj[i];

                var be = 255 & obj[i + 1];

                var $ = 255 & obj[i + 2];

                var de = O >> 2;

                var U, he, pe;

                var T = (U = (he = 3 & O) << 4) | (he = be >> 4);

                var R = (U = (he = 15 & be) << 2) | (he = $ >> 6);

                pe = 63 & $;

                he = z + 2;

                W =W+ key.charAt(de) + key.charAt(T) + key.charAt(R) + key.charAt(pe);

            }

            return W;

        }

上面的字符可以拆分成下面几段:

A:

0,4,0,227,3,141,146,70,217,141,135,222

B:174,2,81,198,251,6,32,27,110,76,226,125,186,251,109,117,97,225,68,33,251,251,108,68,63,63,142,17,54,96,89,69,37,37,209,35,182,90,50,68,11,101,209,116,232,216,1,29,139,76,250,78,222,216,8,21,140,203,252,98,251,249,108,138,95,115,57,82,252,251,109,117,5,95,113,16,2,166,4,26,133,101,143,17,249,248,97,68,63,63,190,33,88,185,107,178,223,37,190,215,2,133,104,178,223,95,136,16,251,249,77,117,127,4,139,11,22,199,164,190,103,95,140,16,245,251,111,117,63,95,142,16,251,251,117,108,95,63,143,25,148,194,25,7,139,75,254,116,251,247,108,116,63,63,142,16,122,56,77,84,35,75,250,49,136,160,32,56,167,13,237,100,210,194,3,0,228,76,174,57,200,224,25,4,102,5,161,32,106,92,67,69,229,38,160,34,84,92,90,91,173,204,161,119,202,220,8,70,101,6,160,123,222,108,95,68,70,197,180,35,100,74,108,116,63,95,2,69,217,250,125,117,63,95,113,16,249,251,108,117,127,63,93,17,34,249,137,109,63,191,143,17,249,249,111,116,191,95,113,16,0,2,108,116,191,255,143,16,0,6,108,116,95,63,143,17,251,249,108,116,191,159,143,17,0,8,105,125,191,96,113,16,249,251,109,103,62,139,143,238,251,249,108,127

C:39,13,72,115,140,80,81,54,79,231,235,114,115,81,81,201,79,239,231,112,112,82,80,52,78,235,231,115,114,48,81,55,75,234,61,47,46,81,92,59,

D:

71,33,60,145,144,127,98,178,212,181,13,226,204,93,101,162,81,44,172,185,94,173,84,92,228,216,225,129,67,119,231,155,38,64,132,95,200,87,252,198,224,136,18,218,8,10,220,52,179,63,171,99,245,235,53,93,237,189,215,123,152,101,185,7,62,26,112,194,167,241,165,78,

E:

235,3,95,200

F:

125,128,4,241,78,145,199,236,203,134,240,21,250,182,84,97,185,150,116,215,251,80,192,236,184,77,159,37,196,65,164,196,136,144,32,91,151,91,246,47,143,115,35,225,145,0,10,151,151,252,26,80,26,102,101,86,102,181,119,59,227,146,155,59,234,149,119,90,138,208,219,28,5,239,224,5,155,189,229,11,48,3,41,41,208,103,176,36,170,30,202,190,33,140,15,37,180,83,54,132,207,12,241,85,187,32,158,91,37,118,155,152,77,161,110,242,177,56,120,195,128,230,25,57,197,38,210,14,177,194,234,8,162,5,213,73,19,210,21,243,240,7,75,56,147,208,66,23,198,107,69,130,70,243,240,197,141,201,40,242,186,138,132,252,146,213,79,68,34,143,119,3,119,101,126,118,108,91,23,124,68,234,158,178,168,41,116,134,226,187,55,171,199,202,8,106,37,147,172,255,213,66,10,231,2,126,207,168,85,56,65,141,216,44,27,201,116,169,43,75,201,228,170,215,136,8,68,79,222,72,99,102,13,153,121,228,175,15,99,24,224,138,64,85,11,10,238,55,91,134,244,184,117,137,205,152,74,61,90,97,97,62,163,168,227,225,228,185,64,188,81,100,200,7,48,169,176,173,72,116,228,116,58,175,12,108,42,128,246,165,227,215,77,19,150,116,18,105,252,117,89,245,123,21,202,135,37,160,195,31,242,87,140,128,172,44,233,178,129,106,32,150,122,48,237,99,72,43,9,102,247,71,18,77,45,24,226,188,209,16,90,56,71,75,135,139,228,16,68,129,186,233,248,13,6,30,138,214,14,146,186,52,17,209,90,230,106,94,233,59,140,150,81,64,5,205,223,54,94,226,82,186,142,12,33,228,163,94,236,84,42,228,214,216,208,207,199,101,248,32,147,99,90,155,116,244,41,149,219,3,234,174,175,41,234,49,56,135,147,226,45,60,221,199,234,122,212,219,231,223,80,148,239,99,231,56,156,235,196,48,209,135,36,214,118,112,78,232,63,138,65,234,230,248,191,29,171,162,88,21,84,15,51,197,151,87,239,221,64,0,39,78,142,145,193,152,2,20,223,193,153,225,95,181,245,184,230,92,31

2.2 F段分析

F字段由下面的字符转换而来:

'[235,4,2,248,73,26,196,238,94,52,120,138,116,99,83,103,205,180,58,235,180,201,195,238,197,106,207,146,230,6,164,199,68,132,16,173,155,140,244,43,124,155,145,240,26,245,15,150,188,231,13,40,124,79,99,81,51,173,187,157,174,90,154,63,87,172,187,45,88,233,216,25,40,127,112,130,156,37,231,14,129,24,148,148,233,143,176,32,85,240,101,95,62,216,10,33,165,154,27,66,169,248,243,82,221,1,79,173,63,83,154,153,106,13,55,121,34,195,126,192,4,55,140,156,39,127,209,11,141,22,117,4,94,55,214,78,152,150,138,249,241,183,76,60,156,134,33,139,103,144,66,131,50,159,120,226,25,40,44,240,213,84,66,126,90,43,72,67,17,124,187,129,147,15,120,112,99,218,139,62,198,112,159,178,69,73,58,67,110,164,51,171,62,86,4,53,63,154,172,253,174,18,5,243,118,85,204,168,170,193,160,198,235,192,30,202,163,77,149,165,40,238,170,212,68,64,34,167,109,199,101,96,104,204,188,114,161,185,101,29,7,84,32,170,184,120,236,51,218,52,122,92,19,24,206,153,82,233,45,176,14,69,163,168,31,15,114,220,197,228,86,98,70,56,24,212,225,33,79,114,39,163,29,215,248,208,46,129,183,45,241,235,9,186,151,114,144,75,126,186,12,51,125,16,86,60,146,80,166,189,240,80,100,4,86,22,48,98,128,108,1,180,61,24,49,142,79,47,72,51,251,163,122,9,41,29,23,229,232,8,76,195,64,76,60,92,114,8,198,22,186,235,199,104,3,15,88,107,11,147,213,161,136,232,76,111,108,89,79,217,70,75,10,197,0,206,254,177,47,113,74,100,143,9,9,39,209,47,240,202,46,230,182,198,104,231,167,15,250,36,156,27,45,205,210,242,45,148,222,24,117,87,161,0,232,53,193,60,201,113,1,196,222,196,87,211,106,237,175,173,87,149,127,27,243,28,220,176,199,52,142,60,18,107,83,209,73,234,249,84,160,117,111,243,191,24,93,21,44,138,202,185,55,198,188,186,247,238,197,245,35,73,116,140,224,76,118,250,220,194,204,15,175,218,51,227,228,91,248]'

加密算法如下:o=40,li=196

  function F1(O) {

            var W = [],

                de = 10,

                T = O.slice(8, de),

                Pe = T[0] << 8,

                de = Pe | T[1],

                Pe = de.toString(),

                T = Pe.split(""),

                de = T,

                T = 516727686,

                R = T % de.length,

                T = de[R],

                de = Pe = de = T % 4,

                Q = O.length / 2,

                T = window.Math.ceil(Q);

            var oe,z,G,he,Le,Ge,f,Le,k,K

            for (Pe = 0; Pe <T; Pe++) {

                Q = 2 * Pe,

                    oe = 2 + (R = 2 * Pe),

                    R = O.slice(Q, oe);

                if ((oe = 0 == (Q = (K = (Q = 4 * de) + (oe = Pe % 4)) % 4))) {

                    K = void 0,

                        z = R,

                        G = 3,

                        he = 5,

                        Ie = [],

                        Le = 0,

                        Ge = z[Le],

                        f = 255 & (Ge = (f = Ge >> G) + (k = Ge << he)),

                        Ie.push(f),

                        Le++,

                        Ge = z[Le],

                        f = 255 & (Ge = (f = Ge >> G) + (k = Ge << he)),

                        Ie.push(f),

                        Le++,

                        z = K = Ie,

                        W = W.concat(z);

                  }

                else {

                    switch (Q) {

                        case 1:

                            {

                                K = void 0,

                                    z = R,

                                    G = 7,

                                    he = 1,

                                    Ie = [],

                                    Le = 0,

                                    Ge = z[Le],

                                    f = 255 & (Ge = (f = Ge >> G) + (k = Ge << he)),

                                    Ie.push(f),

                                    Le++,

                                    Ge = z[Le],

                                    f = 255 & (Ge = (f = Ge >> G) + (k = Ge << he)),

                                    Ie.push(f),

                                    Le++,

                                    z = K = Ie,

                                    W = W.concat(z);

                                break;

                            }

                        case 2:

                            {

                                K = void 0,

                                    z = R,

                                    G = [],

                                    he = 6,

                                    Ie = 17961,

                                    Le = 0,

                                    Ge = z[Le],

                                    Ge = 255 & (f = (Ge = (f = Ge >> he) + (S = Ge << (k = 8 - he))) + Ie),

                                    G.push(Ge),

                                    Le++,

                                    Ge = z[Le],

                                    Ge = 255 & (f = (Ge = (f = Ge >> he) + (S = Ge << (k = 8 - he))) + Ie),

                                    G.push(Ge),

                                    Le++,

                                    z = K = G,

                                  

                                    W = W.concat(z);

                                break;

                            }

                        case 3:

                            {

                                Q = void 0,

                                    K = R,

                                    z = [],

                                    G = 181,

                                    he = 5,

                                    Ie = 0,

                                    Le = G ^ K[Ie],

                                    Le = (Ge = Le >> he) ^ K[Ie],

                                    Ge = 255 & Le,

                                    z.push(Ge),

                                    Ie++,

                                    Le = G ^ K[Ie],

                                    Le = (Ge = Le >> he) ^ K[Ie],

                                    Ge = 255 & Le,

                                    z.push(Ge),

                                    Ie++,

                                    K = Q = z,

                                    W = W.concat(K);

                                break;

                            }

                    }

                }

            }

            return W;

        }

上面的字符分为2部分:

235,4

和2,248,73,26,196,238,94,52,120,138,116,99,83,103,205,180,58,235,180,201,195,238,197,106,207,146,230,6,164,199,68,132,16,173,155,140,244,43,124,155,145,240,26,245,15,150,188,231,13,40,124,79,99,81,51,173,187,157,174,90,154,63,87,172,187,45,88,233,216,25,40,127,112,130,156,37,231,14,129,24,148,148,233,143,176,32,85,240,101,95,62,216,10,33,165,154,27,66,169,248,243,82,221,1,79,173,63,83,154,153,106,13,55,121,34,195,126,192,4,55,140,156,39,127,209,11,141,22,117,4,94,55,214,78,152,150,138,249,241,183,76,60,156,134,33,139,103,144,66,131,50,159,120,226,25,40,44,240,213,84,66,126,90,43,72,67,17,124,187,129,147,15,120,112,99,218,139,62,198,112,159,178,69,73,58,67,110,164,51,171,62,86,4,53,63,154,172,253,174,18,5,243,118,85,204,168,170,193,160,198,235,192,30,202,163,77,149,165,40,238,170,212,68,64,34,167,109,199,101,96,104,204,188,114,161,185,101,29,7,84,32,170,184,120,236,51,218,52,122,92,19,24,206,153,82,233,45,176,14,69,163,168,31,15,114,220,197,228,86,98,70,56,24,212,225,33,79,114,39,163,29,215,248,208,46,129,183,45,241,235,9,186,151,114,144,75,126,186,12,51,125,16,86,60,146,80,166,189,240,80,100,4,86,22,48,98,128,108,1,180,61,24,49,142,79,47,72,51,251,163,122,9,41,29,23,229,232,8,76,195,64,76,60,92,114,8,198,22,186,235,199,104,3,15,88,107,11,147,213,161,136,232,76,111,108,89,79,217,70,75,10,197,0,206,254,177,47,113,74,100,143,9,9,39,209,47,240,202,46,230,182,198,104,231,167,15,250,36,156,27,45,205,210,242,45,148,222,24,117,87,161,0,232,53,193,60,201,113,1,196,222,196,87,211,106,237,175,173,87,149,127,27,243,28,220,176,199,52,142,60,18,107,83,209,73,234,249,84,160,117,111,243,191,24,93,21,44,138,202,185,55,198,188,186,247,238,197,245,35,73,116,140,224,76,118,250,220,194,204,15,175,218,51,227,228,91,248

235,4分析:位置在o=40 li=1633

算法如下:

w = 128 + (C = S % 128),

                        C = 127 & (j = (b = S - C) / 128),

                        (b = []).push(w, C),

其中S是要处理的数组的长度,运算后产生两位数,加在处理完的字符串前面组成新串。

上面另外一部分的数据是由下面这块数据运算产生的:

0000001011111000010010010001101011000100111011100101111000110100011110001000101001110100011000110101001101100111110011011011010000111010111010111011010011001001110000111110111011000101011010101100111110010010111001100000011010100100110001110100010010000100000100001010110110011011100011001111010000101011011111001001101110010001111100000001101011110101000011111001011010111100111001110000110100101000011111000100111101100011010100010011001110101101101110111001110110101110010110101001101000111111010101111010110010111011001011010101100011101001110110000001100100101000011111110111000010000010100111000010010111100111000011101000000100011000100101001001010011101001100011111011000000100000010101011111000001100101010111110011111011011000000010100010000110100101100110100001101101000010101010011111100011110011010100101101110100000001010011111010110100111111010100111001101010011001011010100000110100110111011110010010001011000011011111101100000000000100001101111000110010011100001001110111111111010001000010111000110100010110011101010000010001011110001101111101011001001110100110001001011010001010111110011111000110110111010011000011110010011100100001100010000110001011011001111001000001000010100000110011001010011111011110001110001000011001001010000010110011110000110101010101010001000010011111100101101000101011010010000100001100010001011111001011101110000001100100110000111101111000011100000110001111011010100010110011111011000110011100001001111110110010010001010100100100111010010000110110111010100100001100111010101100111110010101100000010000110101001111111001101010101100111111011010111000010010000001011111001101110110010101011100110010101000101010101100000110100000110001101110101111000000000111101100101010100011010011011001010110100101001010001110111010101010110101000100010001000000001000101010011101101101110001110110010101100000011010001100110010111100011100101010000110111001011001010001110100000111010101000010000010101010101110000111100011101100001100111101101000110100011110100101110000010011000110001100111010011001010100101110100100101101101100000000111001000101101000111010100000011111000011110111001011011100110001011110010001010110011000100100011000111000000110001101010011100001001000010100111101110010001001111010001100011101110101111111100011010000001011101000000110110111001011011111000111101011000010011011101010010111011100101001000001001011011111101011101000001100001100110111110100010000010101100011110010010010010100001010011010111101111100000101000001100100000001000101011000010110001100000110001010000000011011000000000110110100001111010001100000110001100011100100111100101111010010000011001111111011101000110111101000001001001010010001110100010111111001011110100000001000010011001100001101000000010011000011110001011100011100100000100011000110000101101011101011101011110001110110100000000011000011110101100001101011000010111001001111010101101000011000100011101000010011000110111101101100010110010100111111011001010001100100101100001010110001010000000011001110111111101011000100101111011100010100101001100100100011110000100100001001001001111101000100101111111100001100101000101110111001101011011011000110011010001110011110100111000011111111101000100100100111000001101100101101110011011101001011110010001011011001010011011110000110000111010101010111101000010000000011101000001101011100000100111100110010010111000100000001110001001101111011000100010101111101001101101010111011011010111110101101010101111001010101111111000110111111001100011100110111001011000011000111001101001000111000111100000100100110101101010011110100010100100111101010111110010101010010100000011101010110111111110011101111110001100001011101000101010010110010001010110010101011100100110111110001101011110010111010111101111110111011000101111101010010001101001001011101001000110011100000010011000111011011111010110111001100001011001

变换过程很简单,就是从左到右取8位转换成int型,代码如下

function bin2dec(obj)

        {

            var str = "";

            var res = [];

            while (obj.length >= 8)

            {

                str = obj.substring(0, 8);

                var z = parseInt(str, 2);

                res.push(z);

                obj = obj.substring(8);

            }

            if (obj.length > 0) {

                obj = obj + "00000000"; str = obj.substring(0, 8);

                var z = parseInt(str, 2);

                res.push(z);

            }

         

            return res;

        }

上面的二进制数据是由下面的数据产生的:

1,255,0,1,1,0,0,0,0,0,0,0,0,8,0,0,1,247,15,254,230,127,1,255,1,255,1,1,205,221,3,1,255,1,0,51,71,55,66,55,48,67,65,69,65,52,57,66,54,49,66,48,48,53,70,51,51,51,66,52,68,66,56,50,51,55,66,51,52,54,56,54,53,70,51,66,50,55,56,51,65,51,55,52,68,57,57,1,0,1,1,1,0,1,134,255,53,73,15,1,255,1,0,1,0,1,1,205,221,3,1,0,0,0,0,1,4,5,1,0,4,6,1,1,4,7,1,0,1,0,1,0,1,0,1,0,4,3,1,0,4,8,4,9,4,10,255,1,1,1,48,32,32,32,32,97,116,32,104,116,116,112,58,47,47,49,57,50,46,49,54,56,46,51,46,50,55,47,116,109,47,102,105,114,101,50,50,55,46,106,115,58,51,49,51,53,58,52,54,76,32,32,32,32,97,116,32,72,84,77,76,73,110,112,117,116,69,108,101,109,101,110,116,46,111,110,99,108,105,99,107,32,40,104,116,116,112,58,47,47,49,57,50,46,49,54,56,46,51,46,50,55,47,116,109,47,102,105,114,101,50,50,55,46,104,116,109,108,58,51,57,58,50,48,57,41,4,1,35,1,209,2,0,67,104,114,111,109,101,0,49,49,57,46,48,46,48,46,48,0,0,98,116,110,95,103,101,116,116,111,107,101,110,0,48,46,48,49,43,114,117,110,110,105,110,103,0,45,49,0,91,111,98,106,101,99,116,32,87,105,110,100,111,119,93,0,48,124,48,0,49,124,49,124,49,124,49,124,49,124,49,124,49,124,49,124,49,124,49,124,49,0,110,111,105,100,0,53,115,111,97,119,119,117,103,97,108,101,50,117,118,113,109,103,107,49,104,121,116,0,71,111,111,103,108,101,32,73,110,99,46,32,40,78,86,73,68,73,65,41,0,65,78,71,76,69,32,40,78,86,73,68,73,65,44,32,78,86,73,68,73,65,32,71,101,70,111,114,99,101,32,71,84,88,32,49,48,53,48,32,84,105,32,40,48,120,48,48,48,48,49,67,56,50,41,32,68,105,114,101,99,116,51,68,49,49,32,118,115,95,53,95,48,32,112,115,95,53,95,48,44,32,68,51,68,49,49,41,0,104,116,116,112,58,47,47,49,57,50,46,49,54,56,46,51,46,50,55,47,116,109,47,102,105,114,101,50,50,55,46,104,116,109,108,0,32,61,32,71,32,61,32,91,82,93,44,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0

加密算法如下:位置o=40,li=1349,结束位置li=1187

其中函数参数length=30

function F_1_6_1_1(obj, length) {

            var oe = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00';

            var c = "\0\x01\x02\x03\x04\x05\x06\x07\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff".split("");

            var v = new RegExp("0+$");

            var je = oe.substring(0, length);

            var eo = 0;

            var ce = "";

            var R = 0;

            var W = 0;

            var vo = 1;

            var k;

            var ue = ' ' + c.join("") + ' ';

            for (var We = 0; We < obj.length; We++) {

                var pe = 255 & obj[We];

                eo = 0;

                R = 0;

                eo = ue.indexOf(c[pe], 1);

                k = ue.indexOf(c[pe + 1], 1);

                if (pe == 255) { k = ue.length - 1; }

                R = k;

                k = (pe = vo - W) / ue.length;

                vo = W + (pe = k * R);

                W += pe = k * eo;

                pe = ue.substring(0, R);

                eo = pe + je;

                pe = ue.substring(R);

                ue = eo + pe;

                pe = vo.toString(2);

                eo = pe.substring(2);

                pe = W.toString(2);

                R = pe.substring(2);

                pe = eo.split("");

                k = R.split("");

                R = 0;

                R = pe.findIndex((function anonymous(

                ) {

                    var a = arguments; return this[a[1]] !== a[0];

                }), k);

                pe = eo.substring(0, R);

                ce += pe;

                pe = Math.pow(2, R);

                vo = (eo = vo * pe) - (R = 0 | eo);

                W = (eo = W * pe) - R;

            }

            return ce;

        }

这块数据又可以分为多个部分

1,255,0,1,1,0,0,0,0,0,0,0,0,8,0,0,1,247,15,254,230,127,1,255,1,255,1,1,205,221,3,1,255

另外一部分转换成ascii后变为:

'\x003G7B70CAEA49B61B005F333B4DB8237B346865F3B2783A374D99\x01\x00\x01\x01\x01\x00\x01\x86ÿ5I\x0F\x01ÿ\x01\x00\x01\x00\x01\x01ÍÝ\x03\x01\x00\x00\x00\x00\x01\x04\x05\x01\x00\x04\x06\x01\x01\x04\x07\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x04\x03\x01\x00\x04\b\x04\t\x04\nÿ\x01\x01\x010    at http://192.168.3.27/tm/fire227.js:3135:46L    at HTMLInputElement.onclick (http://192.168.3.27/tm/fire227.html:39:209)\x04\x01#\x01Ñ\x02\x00Chrome\x00119.0.0.0\x00\x00btn_gettoken\x000.01+running\x00-1\x00[object Window]\x000|0\x001|1|1|1|1|1|1|1|1|1|1\x00noid\x005soawwugale2uvqmgk1hyt\x00Google Inc. (NVIDIA)\x00ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 Ti (0x00001C82) Direct3D11 vs_5_0 ps_5_0, D3D11)\x00http://192.168.3.27/tm/fire227.html\x00 = G = [R],\r\n                                                            \x00'

可见这个加密算法提取了一些关键信息,需要改造成真实模拟环境的数据,G7B70CAEA49B61B005F333B4DB8237B346865F3B2783A374D99是从服务器下载的一个token,存在浏览器localstorage中,直接访问服务器获取即可,url信息必须改为淘宝的,还有触发事件也要改成真实环境的。

1,255,0,1,1,0,0,0,0,0,0,0,0,8,0,0,1,247,15,254,230,127,1,255,1,255,1,1,205,221,3,1,255

的分析如下:

2.3 B段分析

2.3.1整体加密

174,2,81,198,251,6,32,27,110,76,226,125,186,251,109,117,97,225,68,33,251,251,108,68,63,63,142,17,54,96,89,69,37,37,209,35,182,90,50,68,11,101,209,116,232,216,1,29,139,76,250,78,222,216,8,21,140,203,252,98,251,249,108,138,95,115,57,82,252,251,109,117,5,95,113,16,2,166,4,26,133,101,143,17,249,248,97,68,63,63,190,33,88,185,107,178,223,37,190,215,2,133,104,178,223,95,136,16,251,249,77,117,127,4,139,11,22,199,164,190,103,95,140,16,245,251,111,117,63,95,142,16,251,251,117,108,95,63,143,25,148,194,25,7,139,75,254,116,251,247,108,116,63,63,142,16,122,56,77,84,35,75,250,49,136,160,32,56,167,13,237,100,210,194,3,0,228,76,174,57,200,224,25,4,102,5,161,32,106,92,67,69,229,38,160,34,84,92,90,91,173,204,161,119,202,220,8,70,101,6,160,123,222,108,95,68,70,197,180,35,100,74,108,116,63,95,2,69,217,250,125,117,63,95,113,16,249,251,108,117,127,63,93,17,34,249,137,109,63,191,143,17,249,249,111,116,191,95,113,16,0,2,108,116,191,255,143,16,0,6,108,116,95,63,143,17,251,249,108,116,191,159,143,17,0,8,105,125,191,96,113,16,249,251,109,103,62,139,143,238,251,249,108,127

分成3部分

第一部分174,2是字符长度为参数运算的结果,此处的长度为300运算方法上面已经提到。

第二部分81,198,是

第三部分如下:

251,6,32,27,110,76,226,125,186,251,109,117,97,225,68,33,251,251,108,68,63,63,142,17,54,96,89,69,37,37,209,35,182,90,50,68,11,101,209,116,232,216,1,29,139,76,250,78,222,216,8,21,140,203,252,98,251,249,108,138,95,115,57,82,252,251,109,117,5,95,113,16,2,166,4,26,133,101,143,17,249,248,97,68,63,63,190,33,88,185,107,178,223,37,190,215,2,133,104,178,223,95,136,16,251,249,77,117,127,4,139,11,22,199,164,190,103,95,140,16,245,251,111,117,63,95,142,16,251,251,117,108,95,63,143,25,148,194,25,7,139,75,254,116,251,247,108,116,63,63,142,16,122,56,77,84,35,75,250,49,136,160,32,56,167,13,237,100,210,194,3,0,228,76,174,57,200,224,25,4,102,5,161,32,106,92,67,69,229,38,160,34,84,92,90,91,173,204,161,119,202,220,8,70,101,6,160,123,222,108,95,68,70,197,180,35,100,74,108,116,63,95,2,69,217,250,125,117,63,95,113,16,249,251,108,117,127,63,93,17,34,249,137,109,63,191,143,17,249,249,111,116,191,95,113,16,0,2,108,116,191,255,143,16,0,6,108,116,95,63,143,17,251,249,108,116,191,159,143,17,0,8,105,125,191,96,113,16,249,251,109,103,62,139,143,238,251,249,108,127

是由下面的字符串加密后得来的,加密算法如下:开始位置o=40,li=3170,结束位置15680

1,7,77,111,122,105,108,108,97,1,0,1,18,22,202,48,1,1,1,48,0,0,0,0,31,52,52,49,48,48,95,50,95,49,95,48,95,50,95,101,120,112,108,105,99,105,116,95,115,112,101,97,107,101,114,115,1,0,1,254,1,162,183,67,130,1,0,1,47,1,255,1,5,87,105,110,51,50,1,0,0,128,12,48,0,0,48,48,48,224,6,198,5,48,48,198,5,198,5,198,5,1,6,1,1,0,32,1,2,39,5,26,15,231,201,202,66,1,2,1,254,1,2,1,0,1,0,1,1,1,24,24,1,0,1,8,78,101,116,115,99,97,112,101,1,255,1,0,0,0,0,1,65,32,32,32,32,97,116,32,72,84,77,76,68,111,99,117,109,101,110,116,46,105,32,40,104,116,116,112,58,47,47,49,57,50,46,49,54,56,46,51,46,50,55,47,116,109,47,102,105,114,101,50,50,55,46,106,115,58,50,48,57,53,58,50,54,41,1,0,0,1,140,84,240,129,16,1,0,1,255,1,0,1,1,1,2,0,211,0,21,0,228,25,0,4,1,0,0,0,2,0,4,1,255,1,4,5,1,0,4,6,1,1,4,7,1,0,1,0,1,0,1,0,1,0,4,3,1,0,4,8,4,9,4,10,255,1,0,1,0,19,248,99,1,255,1,0,1,11

上面是本地文件调试的结果,下面是真实环境调试的结果:

1,7,77,111,122,105,108,108,97,1,0,1,18,22,202,48,1,1,1,48,15,247,36,241,31,52,56,48,48,48,95,50,95,49,95,48,95,50,95,101,120,112,108,105,99,105,116,95,115,112,101,97,107,101,114,115,1,0,1,254,1,14,93,241,192,1,0,1,47,1,254,1,5,87,105,110,51,50,1,0,0,128,12,220,8,0,0,220,8,220,8,220,8,224,6,160,4,48,48,160,4,160,4,160,4,1,6,1,1,0,56,1,2,39,5,26,15,231,201,202,66,1,2,1,255,1,2,1,0,1,0,1,1,1,24,24,1,0,1,8,78,101,116,115,99,97,112,101,1,254,1,0,0,0,0,1,0,1,0,0,1,140,94,151,242,184,1,0,1,0,1,0,1,0,100,1,1,1,2,212,0,210,1,0,243,27,0,5,1,255,1,4,6,1,0,4,7,1,1,4,8,1,0,1,0,1,0,1,0,1,0,4,3,1,0,4,9,4,10,4,11,255,1,0,1,0,19,202,8,1,254,1,0,1,12

加密算法如下:

function B1(k) {

            var W = [];

            var C = Math.ceil(k.length / 2);

            for (var U = 0; U < C; U++) {

                var f = 2 * U,

                    m = 2 + (j = 2 * U),

                    j = k.slice(f, m);

                f = (x = (f = 4 * S) + (m = U % 4)) % 4;

                switch (f) {

                    case 0:

                        {

                            var x = void 0,

                                y = j,

                                B = [],

                                E = 4,

                                M = 7,

                                ee = 0,

                                V = y[ee] - E,

                                V = 255 & (J = (re = (J = 255 & V) >> (V = M)) + (V = J << (ke = 8 - V)));

                            B.push(V);

                            ee++;

                            V = y[ee] - E,

                                V = 255 & (J = (re = (J = 255 & V) >> (V = M)) + (V = J << (ke = 8 - V)));

                            B.push(V);

                            y = x = B,

                                W = W.concat(y);

                            break;

                        }

                    case 1:

                        {

                            var x = void 0,

                                E = "mtW",

                                y = j,

                                B = [],

                                M = 0;

                            V = y[0],

                                J = E.charCodeAt(M),

                                V ^= J,

                                J = 255 & V,

                                B.push(J),

                                M++,

                                V = y[1],

                                J = E.charCodeAt(M),

                                V ^= J,

                                J = 255 & V,

                                B.push(J);

                            y = x = B,

                                W = W.concat(y);

                            break;

                        }

                    case 2:

                        {

                            var x = void 0,

                                y = j,

                                B = [],

                                E = 7,

                                M = 3,

                                ee = 0,

                                V = y[ee] - E,

                                V = 255 & (J = (re = (J = 255 & V) >> (V = M)) + (V = J << (ke = 8 - V)));

                            B.push(V);

                            ee++;

                            V = y[ee] - E,

                                V = 255 & (J = (re = (J = 255 & V) >> (V = M)) + (V = J << (ke = 8 - V)));

                            B.push(V);

                            y = x = B,

                                W = W.concat(y);

                            break;

                        }

                    case 3:

                        {

                            var f = void 0,

                                x = j,

                                y = [],

                                E = 6,

                                M = 3,

                                ee = B = 246,

                                B = 0,

                                ee = (V = 240 & (J = (V = ee << E) ^ ee)) + (J = ee >> M);

                            V = x[B] ^ ee;

                            J = 255 & V;

                            y.push(J);

                            B++;

                            ee = (V = 240 & (J = (V = ee << E) ^ ee)) + (J = ee >> M),

                                V = x[B] ^ ee,

                                J = 255 & V,

                                y.push(J);

                            x = f = y,

                                W = W.concat(x);

                            break;

                        }

                }

            }

            if (W.length > k.length) W.pop();

            return W;

        }

2.3.2 属性window.navigator.appCodeName

上段字符中的7,77,111,122,105,108,108,97解释如下:

取出window.navigator.appCodeName属性值,然后字符转ascii码,编码位置在o=40,li=19621

window.navigator.appCodeName = "Mozilla";

        oe = "Mozilla";

pe=[];

pe.push(1);1开头,写死

pe.push(oe.length);

        for (var K = 0; k < pe.length; k++) {

            G = 255 & oe.charCodeAt(K),

                pe.push(G),

}

pe.push(1);该属性以1结尾,写死

pe = document["hasfocus"],

                        R = void 0 === pe,//调试状态下R=false。后面根据测试情况看看是否需要改成true,手动改成tue,运行T=255,在代码中写alert(R),非调试模式下依旧为false。

这一小段的结果是 1,7,77,111,122,105,108,108,97,1

2.3.3 属性getComputedStyle

取window["getComputedStyle"](document.body)属性值

T= "accent-coloralign-contentalign-itemsalign-selfalignment-baselineanimation-compositionanimation-delayanimation-directionanimation-durationanimation-fill-modeanimation-iteration-countanimation-nameanimation-play-stateanimation-range-endanimation-range-startanimation-timelineanimation-timing-functionapp-regionappearancebackdrop-filterbackface-visibilitybackground-attachmentbackground-blend-modebackground-clipbackground-colorbackground-imagebackground-originbackground-positionbackground-repeatbackground-sizebaseline-shiftbaseline-sourceblock-sizeborder-block-end-colorborder-block-end-styleborder-block-end-widthborder-block-start-colorborder-block-start-styleborder-block-start-widthborder-bottom-colorborder-bottom-left-radiusborder-bottom-right-radiusborder-bottom-styleborder-bottom-widthborder-collapseborder-end-end-radiusborder-end-start-radiusborder-image-outsetborder-image-repeatborder-image-sliceborder-image-sourceborder-image-widthborder-inline-end-colorborder-inline-end-styleborder-inline-end-widthborder-inline-start-colorborder-inline-start-styleborder-inline-start-widthborder-left-colorborder-left-styleborder-left-widthborder-right-colorborder-right-styleborder-right-widthborder-start-end-radiusborder-start-start-radiusborder-top-colorborder-top-left-radiusborder-top-right-radiusborder-top-styleborder-top-widthbottombox-shadowbox-sizingbreak-afterbreak-beforebreak-insidebuffered-renderingcaption-sidecaret-colorclearclipclip-pathclip-rulecolorcolor-interpolationcolor-interpolation-filterscolor-renderingcolumn-countcolumn-gapcolumn-rule-colorcolumn-rule-stylecolumn-rule-widthcolumn-spancolumn-widthcontain-intrinsic-block-sizecontain-intrinsic-heightcontain-intrinsic-inline-sizecontain-intrinsic-sizecontain-intrinsic-widthcontainer-namecontainer-typecontentcursorcxcyddirectiondisplaydominant-baselineempty-cellsfillfill-opacityfill-rulefilterflex-basisflex-directionflex-growflex-shrinkflex-wrapfloatflood-colorflood-opacityfont-familyfont-kerningfont-optical-sizingfont-palettefont-sizefont-stretchfont-stylefont-synthesis-small-capsfont-synthesis-stylefont-synthesis-weightfont-variantfont-variant-alternatesfont-variant-capsfont-variant-east-asianfont-variant-ligaturesfont-variant-numericfont-variant-positionfont-weightgrid-auto-columnsgrid-auto-flowgrid-auto-rowsgrid-column-endgrid-column-startgrid-row-endgrid-row-startgrid-template-areasgrid-template-columnsgrid-template-rowsheighthyphenate-characterhyphenate-limit-charshyphensimage-orientationimage-renderinginitial-letterinline-sizeinset-block-endinset-block-startinset-inline-endinset-inline-startisolationjustify-contentjustify-itemsjustify-selfleftletter-spacinglighting-colorline-breakline-heightlist-style-imagelist-style-positionlist-style-typemargin-block-endmargin-block-startmargin-bottommargin-inline-endmargin-inline-startmargin-leftmargin-rightmargin-topmarker-endmarker-midmarker-startmask-typemath-depthmath-shiftmath-stylemax-block-sizemax-heightmax-inline-sizemax-widthmin-block-sizemin-heightmin-inline-sizemin-widthmix-blend-modeobject-fitobject-positionobject-view-boxoffset-anchoroffset-distanceoffset-pathoffset-positionoffset-rotateopacityorderorphansoutline-coloroutline-offsetoutline-styleoutline-widthoverflow-anchoroverflow-clip-marginoverflow-wrapoverflow-xoverflow-yoverlayoverscroll-behavior-blockoverscroll-behavior-inlinepadding-block-endpadding-block-startpadding-bottompadding-inline-endpadding-inline-startpadding-leftpadding-rightpadding-toppaint-orderperspectiveperspective-originpointer-eventspositionrresizerightrotaterow-gapruby-positionrxryscalescroll-behaviorscroll-margin-block-endscroll-margin-block-startscroll-margin-inline-endscroll-margin-inline-startscroll-padding-block-endscroll-padding-block-startscroll-padding-inline-endscroll-padding-inline-startscroll-timeline-axisscroll-timeline-namescrollbar-guttershape-image-thresholdshape-marginshape-outsideshape-renderingspeakstop-colorstop-opacitystrokestroke-dasharraystroke-dashoffsetstroke-linecapstroke-linejoinstroke-miterlimitstroke-opacitystroke-widthtab-sizetable-layouttext-aligntext-align-lasttext-anchortext-decorationtext-decoration-colortext-decoration-linetext-decoration-skip-inktext-decoration-styletext-emphasis-colortext-emphasis-positiontext-emphasis-styletext-indenttext-overflowtext-renderingtext-shadowtext-size-adjusttext-transformtext-underline-positiontext-wraptimeline-scopetoptouch-actiontransformtransform-origintransform-styletransition-behaviortransition-delaytransition-durationtransition-propertytransition-timing-functiontranslateunicode-bidiuser-selectvector-effectvertical-alignview-timeline-axisview-timeline-insetview-timeline-nameview-transition-namevisibilitywhite-space-collapsewidowswidthwill-changeword-breakword-spacingwriting-modexyz-indexzoom-webkit-border-horizontal-spacing-webkit-border-image-webkit-border-vertical-spacing-webkit-box-align-webkit-box-decoration-break-webkit-box-direction-webkit-box-flex-webkit-box-ordinal-group-webkit-box-orient-webkit-box-pack-webkit-box-reflect-webkit-font-smoothing-webkit-line-break-webkit-line-clamp-webkit-locale-webkit-mask-box-image-webkit-mask-box-image-outset-webkit-mask-box-image-repeat-webkit-mask-box-image-slice-webkit-mask-box-image-source-webkit-mask-box-image-width-webkit-mask-clip-webkit-mask-composite-webkit-mask-image-webkit-mask-origin-webkit-mask-position-webkit-mask-repeat-webkit-mask-size-webkit-print-color-adjust-webkit-rtl-ordering-webkit-tap-highlight-color-webkit-text-combine-webkit-text-decorations-in-effect-webkit-text-fill-color-webkit-text-orientation-webkit-text-security-webkit-text-stroke-color-webkit-text-stroke-width-webkit-user-drag-webkit-user-modify-webkit-writing-mode";

var de = T.length / 40,

                R = 0 | de,

                pe = R,

                T = 0,

                K = oe.length;

            for (R = 0; R < K; R += pe)

            {

               

                   T = 0 | (G = 31 * T),

                        G = oe.charCodeAt(R),

                        T += G;

            }
因为上面的字符串固定,所以得到的最终结果T= 303483440也是固定的,可以考虑写死以减轻无谓的计算量。取得上述数值后,
R = T,
                        T = [1],//写死,
                        oe = 255 & (pe = R >> 24),
                        K = 255 & (pe = R >> 16),
                        G = 255 & (pe = R >> 8),
pe = 255 &R,
                        T.push(oe, K, G, pe),数组T中四个数值都是根据303483440计算来的,因此数值也是固定的,[1,18,22,202,48],在这个数组前面再加0,[0,1,18,22,202,48]构成与上一个属性的分割,这个属性就结束了。
太变态了,为了得到一个“toString”字符串,居然要这样做
r.push(4, 3071828176897, 2, 1),
                        i(14, 2, -1),
                        uo = r.pop(),
[0,1,18,22,202,48]就是这以小段的最终结果。
 
 

2.3.4 真实环境和本地调试环境产生的数据对比

真实环境下调试的环境数据

De='["2023-12-12T15:14:25.595Z",-406205886,255,[[4,3572,0]],null,[60],"z2sgqqskqjaegn78s6lo7w",null,255,1585723568,null,0,null,[["G688D205BE44AFB11774B1C1B45C91FCD975A16D1FE5DAB5A72",0,"cn"]],0,null,0,null,[6,7,2,3,5,8,9,10,11,12,13,14],0,null,null,"","-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,-Infinity,",3858,{},["Google Inc. (NVIDIA)","ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 Ti (0x00001C82) Direct3D11 vs_5_0 ps_5_0, D3D11)","","bx-feedback-btn","nc_1__scale_text","nc_1_n1z","Chrome","119.0.0.0","0.01+running","691942302","[object Window]","0|0","1|1|1|1|1|1|1|1|1|1|1","noid","z2sgqqskqjaegn78s6lo7w"],-1,0,null,0,1,2,null,null,"2023-12-12T15:14:25.595Z",0,null,1,null,"2023-12-12T15:14:25.595Z",null,0,"0.01+running",null,null,59,null,[0,0,1,140,94,151,242,184],null,1,0,1,null,{},[1,0,0,0,0,0,0,0,0,8,0,0,1,247,15,254,230,127],{"cn":1},[],0,100,0,null,0,null,7,false,null,null,null,1,"48000_2_1_0_2_explicit_speakers",1,[],null,600121852722,2,1,[2,2,2,2],0,null,0,1,56,0,1,null,654645775,null,0,98,[[460,null,433,null,null,5,null,null,242,null,433,460,2330,null,240,1587018528,null,242],[310,null,281,null,null,5,null,null,0,null,281,310,2338,null,2,1587018714,null,0],[306,null,242,null,null,5,null,null,0,null,242,306,2346,null,2,1587018722,null,0],[301,null,212,null,null,5,null,null,1,null,212,301,2354,null,2,1587018731,null,1],[420,null,49,null,null,5,null,null,140,null,49,420,2362,null,143,1587018622,null,140],[379,null,245,null,null,5,null,null,94,null,245,379,2370,null,92,1587018660,null,94],[439,null,10,null,null,5,null,null,151,null,10,439,2378,null,149,1587018901,null,151],[494,null,99,null,null,5,null,null,242,null,99,494,2386,null,240,1587019000,null,242],[283,null,136,null,null,5,null,null,1,null,136,283,2396,null,3,1587018773,null,1],[278,null,133,null,null,5,null,null,0,null,133,278,2402,null,2,1587018778,null,0],[408,null,13,null,null,5,null,null,140,null,13,408,2411,null,142,1587018927,null,140],[412,null,240,null,null,5,null,null,140,null,240,412,2418,null,142,1587018918,null,140],[509,null,139,null,null,5,null,null,242,null,139,509,2428,null,240,1587018950,null,242],[409,null,224,null,null,5,null,null,151,null,224,409,2434,null,149,1587018925,null,151],[268,null,117,null,null,5,null,null,0,null,117,268,2444,null,2,1587018820,null,0],[266,null,113,null,null,5,null,null,0,null,113,266,2450,null,2,1587018826,null,0],[390,null,252,null,null,5,null,null,140,null,252,390,2460,null,142,1587018968,null,140],[264,null,110,null,null,5,null,null,1,null,110,264,2466,null,3,1587018843,null,1],[262,null,109,null,null,5,null,null,1,null,109,262,2473,null,3,1587018848,null,1],[344,null,53,null,null,5,null,null,94,null,53,344,2482,null,92,1587018804,null,94],[401,null,254,null,null,5,null,null,151,null,254,401,2490,null,149,1587018981,null,151],[503,null,155,null,null,5,null,null,242,null,155,503,2498,null,240,1587018888,null,242],[259,null,101,null,null,5,null,null,0,null,101,259,2506,null,2,1587018882,null,0],[258,null,101,null,null,5,null,null,0,null,101,258,2514,null,2,1587018890,null,0],[259,null,98,null,null,5,null,null,1,null,98,259,2522,null,3,1587018899,null,1],[397,null,236,null,null,5,null,null,140,null,236,397,2530,null,142,1587018774,null,140],[161,null,0,null,null,5,null,null,94,null,0,161,2538,null,92,1587019004,null,94],[105,null,202,null,null,5,null,null,151,null,202,105,2546,null,149,1587018813,null,151],[12,null,174,null,null,5,null,null,242,null,174,12,2554,null,240,1587018816,null,242],[252,null,90,null,null,5,null,null,0,null,90,252,2562,null,2,1587018938,null,0],[252,null,89,null,null,5,null,null,0,null,89,252,2570,null,2,1587018946,null,0],[250,null,88,null,null,5,null,null,1,null,88,250,2578,null,3,1587018955,null,1],[164,null,6,null,null,5,null,null,94,null,6,164,2594,null,92,1587018884,null,94],[109,null,192,null,null,5,null,null,151,null,192,109,2602,null,149,1587018869,null,151],[249,null,87,null,null,5,null,null,0,null,87,249,2611,null,2,1587018987,null,0],[247,null,86,null,null,5,null,null,1,null,86,247,2627,null,3,1587019002,null,1],[247,null,87,null,null,5,null,null,1,null,87,247,2634,null,3,1587019011,null,1],[0,null,164,null,null,5,null,null,242,null,164,0,2645,null,240,1587019263,null,242],[175,null,11,null,null,5,null,null,94,null,11,175,2650,null,92,1587019084,null,94],[238,null,84,null,null,5,null,null,0,null,84,238,2660,null,2,1587019036,null,0],[30,null,166,null,null,5,null,null,242,null,166,30,2666,null,240,1587019216,null,242],[234,null,84,null,null,5,null,null,0,null,84,234,2674,null,2,1587019050,null,0],[231,null,84,null,null,5,null,null,0,null,84,231,2682,null,2,1587019058,null,0],[230,null,83,null,null,5,null,null,0,null,83,230,2689,null,2,1587019065,null,0],[105,null,223,null,null,5,null,null,140,null,223,105,2698,null,142,1587019214,null,140],[186,null,13,null,null,5,null,null,94,null,13,186,2706,null,90,1587019028,null,94],[227,null,83,null,null,5,null,null,0,null,83,227,2787,null,4,1587019163,null,0],[226,null,84,null,null,5,null,null,0,null,84,226,2794,null,4,1587019170,null,0],[225,null,84,null,null,5,null,null,0,null,84,225,3122,null,5,1587019498,null,0],[222,null,84,null,null,5,null,null,0,null,84,222,3130,null,5,1587019506,null,0],[221,null,85,null,null,5,null,null,1,null,85,221,3138,null,4,1587019515,null,1],[86,null,217,null,null,5,null,null,140,null,217,86,3146,null,137,1587019662,null,140],[78,null,194,null,null,5,null,null,151,null,194,78,3162,null,146,1587019653,null,151],[42,null,167,null,null,5,null,null,242,null,167,42,3170,null,247,1587019752,null,242],[215,null,85,null,null,5,null,null,0,null,85,215,3178,null,5,1587019554,null,0],[90,null,217,null,null,5,null,null,140,null,217,90,3202,null,137,1587019702,null,140],[66,null,194,null,null,5,null,null,151,null,194,66,3218,null,146,1587019741,null,151],[213,null,84,null,null,5,null,null,1,null,84,213,3229,null,4,1587019604,null,1],[211,null,85,null,null,5,null,null,0,null,85,211,3242,null,5,1587019618,null,0],[211,null,85,null,null,5,null,null,1,null,85,211,3250,null,4,1587019627,null,1],[null,null,84,null,null,3,0,null,null,null,null,210,3571,null,5,null,0],[85,null,1,null,null,5,null,null,140,null,1,85,3573,null,142,1587019809,null,140],[218,null,149,null,null,5,null,null,0,null,149,218,3578,null,5,1587019954,null,0],[219,null,156,null,null,5,null,null,1,null,156,219,3586,null,4,1587019963,null,1],[133,null,253,null,null,5,null,null,94,null,253,133,3595,null,91,1587019933,null,94],[133,null,245,null,null,5,null,null,94,null,245,133,3602,null,91,1587019924,null,94],[76,null,38,null,null,5,null,null,151,null,38,76,3610,null,146,1587019845,null,151],[41,null,69,null,null,5,null,null,242,null,69,41,3618,null,247,1587019816,null,242],[87,null,48,null,null,5,null,null,140,null,48,87,3629,null,137,1587019881,null,140],[219,null,194,null,null,5,null,null,0,null,194,219,3634,null,5,1587020010,null,0],[218,null,201,null,null,5,null,null,1,null,201,218,3642,null,4,1587020019,null,1],[87,null,64,null,null,5,null,null,140,null,64,87,3650,null,137,1587019894,null,140],[133,null,143,null,null,5,null,null,94,null,143,133,3658,null,91,1587020124,null,94],[76,null,66,null,null,5,null,null,151,null,66,76,3666,null,146,1587020189,null,151],[76,null,76,null,null,5,null,null,151,null,76,76,3673,null,146,1587020166,null,151],[219,null,225,null,null,5,null,null,0,null,225,219,3682,null,5,1587020058,null,0],[219,null,231,null,null,5,null,null,0,null,231,219,3689,null,5,1587020065,null,0],[219,null,237,null,null,5,null,null,0,null,237,219,3697,null,5,1587020073,null,0],[218,null,244,null,null,5,null,null,1,null,244,218,3705,null,4,1587020080,null,1],[87,null,113,null,null,5,null,null,140,null,113,87,3713,null,137,1587020213,null,140],[133,null,347,null,null,5,null,null,94,null,347,133,3721,null,91,1587020063,null,94],[41,null,504,null,null,5,null,null,242,null,504,41,3730,null,247,1587020216,null,242],[219,null,274,null,null,5,null,null,0,null,274,219,3738,null,5,1587020114,null,0],[219,null,279,null,null,5,null,null,0,null,279,219,3746,null,5,1587020122,null,0],[218,null,282,null,null,5,null,null,1,null,282,218,3754,null,4,1587020131,null,1],[87,null,428,null,null,5,null,null,140,null,428,87,3762,null,137,1587020262,null,140],[133,null,380,null,null,5,null,null,94,null,380,133,3770,null,91,1587020076,null,94],[133,null,376,null,null,5,null,null,94,null,376,133,3777,null,91,1587020071,null,94],[76,null,446,null,null,5,null,null,151,null,446,76,3785,null,146,1587020054,null,151],[219,null,301,null,null,5,null,null,0,null,301,219,3795,null,5,1587020171,null,0],[219,null,305,null,null,5,null,null,0,null,305,219,3801,null,5,1587020177,null,0],[219,null,312,null,null,5,null,null,0,null,312,219,3809,null,5,1587020185,null,0],[218,null,316,null,null,5,null,null,1,null,316,218,3817,null,4,1587020192,null,1],[41,null,432,null,null,5,null,null,242,null,432,41,3828,null,247,1587020126,null,242],[133,null,278,null,null,5,null,null,94,null,278,133,3833,null,91,1587020271,null,94],[76,null,473,null,null,5,null,null,151,null,473,76,3841,null,146,1587020078,null,151],[41,null,419,null,null,5,null,null,242,null,419,41,3849,null,247,1587020083,null,242],[219,null,341,null,null,5,null,null,0,null,341,219,3858,null,5,1587020234,null,0]],691942302,6,1702394065592,0,0,0]'

本地js文件调试的环境数据

De='["2023-12-12T17:35:17.698Z",null,255,[[233,1371,235]],null,[43,45],"oe6r0gyupt9tdilcmcr9p",null,254,1594561055,null,0,null,[["GAFC04ACD132CF0952B03F34FE7AC5DD9C933952CECD21D15AF",0,"cn"]],0,null,0,null,[],0,1,null,"",null,1371,{},["Google Inc. (NVIDIA)","ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 Ti (0x00001C82) Direct3D11 vs_5_0 ps_5_0, D3D11)","","btn_gettoken"],-1,null,"    at HTMLDocument.i (http://192.168.3.27/tm/fire227.js:2096:26)",0,1,2,null,null,"2023-12-12T17:35:17.699Z",1,null,1,null,"2023-12-12T17:35:17.699Z",null,0,"0.01+running",null,null,45,null,[0,0,1,140,95,24,234,189],null,1,0,null,null,{},[1,0,0,0,0,0,0,0,0,8,0,0,1,247,15,254,230,127],{"cn":1},[],0,null,0,null,0,null,null,false,null,null,null,null,"48000_2_1_0_2_explicit_speakers",1,[],null,-1,2,1,[2,2,2,2],0,null,0,1,null,0,null,null,null,null,0,46,[[2,null,39,null,null,5,null,null,140,null,39,2,752,null,142,1595469089,null,140],[6,null,38,null,null,5,null,null,140,null,38,6,759,null,142,1595469112,null,140],[219,null,248,null,null,5,null,null,95,null,248,219,767,null,93,1595469283,null,95],[102,null,187,null,null,5,null,null,24,null,187,102,775,null,26,1595469276,null,24],[157,null,74,null,null,5,null,null,234,null,74,157,783,null,232,1595469094,null,234],[113,null,153,null,null,5,null,null,0,null,153,113,791,null,2,1595469268,null,0],[106,null,148,null,null,5,null,null,0,null,148,106,799,null,2,1595469276,null,0],[103,null,145,null,null,5,null,null,1,null,145,103,807,null,3,1595469285,null,1],[236,null,0,null,null,5,null,null,140,null,0,236,815,null,142,1595469152,null,140],[1,null,215,null,null,5,null,null,95,null,215,1,823,null,93,1595469227,null,95],[66,null,156,null,null,5,null,null,24,null,156,66,831,null,26,1595469284,null,24],[188,null,104,null,null,5,null,null,234,null,104,188,839,null,232,1595469550,null,234],[82,null,126,null,null,5,null,null,0,null,126,82,847,null,2,1595469324,null,0],[78,null,124,null,null,5,null,null,0,null,124,78,855,null,2,1595469332,null,0],[77,null,122,null,null,5,null,null,1,null,122,77,863,null,3,1595469341,null,1],[196,null,244,null,null,5,null,null,140,null,244,196,871,null,142,1595469480,null,140],[25,null,41,null,null,5,null,null,95,null,41,25,879,null,93,1595469427,null,95],[92,null,107,null,null,5,null,null,24,null,107,92,887,null,26,1595469356,null,24],[171,null,133,null,null,5,null,null,234,null,133,171,895,null,232,1595469526,null,234],[62,null,109,null,null,5,null,null,0,null,109,62,903,null,2,1595469380,null,0],[58,null,104,null,null,5,null,null,1,null,104,58,912,null,3,1595469388,null,1],[59,null,105,null,null,5,null,null,1,null,105,59,919,null,3,1595469397,null,1],[56,null,105,null,null,5,null,null,1,null,105,56,926,null,3,1595469402,null,1],[180,null,234,null,null,5,null,null,140,null,234,180,934,null,142,1595469551,null,140],[104,null,58,null,null,5,null,null,95,null,58,104,942,null,93,1595469364,null,95],[220,null,142,null,null,5,null,null,234,null,142,220,951,null,232,1595469470,null,234],[222,null,137,null,null,5,null,null,234,null,137,222,958,null,232,1595469457,null,234],[50,null,97,null,null,5,null,null,0,null,97,50,966,null,2,1595469443,null,0],[49,null,96,null,null,5,null,null,0,null,96,49,974,null,2,1595469451,null,0],[49,null,97,null,null,5,null,null,1,null,97,49,982,null,3,1595469458,null,1],[162,null,211,null,null,5,null,null,140,null,211,162,990,null,142,1595469335,null,140],[115,null,0,null,null,5,null,null,95,null,0,115,998,null,93,1595469564,null,95],[49,null,69,null,null,5,null,null,24,null,69,49,1006,null,26,1595469491,null,24],[194,null,183,null,null,5,null,null,234,null,183,194,1014,null,232,1595469401,null,234],[38,null,93,null,null,5,null,null,0,null,93,38,1022,null,2,1595469499,null,0],[36,null,92,null,null,5,null,null,0,null,92,36,1030,null,2,1595469507,null,0],[34,null,93,null,null,5,null,null,1,null,93,34,1038,null,3,1595469514,null,1],[174,null,208,null,null,5,null,null,140,null,208,174,1046,null,142,1595469407,null,140],[57,null,68,null,null,5,null,null,24,null,68,57,1055,null,26,1595469508,null,24],[7,null,68,null,null,5,null,null,24,null,68,7,1062,null,26,1595469563,null,24],[30,null,92,null,null,5,null,null,0,null,92,30,1071,null,3,1595469548,null,0],[28,null,93,null,null,5,null,null,1,null,93,28,1087,null,2,1595469565,null,1],[29,null,93,null,null,5,null,null,1,null,93,29,1094,null,2,1595469570,null,1],[null,null,68,null,null,0,24,null,null,null,null,4,1370,null,27,null,24],[246,null,182,null,null,5,null,null,234,null,182,246,1371,null,233,1595470066,null,234],[null,null,3,null,null,2,95,null,null,null,null,67,1390,null,92,null,95]],-1,null,1702402517693,0,0,0]'

在上述两个环境下de[50]=1,de[43]= "0.01+running"

T = [],

                        R = 0 | de[50],

                        T.push(R),

                        R = de[43] | uo,

                        pe = void 0,

                        oe = R,

                        oe += uo,

2.3.5属性audio

开始位置o=40,li=19044 以1开头,这个是写死的,然后是处理字符串“0”,写入字符串“0”的长度,此处是1,接着写入字符串的ascii码,此处是48,结果为T=[1,1,48],接着T.push(0, 0, 0, 0),此时的T=[1,1,48, 0, 0, 0, 0]

可以把这个值"48000_2_1_0_2_explicit_speakers"写死。

进行如下的运算:开始位置o=40,li=24194,结束位置o=40,li=24707

pe = "48000_2_1_0_2_explicit_speakers";

            var de = [];

            for (var oe = 0; oe < pe.length; oe++)

            {

                var K = pe.charCodeAt(oe);

                de.push(255 & K);

           }

运行完的结果如下:

[52,56,48,48,48,95,50,95,49,95,48,95,50,95,101,120,112,108,105,99,105,116,95,115,112,101,97,107,101,114,115]

把这个数组的长度31 push到T数组,T=[1,1,48, 0, 0, 0, 0,31],接着把[52,56,48,48,48,95,50,95,49,95,48,95,50,95,101,120,112,108,105,99,105,116,95,115,112,101,97,107,101,114,115]追加到T中,数组T变成了

[1,1,48,0,0,0,0,31,52,56,48,48,48,95,50,95,49,95,48,95,50,95,101,120,112,108,105,99,105,116,95,115,112,101,97,107,101,114,115],后面再push数字1,这一小段结束[1,1,48,0,0,0,0,31,52,56,48,48,48,95,50,95,49,95,48,95,50,95,101,120,112,108,105,99,105,116,95,115,112,101,97,107,101,114,115,1]

有一个97长度的Array数组,存放了一些环境变量,已经在2.3.4中贴出来了,这个数字长度不变,命名为array97,接下来取array[88],根据这个数据进行了跳转

li = array97[88] ? 20130 : 5504,调试环境下此处为0,故跳转到了li=5504处,需要明白该数字的含义。

接下来T.push(1), T = T.concat(de),其中de=[0],这个0不是写死的,此处暂且写死,后面再研究。接下来根据array97[96]处的数字进行了跳转。

这一小段的最终结果为

[1,1,48,0,0,0,0,31,52,56,48,48,48,95,50,95,49,95,48,95,50,95,101,120,112,108,105,99,105,116,95,115,112,101,97,107,101,114,115,1,0]

2.3.6 属性window.navigator.platform

R= window.navigator.platform= 'Win32',Win32的 asci码是87,105,110,51,50

反爬虫监测window.navigator["webdriver"]=false ,无爬虫。

新建数组写入[1,254,1],接着写入字符串“win32”的长度5和ascii码值[1,254,1,5, 87,105,110,51,50]

2.3.7 属性WebGLRenderingContext

2.3.8 快速方法

通过比较多个本段数据,可以发现只有很少几处是变化的,只修改变化的这几部分

[1,7,77,111,122,105,108,108,97,1,0,1,18,22,202,48,1,1,1,48,0,0,0,0,31,52,56,48,48,48,95,50,95,49,95,48,95,50,95,101,120,112,108,105,99,105,116,95,115,112,101,97,107,101,114,115,1,0,1,254,1, 14,93,241,192,1,0,1,47,1,254,1,5,87,105,110,51,50,1,0,0,128,12,220,8,0,0,220,8,220,8,220,8,224,6,160,4,48,48,160,4,160,4,160,4,1,6,1,1,0,56,1,2,39,5,26,15,231,201,202,66,1,2,1,255,1,2,1,0,1,0,1,1,1,24,24,1,0,1,8,78,101,116,115,99,97,112,101,1,254,1,0,0,0,0,1,0,1]

[0,0,1,140,101,182,102,109]这8位是加载时间,算法如下:位置在o=30 li=8644,这个位置也是配置array97数组的开始

var oo = +new Date(),

                oo = 1702524286995,

                Te = 0 | (Co = (Ao = oo) / (oo = 4294967296)),

                oo = Ao - (Co = Te * oo),

                Ao = void 0,

                Co = Te,

                Te = [],

                ve = 255 & (Pe = Co >> 24),

                Q = 255 & (Pe = Co >> 16),

                le = 255 & (Pe = Co >> 8),

                Pe = 255 & Co;

            Te.push(ve, Q, le, Pe);

            Co = Ao = Te,

                Ao = void 0,

                Te = oo,

                oo = [],

                ve = 255 & (Pe = Te >> 24),

                Pe = Te >> 16,

                Q = 255 & Pe,

                le = 255 & (Pe = Te >> 8),

                Pe = 255 & Te;

                oo.push(ve, Q, le, Pe);

            oo = Ao = oo,

                Ao = Co.concat(oo);

                  return Ao;

        }

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
要在Android App中接入HTML5滑块验证,你需要进行以下步骤: 1. 在Android App中嵌入WebView组件用于加载HTML5页面。 2. 在HTML5页面中引入阿里滑块验证码的JS SDK,并初始化验证码。 3. 在Android App中实现WebView的相关回调方法,以便在WebView中与JS交互。 下面是一个简单的实现示例: 1. 在布局文件中添加WebView组件 ``` <WebView android:id="@+id/web_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. 在Activity中加载HTML5页面,并初始化验证码 ``` public class MainActivity extends AppCompatActivity { private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = findViewById(R.id.web_view); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); // 初始化阿里滑块验证SDK view.loadUrl("javascript:window.initSlideVerify()"); } }); mWebView.loadUrl("file:///android_asset/index.html"); } // 与JS交互的回调方法 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) { mWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); } } ``` 3. 在HTML5页面中引入阿里滑块验证码的JS SDK,并初始化验证码 ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>滑块验证Demo</title> <script src="https://g.alicdn.com/sd/slide/0.1.4/slide.min.js"></script> </head> <body> <div id="verify-wrap"></div> <script> window.initSlideVerify = function() { var slideVerify = new SlideVerify('#verify-wrap', { mode: 'pop', vOffset: 5, barSize: { width: '100%', height: '50px' }, ready: function() { console.log('滑块验证组件初始化成功!'); }, success: function() { console.log('滑块验证通过!'); // TODO: 在JS中向Android发送验证通过的消息 } }); }; </script> </body> </html> ``` 这样就可以在Android App中接入HTML5滑块验证了。需要注意的是,在JS中向Android发送消息需要通过WebView的`addJavascriptInterface()`方法实现,具体可参考Android官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

novacolas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值