腾讯滑块算法TX 解决密码错误 100%自动过滑块

算法是纯源码,没有调用任何API之前看过论坛里面人发的各种滑块算法
我看都看不下去,各种API,根本不是纯算法乱七八糟
这个是我一步一步逆向分析出来的想法。密码错误的问题需要登录2-3次才能解决。
下面是解密的js过程。

function t(n,t){var r=(65535&n)+(65535&t),u=(n>>16)+(t>>16)+(r>>16);return u<<16|65535&r}
function r(n,t){return n<<t|n>>>32-t}
function u(n,u,e,o,c,f){return t(r(t(t(u,n),t(o,f)),c),e)}
function e(n,t,r,e,o,c,f){return u(t&r|~t&e,n,t,o,c,f)}
function o(n,t,r,e,o,c,f){return u(t&e|r&~e,n,t,o,c,f)}
function c(n,t,r,e,o,c,f){return u(t^r^e,n,t,o,c,f)}
function f(n,t,r,e,o,c,f){return u(r^(t|~e),n,t,o,c,f)}
function i(n,r){n[r>>5]|=128<<r%32,n[(r+64>>>9<<4)+14]=r;var u,i,a,h,g,l=1732584193,d=-271733879,v=-1732584194,C=271733878;for(u=0;u<n.length;u+=16)i=l,a=d,h=v,g=C,l=e(l,d,v,C,n[u],7,-680876936),C=e(C,l,d,v,n[u+1],12,-389564586),v=e(v,C,l,d,n[u+2],17,606105819),d=e(d,v,C,l,n[u+3],22,-1044525330),l=e(l,d,v,C,n[u+4],7,-176418897),C=e(C,l,d,v,n[u+5],12,1200080426),v=e(v,C,l,d,n[u+6],17,-1473231341),d=e(d,v,C,l,n[u+7],22,-45705983),l=e(l,d,v,C,n[u+8],7,1770035416),C=e(C,l,d,v,n[u+9],12,-1958414417),v=e(v,C,l,d,n[u+10],17,-42063),d=e(d,v,C,l,n[u+11],22,-1990404162),l=e(l,d,v,C,n[u+12],7,1804603682),C=e(C,l,d,v,n[u+13],12,-40341101),v=e(v,C,l,d,n[u+14],17,-1502002290),d=e(d,v,C,l,n[u+15],22,1236535329),l=o(l,d,v,C,n[u+1],5,-165796510),C=o(C,l,d,v,n[u+6],9,-1069501632),v=o(v,C,l,d,n[u+11],14,643717713),d=o(d,v,C,l,n[u],20,-373897302),l=o(l,d,v,C,n[u+5],5,-701558691),C=o(C,l,d,v,n[u+10],9,38016083),v=o(v,C,l,d,n[u+15],14,-660478335),d=o(d,v,C,l,n[u+4],20,-405537848),l=o(l,d,v,C,n[u+9],5,568446438),C=o(C,l,d,v,n[u+14],9,-1019803690),v=o(v,C,l,d,n[u+3],14,-187363961),d=o(d,v,C,l,n[u+8],20,1163531501),l=o(l,d,v,C,n[u+13],5,-1444681467),C=o(C,l,d,v,n[u+2],9,-51403784),v=o(v,C,l,d,n[u+7],14,1735328473),d=o(d,v,C,l,n[u+12],20,-1926607734),l=c(l,d,v,C,n[u+5],4,-378558),C=c(C,l,d,v,n[u+8],11,-2022574463),v=c(v,C,l,d,n[u+11],16,1839030562),d=c(d,v,C,l,n[u+14],23,-35309556),l=c(l,d,v,C,n[u+1],4,-1530992060),C=c(C,l,d,v,n[u+4],11,1272893353),v=c(v,C,l,d,n[u+7],16,-155497632),d=c(d,v,C,l,n[u+10],23,-1094730640),l=c(l,d,v,C,n[u+13],4,681279174),C=c(C,l,d,v,n[u],11,-358537222),v=c(v,C,l,d,n[u+3],16,-722521979),d=c(d,v,C,l,n[u+6],23,76029189),l=c(l,d,v,C,n[u+9],4,-640364487),C=c(C,l,d,v,n[u+12],11,-421815835),v=c(v,C,l,d,n[u+15],16,530742520),d=c(d,v,C,l,n[u+2],23,-995338651),l=f(l,d,v,C,n[u],6,-198630844),C=f(C,l,d,v,n[u+7],10,1126891415),v=f(v,C,l,d,n[u+14],15,-1416354905),d=f(d,v,C,l,n[u+5],21,-57434055),l=f(l,d,v,C,n[u+12],6,1700485571),C=f(C,l,d,v,n[u+3],10,-1894986606),v=f(v,C,l,d,n[u+10],15,-1051523),d=f(d,v,C,l,n[u+1],21,-2054922799),l=f(l,d,v,C,n[u+8],6,1873313359),C=f(C,l,d,v,n[u+15],10,-30611744),v=f(v,C,l,d,n[u+6],15,-1560198380),d=f(d,v,C,l,n[u+13],21,1309151649),l=f(l,d,v,C,n[u+4],6,-145523070),C=f(C,l,d,v,n[u+11],10,-1120210379),v=f(v,C,l,d,n[u+2],15,718787259),d=f(d,v,C,l,n[u+9],21,-343485551),l=t(l,i),d=t(d,a),v=t(v,h),C=t(C,g);return[l,d,v,C]}
function a(n){var t,r="";for(t=0;t<32*n.length;t+=8)r+=String.fromCharCode(n[t>>5]>>>t%32&255);return r}
function h(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t<r.length;t+=1)r[t]=0;for(t=0;t<8*n.length;t+=8)r[t>>5]|=(255&n.charCodeAt(t/8))<<t%32;return r}
function g(n){return a(i(h(n),8*n.length))}
function l(n,t){var r,u,e=h(n),o=[],c=[];for(o[15]=c[15]=void 0,e.length>16&&(e=i(e,8*n.length)),r=0;r<16;r+=1)o[r]=909522486^e[r],c[r]=1549556828^e[r];return u=i(o.concat(h(t)),512+8*t.length),a(i(c.concat(u),640))}
function d(n){var t,r,u="0123456789abcdef",e="";for(r=0;r<n.length;r+=1)t=n.charCodeAt(r),e+=u.charAt(t>>>4&15)+u.charAt(15&t);return e}
function v(n){return unescape(encodeURIComponent(n))}
function C(n){return g(v(n))}
function A(n){return d(C(n))}
function m(n,t){return l(v(n),v(t))}
function s(n,t){return d(m(n,t))}
function md5(n,t,r){return t?r?m(t,n):s(t,n):r?C(n):A(n)}
function cdata(y){if("string"==typeof y&&""!=y){var r=0;y=y.replace(/"/g,'"'),y=y.replace(/'/g,"'");var n;try{n=eval('('+y+')')}catch(e){};if("object"==typeof n&&"string"==typeof n.randstr&&("string"==typeof n.M||"number"==typeof n.M)&&"string"==typeof n.ans){n.ans=n.ans.toLowerCase(),n.M=parseInt(n.M);for(var s=0;s<n.M&&s<1e3;s++){var i=n.randstr+s,c=md5(i);if(n.ans==c.toLowerCase()){r=s;return r;}}}}};
function rnd() {
return Math.floor(1e6 * Math.random())
};
function random() {
return + new Date();
};
var x = 0;
var blockSize = 4;
var key = '0123456789abcdef';
var _map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var screenInfo = '414-736-1040-24-*-*-*';
var resolutionx = 414;
var resolutiony = 736;
var winSize = new Array(414, 736);
var ratio = 1.6;
var ft = '63_7Pfn7H';
var jshook = 5;
var os = 'IOS';
var a = 774696253;
var index = 0;
var tokenid = 774696253;
var tokents = 1515642445;
var coordinate = new Array(0, 0, 0.6304);
var elapsed = 1000;
var mouseUpCnt = 3;
var user_Agent = 'safari/602.1';
var mousemove = new Array();
var slideValue = new Array(11,22);
var param = new Array();
var _keySchedule = new Array();
var _invKeySchedule = new Array();
var _prevBlock = new Array();
var words = new Array();
var sigBytes = 0;
var _nRounds;
var begintime;
var endtime;
var _iv;
var sigBytes;
//QQ:1608626143
var _0x286c9e = new Array();
var_0x2cf70f = new Array();
var _0xcf4d11 = new Array();
var_0x1561c2 = new Array();
var _0xb9cfe = new Array();
var_0x8abaa8 = new Array();
var _0x54c473 = new Array();
var_0x8c33af = new Array();
var _0x33af7c = new Array();
var_0x4143fa = new Array();
var _0x4905e3 = new Array();
var_0x53e3d2 = new Array();
var _0x9dba = new Array();

for(vari = 0; i<0x100;i++) {
_0xcf4d11[i] = 0x80 > i ?i << 0x1 : i << 0x1 ^ 0x11b;
}
for (var_0x99928e = 0x0, _0xcb565d = 0x0,_0x41480e = 0x0; 0x100 > _0x41480e;_0x41480e++) {
_0x503272 =_0xcb565d ^ _0xcb565d << 0x1 ^_0xcb565d << 0x2 ^ _0xcb565d << 0x3 ^_0xcb565d << 0x4;
_0x503272 = (_0x503272 >>> 0x8) ^ _0x503272&0xff ^ 0x63;_0x286c9e[_0x99928e] =_0x503272;
_0x2cf70f[_0x503272] = _0x99928e;_0xd9e496 = _0xcf4d11[_0x99928e];
_0x130879 =_0xcf4d11[_0xd9e496];_0x21e846 = _0xcf4d11[_0x130879];
_0x49c899 = 0x101 *_0xcf4d11[_0x503272] ^ 0x1010100 *_0x503272;
_0x1561c2[_0x99928e] = _0x49c899 << 0x18 | (_0x49c899 >>> 0x8);
_0xb9cfe[_0x99928e] = _0x49c899 << 0x10 | (_0x49c899 >>> 0x10);
_0x8abaa8[_0x99928e] = _0x49c899 << 0x8 | (_0x49c899 >>> 0x18);
_0x54c473[_0x99928e] = _0x49c899;_0x49c899 = 0x1010101 * _0x21e846 ^ 0x10001 *_0x130879 ^ 0x101 * _0xd9e496 ^ 0x1010100 *_0x99928e;
_0x8c33af[_0x503272] = _0x49c899 << 0x18 | (_0x49c899 >>> 0x8);
_0x33af7c[_0x503272] = _0x49c899 << 0x10 | (_0x49c899 >>> 0x10);
_0x4143fa[_0x503272] = _0x49c899 << 0x8 | (_0x49c899 >>> 0x18);
_0x4905e3[_0x503272] = _0x49c899;
if(_0x99928e) {
_0x99928e =_0xd9e496 ^ _0xcf4d11[_0xcf4d11[_0xcf4d11[_0x21e846 ^ _0xd9e496]]];_0xcb565d ^= _0xcf4d11[_0xcf4d11[_0xcb565d]];
} else {_0x99928e = _0xcb565d = 0x1;
}
}
var _0x53e3d2 = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
varsha256Key = _0x286c9e;
varsha256Key1 = _0x8c33af;
varsha256Key2 = _0x33af7c;
varsha256Key3 = _0x4143fa;
varsha256Key4 = _0x4905e3;
varsha256Key5= _0x1561c2;
varsha256Key6 = _0xb9cfe;
varsha256Key7 = _0x8abaa8;
varsha256Key8 = _0x54c473;
varsha256Key9 = _0x2cf70f;
function getKey(x) {
x = x;
var strJson = JSON.stringify(paramArr());
var strJsonSpace = strSpace(strJson);
param['keyvalue'] = new Array();
var key = encrypt(strJsonSpace);
return (key);
}
function encrypt(strJsonSpace) {
var init = encUtf8Parse(key);init = getKeySchedule(init);
var_keySchedule = init[_keySchedule];
var_invKeySchedule = init[_invKeySchedule];init = getLatin1Parse(strJsonSpace);
varwords = init[0];
varsigBytes  = init[1];
var _0x462a54 =words,
_0x3a8f2e = sigBytes,
_0x134566 = _map,
_0x1d1639 = [];
for (var i = 0; i<_0x3a8f2e; i += 3) {
for ( j = 0; 4 > j && i + 0.75 * j<_0x3a8f2e; j++) {
var a = (_0x462a54[i >>> 2] >>> 24 - 8 * (i % 4)&255) << 16 | (_0x462a54[i + 1 >>> 2] >>> 24 - 8 * ((i + 1) % 4)&255) << 8 | _0x462a54[i + 0x2 >>> 2] >>> 24 - 8 * ((i + 2) % 4)&255;
_0x1d1639.push(_0x134566.charAt(a >>> 6 * (3 - j)&63));
}
}
if (_0x462a54 = _0x134566.charAt(64)) {
for (; _0x1d1639.length % 4;) {
_0x1d1639.push(_0x462a54);
}
}
return _0x1d1639.join("");
}
function getLatin1Parse(str) {
var length =str.length;
var words = [];
varret = [];
var sigBytes = [];
for(length, words = [],i = 0; i<length; i++) {words[(i >>> 2)] |= (str.charCodeAt(i)&255) << 24 - 8 * (i % 4);
}
var ret = concat(words, i);words = ret[0];sigBytes = ret[1];
return getLatin2Parse(words, sigBytes);
}
function getLatin2Parse(words, sigBytes,reform = true) {
blockSize = blockSize;_minBufferSize = 0;
multiple =sigBytes / (0x4 * blockSize);multiple = reform ? Math.ceil(multiple) : Math.max((multiple | 0x0) -_minBufferSize, 0x0);
reform =multiple * blockSize;sigBytes = Math.min(0x4 * reform,sigBytes);
if(reform) {
for (varj = 0; j<reform; j +=blockSize) {
words = processBlock(words, j,blockSize, j);
}j = words.splice(0x0,reform);
sigBytes -= sigBytes;
}
return [j ? j :words, sigBytes];
}
function processBlock(words, num,blockSize, j) {words = processCall(words,num, blockSize);words = encryptBlock(words,num, j);
_prevBlock =words.slice(num,num + blockSize);
returnwords;
}
function encryptBlock(words,num, j) {_keySchedule = _keySchedule;
words = _doCryptBlock(words, num,_keySchedule, sha256Key5,sha256Key6, sha256Key7,sha256Key8, sha256Key);
returnwords;
}
function _doCryptBlock(_0x2ed1ef,_0xe958f0, _0x4d0751,_0x23edf6, _0x1f2851,_0x53eec4, _0x1fe9e4,_0x285fa8) {
for (_0x4011da = _nRounds,_0x2d963e = _0x2ed1ef[_0xe958f0] ^ _0x4d0751[0x0],_0x300ddb = _0x2ed1ef[_0xe958f0 + 0x1] ^ _0x4d0751[0x1],_0x126e2e = _0x2ed1ef[_0xe958f0 + 0x2] ^ _0x4d0751[0x2],_0xeb9a7b = _0x2ed1ef[_0xe958f0 + 0x3] ^ _0x4d0751[0x3],_0x5b1f2a = 0x4, _0x1b1efd = 0x1;_0x1b1efd < _0x4011da;_0x1b1efd++) {
_0x3298ca =_0x23edf6[(_0x2d963e >>> 0x18)] ^_0x1f2851[(_0x300ddb >>> 0x10)&0xff] ^_0x53eec4[(_0x126e2e >>> 0x8)&0xff] ^_0x1fe9e4[_0xeb9a7b&0xff] ^_0x4d0751[_0x5b1f2a++];_0x4462a4 = _0x23edf6[(_0x300ddb >>> 0x18)] ^ _0x1f2851[(_0x126e2e >>> 0x10) & 0xff] ^ _0x53eec4[(_0xeb9a7b >>> 0x8) & 0xff] ^ _0x1fe9e4[_0x2d963e & 0xff] ^ _0x4d0751[_0x5b1f2a++];
_0x193b01 =_0x23edf6[(_0x126e2e >>> 0x18)] ^_0x1f2851[(_0xeb9a7b >>> 0x10)&0xff] ^_0x53eec4[(_0x2d963e >>> 0x8)&0xff] ^_0x1fe9e4[_0x300ddb&0xff] ^_0x4d0751[_0x5b1f2a++];_0xeb9a7b = _0x23edf6[(_0xeb9a7b >>> 0x18)] ^ _0x1f2851[(_0x2d963e >>> 0x10) & 0xff] ^ _0x53eec4[(_0x300ddb >>> 0x8) & 0xff] ^ _0x1fe9e4[_0x126e2e & 0xff] ^ _0x4d0751[_0x5b1f2a++];
_0x2d963e =_0x3298ca;
_0x300ddb =_0x4462a4;
_0x126e2e =_0x193b01;
}
_0x3298ca = (_0x285fa8[(_0x2d963e >>> 0x18)] << 0x18 |_0x285fa8[(_0x300ddb >>> 0x10)&0xff] << 0x10 |_0x285fa8[(_0x126e2e >>> 0x8)&0xff] << 0x8 |_0x285fa8[_0xeb9a7b&0xff]) ^_0x4d0751[_0x5b1f2a++];_0x4462a4 = (_0x285fa8[(_0x300ddb >>> 0x18)] << 0x18 | _0x285fa8[(_0x126e2e >>> 0x10) & 0xff] << 0x10 | _0x285fa8[(_0xeb9a7b >>> 0x8) & 0xff] << 0x8 | _0x285fa8[_0x2d963e & 0xff]) ^ _0x4d0751[_0x5b1f2a++];
_0x193b01 = (_0x285fa8[(_0x126e2e >>> 0x18)] << 0x18 |_0x285fa8[(_0xeb9a7b >>> 0x10)&0xff] << 0x10 |_0x285fa8[(_0x2d963e >>> 0x8)&0xff] << 0x8 |_0x285fa8[_0x300ddb&0xff]) ^_0x4d0751[_0x5b1f2a++];_0xeb9a7b = (_0x285fa8[(_0xeb9a7b >>> 0x18)] << 0x18 | _0x285fa8[(_0x2d963e >>> 0x10) & 0xff] << 0x10 | _0x285fa8[(_0x300ddb >>> 0x8) & 0xff] << 0x8 | _0x285fa8[_0x126e2e & 0xff]) ^ _0x4d0751[_0x5b1f2a++];
_0x2ed1ef[_0xe958f0] = _0x3298ca;_0x2ed1ef[_0xe958f0 + 0x1] =_0x4462a4;
_0x2ed1ef[_0xe958f0 + 0x2] = _0x193b01;_0x2ed1ef[_0xe958f0 + 0x3] =_0xeb9a7b;
return _0x2ed1ef;
}
function processCall(words, num,blockSize) {
var _0x4e3e46 = "";_iv = _iv;
_iv ? _iv =_0x4e3e46 : _iv = _prevBlock;
for (i = 0; i<blockSize; i++) {words[num +i] ^= _iv[i];
}
return words;
}
function concat(words, sigBytes) {
varret = pad(sigBytes);
var_0x923cd9 = ret[0];
var_0x2e8f86 = ret[1];_0x478e37 = words;_0x1b3944 = sigBytes;
if (_0x1b3944 % 0x4) {
for (_0x34e219 = 0;_0x34e219 < _0x2e8f86;_0x34e219++) {
_0x478e37[_0x1b3944 + _0x34e219 >> 0x2] |= ((_0x923cd9[_0x34e219 >> 0x2] >> (0x18 - 0x8 * (_0x34e219 % 0x4))) & 0xff) << 0x18 - 0x8 * ((_0x1b3944 +_0x34e219) % 0x4);
}
} else if(0xffff < count(_0x923cd9)) {
for (_0x34e219 = 0x0; _0x34e219<_0x2e8f86; _0x34e219 += 0x4) {_0x478e37[_0x1b3944 +_0x34e219 >> 0x2] = _0x923cd9[_0x34e219 >> 0x2];
}
} else {
_0x478e37.push(_0x923cd9);
}
_0x1b3944 +=_0x2e8f86;
return [_0x478e37,_0x1b3944];
}
function pad( _0x5556a9,_0x244650 = 4) {
for (var _0x4999d5 = 0x4 *_0x244650, _0x4999d5 =_0x4999d5 - _0x5556a9 %_0x4999d5, _0x151982 =_0x4999d5 << 0x18 | _0x4999d5 << 0x10 |_0x4999d5 << 0x8 | _0x4999d5,_0x329c6c = [], _0x1d6a43 = 0x0;_0x1d6a43 < _0x4999d5;_0x1d6a43 += 0x4) {
_0x329c6c.push(_0x151982);
}
return [_0x329c6c,_0x4999d5];
}
function encUtf8Parse(key) {key = unescape(key);
var length =key.length
for (var i = length, _arr = [], _0x167c53 = 0; _0x167c53 < i; _0x167c53++) {
_arr[_0x167c53 >>> 2] |= (key.charCodeAt(_0x167c53)&255) << 24 - 8 * (_0x167c53 % 4);
}
_iv = _arr;
sigBytes = i;
return [_arr,i];
}
function getKeySchedule(init) {
_iv =init[0];
sigBytes = (init[1] / 4);
byte = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
for ( varj, _iv,sigBytes, j = 4 * ((_nRounds =sigBytes + 6 ) + 1), _keySchedule = [],i = 0; i<j; i++) {
if (i < sigBytes) {_keySchedule[i] =_iv[i];
} else {arr1 = _keySchedule[i - 1];
if(i %sigBytes) {
0x6 < sigBytes && 0x4 ==i % sigBytes && (arr1 = sha256Key[arr1 >> 24] << 24 | sha256Key[arr1 >> 16 & 255] << 16 | sha256Key[arr1 >> 8 & 255] << 8 | sha256Key[arr1 & 255]);
} else {
arr1 =arr1 << 8 | (arr1 >>> 24);arr1 = sha256Key[(arr1 >>> 0x18)] << 0x18 | sha256Key[(arr1 >>> 0x10) & 0xff] << 0x10 | sha256Key[(arr1 >>> 0x8) & 0xff] << 0x8 | sha256Key[arr1 & 255]; arr1 ^=byte[i /sigBytes | 0] << 24;
}
_keySchedule[i]  = _keySchedule[i - sigBytes] ^arr1;
}
}
for(sigBytes = 0,_invKeySchedule = []; sigBytes<j; sigBytes++) {i = j -sigBytes;
arr1 =sigBytes % 0x4 ? _keySchedule[i] : _keySchedule[i - 0x4];
_invKeySchedule[sigBytes] = 0x4 > sigBytes || 0x4 >=i ? arr1 :sha256Key1[sha256Key[(arr1 >>> 0x18)]] ^ sha256Key2[sha256Key[(arr1 >>> 0x10)&0xff]] ^sha256Key3[sha256Key[(arr1 >>> 0x8) & 0xff]] ^ sha256Key4[sha256Key[arr1&0xff]];
}
_keySchedule =_keySchedule;
_invKeySchedule = _invKeySchedule;
return {'_keySchedule':_keySchedule,'_invKeySchedule':_invKeySchedule}

}
function paramArr() {
var arr = {};
if(mousemove.length == 0) setMousemove();
arr['mouseclick'] = new Array();
arr['keyvalue'] = new Array();
arr['user_Agent'] = user_Agent;
arr['resolutionx'] = resolutionx;
arr['resolutiony'] = resolutiony;
arr['winSize'] = winSize;
arr['url'] = 'file:///C:/Users/Administrator/Desktop/cap4/%E9%AA%8C%E8%AF%81%E7%A0%81.htm';
arr['refer'] = '';
arr['begintime'] = begintime;
arr['endtime'] = endtime;
arr['platform'] = 2;
arr['os'] = os;
arr['keyboards'] = rand(0,1);
arr['flash'] = 0;
arr['pluginNum'] = 0;
arr['index'] = index;
arr['ptcz'] = "";
arr['tokenid'] = tokenid;
arr['a'] = a;
arr['btokenid'] = null;
arr['tokents'] = tokents;
arr['ips'] = new Array();
arr['colorDepth'] = 24;
arr['cookieEnabled'] = true;
arr['timezone'] = 8;
arr['wDelta'] = 0;
arr['mousemove'] = mousemove;
arr['keyUpCnt'] = 0;
arr['keyUpValue'] = new Array();
arr['mouseUpValue'] = new Array();
arr['mouseUpCnt'] = index;
arr['mouseDownValue'] = new Array();
arr['mouseDownCnt'] = 0;
arr['orientation'] = new Array();
arr['bSimutor'] = 0;
arr['focusBlur'] = {'in':[],'out':[],'t':[]};
arr['fVersion'] = 0;
arr['charSet'] = 'UTF-8';
arr['resizeCnt'] = 0;
arr['errors'] = new Array();
arr['screenInfo'] = screenInfo;
arr['elapsed'] = elapsed;

arr['clientType'] = '1';
arr['coordinate'] = coordinate;
arr['ft'] = ft;
arr['jshook'] = jshook;
arr['refreshcnt'] = 0;
arr['slideValue'] = slideValue;
arr['trycnt'] = index;
//ksort(arr);
param = arr;
return arr;
}
function setMousemove() {x = x;
var diff_x =x / ratio;
start_x = rand(31,79);
varend_x = Math.round(start_x +diff_x);
y = rand(210,260);deviation_y =  Math.round(x/mt_rand(95,105));start_diff_t = mt_rand(3,9);
begintime = time() -start_diff_t;
endtime = time();t = mt_rand(start_diff_t * 1000,start_diff_t * 1000 + 999) ;
total_t = 0;

varmousemove = new Array();
for(j = 0,i = start_x;i < end_x;i = i + mt_rand(1,2)) {x = i;
if(i > Math.round(end_x/0.8)) {rand_t = mt_rand(60,180);
} else if(i > Math.round(end_x/1.5)) {
rand_t = mt_rand(5,10);
} else if(i > Math.round(end_x/3)) {rand_t = mt_rand(2,9);
} else {
rand_t = mt_rand(2,5);
}t += rand_t;total_t += rand_t;
if(y <  mt_rand(y-3,y+1) && j <=deviation_y ) {
j++;y++;
}
mousemove.push([x, y,t])
}
begintime = Math.round(begintime);
endtime = Math.round(endtime);
index =  Math.round(start_diff_t/2);
varmousemove = formatMousemove(mousemove);
mousemove =mousemove;
var slideValue = setSlideValue(mousemove);
slideValue = slideValue;
}
function setSlideValue(mou) {
mou = JSON.parse(JSON.stringify(mou));//obj不值得为什么,会修改别的数值
vartotal_t = 0;
for(var i = 0;i < mou.length; i++) {
if(i !== 0) {
total_t += mou[i][2];
}
}
mou[0][2] = mt_rand(10,35);
mou[1][2] = mou[1][2] - 1;
mou[2][2] = mou[2][2] + 1;
mou.push([0,0,111])
return mou;
}
function formatMousemove(_0x2e7bb2) {
var _0x5b5d45;
var _0x14114c = [];
for (var _0x43051a = 0x0; _0x43051a < _0x2e7bb2.length; _0x43051a++) {
var _0xe5a3c8 = _0x2e7bb2[_0x43051a];
if (_0x43051a == 0x0) {
_0x14114c.push([_0xe5a3c8[0], _0xe5a3c8[1], _0xe5a3c8[2]]);
} else {
_0x14114c.push([_0xe5a3c8[0] - _0x5b5d45[0], _0xe5a3c8[1] - _0x5b5d45[1], Number((_0xe5a3c8[2] - _0x5b5d45[2])["toFixed"](0x3))]);
}
_0x5b5d45 = _0xe5a3c8;
}
return _0x14114c;
}
function mt_rand(minNum,maxNum){
switch(arguments.length){
case 1:
return parseInt(Math.random()*minNum+1,10);
break;
case 2:
return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
break;
default:
return 0;
break;
}
}
//‘滑块算法QQ群:704573445
function rand(minNum,maxNum){
switch(arguments.length){
case 1:
return parseInt(Math.random()*minNum+1,10);
break;
case 2:
return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
break;
default:
return 0;
break;
}
}
function time() {
var real_time = new Date() / 1000;
return real_time;
}
function strSpace(str) {strLen = 15 - str.length % 16;
for (vari = 0; i<strLen; i++) {str += " ";
}
return $str;
}

以上内容均为转载。

标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注