2022记某东自动化抢购流程实现(实际没啥卵用)
不知不觉又到年底了,为了让这个年有点仪式感,我觉着少了一瓶茅台,又不想当冤大头,只能去某东去抢,去年的自动化脚本已经完全失效了。只能从头看接口重写一个了。以下内容是完成此目标必须解决的三个主要问题:
第一个问题:sk参数
最直接的想法就是把能提取参数先临时提取出来,直接模拟最后submitOrder就完事了,但是,
仔细一对,发现submit请求的参数中有个每次请求都会变的参数,即 sk
,如下图中的 sk: JKMCKRY9R9OIYXKXHDPAPUA2
它是由https://tak.jd.com/t/xxxx?_t=16xxxxxxx65(第二个红框)
请求的结果
{
"code": "000000",
"message": "success",
"data": {
"@t": "ch",
"j": "A19JMSnoGQB9O9O44Pr0",
"ibV": "BqytgL31urDQOURzpVbj",
"EUK": "JkMCkRY9r9oIyXkXhDpa",
"JRy": "NbPqD8pUa2cL8qGlQeSJ",
"R": "llUnV7u1d4v3tRmYrHrU"
}
}
根据一定的规则生成的,而这个计算规则,则在第一个红框所请求的高度混淆的js(第一个红框)中,如下:
var a = ['lldQO', 'jZHsA', 'nFEfh', 'pAAid', 'sgZjN', 'eGgXs', 'text', 'EqSUN', 'JAdKU', 'substring', 'GJcnm', 'sXGWH', 'kFGPV', 'NJpfY', 'eOf', 'EjQeB', 'firstChild', 'WOKzJ', 'GsCRu', 'GtfMt', 'parse', 'src', 'Header', 'QNgBC', 'zcyjY', 'push', 'head', 'QEeKZ', 'mjZFK', 'VWgtR', 'dtWoG', 'BneJr', 'rrEvO', 'tSwKd', 'error', 'qvOKW', 'length', 'RUTNi', 'oSRpL', 'RszVF', '3|0|4|5', 'aGMxd', 'EBjuq', 'llUpd', 'WfeMF', 'vzqHI', 'tJAAX', 'oDlBx', 'Math', 'zgvgB', '\x20=\x20{};', 'yZsYB', 'nljZJ', 'RHNLP', '471547nhbvAB', 'rVhua', 'chNRq', 'wylHf', 'QZhRj', 'FxbCW', 'RCWbV', 'setRequest', 'SPysm', 'hNSRv', 'BOGRg', 'OVjYM', 'GHabM', 'IrPje', 'kVNZW', 'HrwSS', 'DBGnx', 'cbc', 'parentNode', 'VghoS', '618qaz', 'HHoNs', 'ent', 'aILAk', 'EFGHIJKLMN', 'IE6.0', 'new\x20', 'odRrx', 'getTakId', 'nbQtT', 'dudGX', 'fMuwk', 'xuQMD', 'PGgDV', 'beforeSend', 'YYrYN', 'UXLxj', 'VFmgf', 'window', 'YGKXD', 'mrTkw', '1567687ujBbHh', 'BdPqg', 'IE7', 'jjJhl', 'KxrJc', 'replace', 'floor', 'MvYcX', 'KTcwr', 'Content-Ty', 'abort', 'CMnsA', 'uKcDK', 'VPCey', 'EItFa', '/871A9', 'aHXWy', 'IE8', 'npxnA', 'kpiUX', 'getElement', 'ZHfSj', 'GFwzC', 'uest()', 'tdODm', 'iXLHu', 'kSlHz', 'PeotU', 'pIERJ', 'NUJqJ', 'fCDat', 'VkcSc', '2TJWgqD', 'fJPEx', 'YLqtw', 'FKzwO', 'CKuXa', 'xXaBT', 'FRbmZ', 'fCkqf', 'cca', 'kbKBy', 'nTmMX', 'aafoL', 'ywZly', 'cmhtv', 'EIyYL', 'replaceAll', 'callback', 'IE8.0', '?_t=', 'ack', 'isPrototyp', 'slice', 'KVNGh', 'gAFKe', 'puJRF', 'CkHMQ', 'usDOy', 'eERhG', 'mTcKb', 'VnKeb', 'appVersion', 'lXTre', 'MUqNz', 'YzhZC', 'MSIE6.0', 'data', 'ioCGU', 'rsSaL', 'MpQjx', 'bHMcA', 'zDjyM', 'XMLHttpReq', '5ZagKJb', 'iKESf', 'WmHii', 'ZGUyA', 'SxNRS', 'toString', 'GVlln', 'LPXII', 'HWTZp', 'IE6', '202982JCOwVA', 'xqyGs', 'charAt', 'Tk01qaz', 'jydAi', 'KHZAX', 'sGjUy', 'KcIoA', 'CZoPv', 'cbzyT', 'FhOZt', 'uYZLo', 'async', 'EdJKj', 'IE9', 'UrxhB', 'NmGpv', 'Microsoft\x20', 'NEbGJ', 'rNhAE', 'lvMCJ', 'XBeqj', 'pGahF', 'WfhZv', 'nseiS', 'iOrAA', 'valoj', 'ggGUD', 'vuCZz', 'zkDlO', 'BVVUw', 'sgAsJ', 'GET', 'fEGtD', 'plbwq', 'GBlxF', 'XMngE', 'split', 'rgReW', 'sKmYA', 'random', 'TZuhl', '69346SBmBkx', 'MeYBM', 'rhtnU', 'timeout', 'fuEUT', 'PdyWH', 'vimna', 'uvwxyzABCD', 'TnnbB', 'YspSm', 'status', 'bzNMU', 'yGDmJ', 'Potws', 'MjPSd', '7|1|3|0|5|', 'IE9.0', '290462FYzZWn', 'MtkKB', 'SyaRc', 'wVqTU', 'toLowerCas', 'vGjck', 'YDEay', 'UFSgq', 'yhNBd', 'awlfS', 'XZXcC', 'OLyjz', 'k.jd.com/t', 'responseTe', 'JaKcT', 'kSmIv', 'OTHER', 'bqwEb', 'vFJNg', 'yTzCZ', 'Internet\x20E', 'rtHOc', 'lfaQu', 'qnPQB', 'KKdOi', 'qIufc', 'appName', 'RDkbd', 'nApJv', '_tak.callb', 'nhLua', 'EtYgX', 'oLUHI', 'ded', 'NlUxE', 'open', 'NeOfc', 'PTcXV', 'GatAr', 'bXKkW', 'fyLEK', 'xplorer', 'nNJLf', 'BleaJ', 'lNpLw', 'jUMdn', 'Blvlr', 'illidan', 'xTKXj', 'ptfpa', 'XpgBL', 'WfUjL', 'EqacN', 'gHDYL', 'dPvFR', 'turRq', 'cza', 'yKNmn', 'klmnopqrsd', 'MSIE7.0', 'PQlzn', 'prototype', 'fzJqD', 'gevUl', 'woZDD', 'MSIE8.0', 'vwzbU', 'yMYZP', 'ihSsf', 'number', 'MhqQN', 'hHeAb', 'LjbQn', 'toUpperCas', 'rm-urlenco', 'uTXpp', 'WTzan', 'hSMqz', 'HGKiC', 'ruhSx', '1|4|7|0|3|', 'success', 'gmi', 'bWtox', 'qBMtN', 'mpUnD', 'oRfMK', 'object', 'WJGcW', 'createElem', 'substr', 'bPwQA', 'jbluY', 'yglwD', 'apply', 'jQwsu', 'mpGHf', 'moQDT', 'd11qaz', 'Xpbjw', 'omzLA', 'wKDzq', 'withCreden', 'meflj', 'applicatio', 'ezKTK', 'url', 'Enfat', 'jBMlt', 'sByTagName', 'insertBefo', 'script', 'FCZCX', '324860wQAadD', 'YOqtZ', 'xYPWb', 'MTCok', 'ldnwg', 'LeAcS', 'pmRHs', 'OONot', 'NeDOQ', '0123456789', 'PeygC', 'text/javas', 'jgoUQ', 'removeChil', 'indexOf', 'https://ta', 'ujGdp', 'JphZK', 'OpgfO', 'qVKmb', 'SgUDd', 'techange', 'YMxAJ', 'OPQRSTUVWX', '8|6|1|7|2|', 'aGyfw', 'abcdefghij', 'yMvBC', 'HQAnF', 'ssMXc', 'GGTmA', 'ODonA', 'UekeV', 'QvBTY', 'uplXA', '894809PwqgBm', 'YHeuP', 'YcRUx', 'xeOtJ', 'BHtze', 'kWzlO', 'function\x20', 'XaCGf', 'JqYzR', 'xqTAX', 'jDhSY', 'ERTbH', 'Lvekv', 'qNjYF', 'faOKV'];
var b = function (c, d) {
c = c - 0xdd;
var e = a[c];
return e;
};
var a2 = b;
(function (c, d) {
var a1 = b;
while (!![]) {
try {
var e = parseInt(a1(0x166)) + parseInt(a1(0xf5)) + parseInt(a1(0x189)) + parseInt(a1(0x24b)) * parseInt(a1(0x217)) + parseInt(a1(0x1ce)) + parseInt(a1(0xe4)) * -parseInt(a1(0x241)) + -parseInt(a1(0x1f7));
if (e === d) break;
else c['push'](c['shift']());
} catch (f) {
c['push'](c['shift']());
}
}
}(a, 0x73889));
try {
String[a2(0x132)][a2(0x226)] = function (c, d, e) {
var a3 = a2,
f = {
'fCkqf': a3(0x147),
'TnnbB': a3(0x18f),
'GZasQ': function (g, h) {
return g === h;
}, 'HQAnF': a3(0x169),
'Hxjdz': a3(0xef),
'SPysm': a3(0x268)
};
if (RegExp[a3(0x132)][a3(0x22b) + a3(0x1a6)](c)) {
if (f['GZasQ'](f[a3(0x182)], f['Hxjdz'])) {
function g() {
var a4 = a3;
return k[a4(0x132)][a4(0x22b) + a4(0x1a6)](l) ? this[a4(0x1fc)](s, t) : this['replace'](new u(v, w ? f[a4(0x21e)] : 'gm'), x);
}
} else return this[a3(0x1fc)](c, d);
} else {
if (f['SPysm'] === f[a3(0x1d6)]) return this[a3(0x1fc)](new RegExp(c, e ? f[a3(0x21e)] : 'gm'), d);
else {
function h() {
var a5 = a3,
i = d[a5(0x246)]();
return i = i[a5(0x14f)](f[a5(0xec)][a5(0x1bc)]), i = i['substr'](0x0, i[a5(0x174)]('(')), i;
}
}
}
},
function () {
var a6 = a2,
c = {
'nhLua': function (L, M, N) {
return L(M, N);
}, 'TZuhl': function (L, M) {
return L === M;
}, 'QZhRj': a6(0x1dd),
'GsCRu': function (L, M) {
return L(M);
}, 'ruhSx': function (L, M) {
return L !== M;
}, 'zDjyM': a6(0x156),
'GfMQD': function (L, M) {
return L == M;
}, 'YGKXD': a6(0x13a),
'xvZsR': function (L, M) {
return L === M;
}, 'dudGX': a6(0x15a),
'WiYrI': a6(0x25f),
'CMnsA': a6(0x1ba),
'YMxAJ': function (L) {
return L();
}, 'iXLHu': function (L) {
return L();
}, 'oDlBx': function (L, M) {
return L(M);
}, 'xqyGs': function (L, M) {
return L + M;
}, 'VWgtR': '&callback=' + '_tak.callb' + 'ack',
'NlUxE': a6(0x25c) + a6(0x109) + a6(0x11e),
'rgReW': a6(0x239),
'xeOtJ': function (L, M) {
return L !== M;
}, 'EjQeB': 'jDhSY',
'nFEfh': function (L, M) {
return L == M;
}, 'OVjYM': function (L, M) {
return L == M;
}, 'DBGnx': a6(0x130),
'cnoiw': a6(0x1fe),
'MeYBM': function (L, M) {
return L == M;
}, 'VkcSc': a6(0x136),
'RDkbd': 'MSIE9.0',
'muJoS': a6(0x185),
'eZtbS': 'PRsRe',
'RszVF': a6(0x150),
'PeotU': function (L, M) {
return L == M;
}, 'hSMqz': a6(0x158),
'Blvlr': a6(0x164),
'rrEvO': a6(0x171) + 'cript',
'NUJqJ': function (L, M) {
return L(M);
}, 'dETXZ': function (L) {
return L();
}, 'JphZK': function (L, M) {
return L !== M;
}, 'ujGdp': 'TDBjJ',
'nseiS': function (L, M) {
return L === M;
}, 'jZHsA': 'uYqnx',
'jUMdn': 'rmjqb',
'fzJqD': function (L, M) {
return L(M);
}, 'PdyWH': function (L, M) {
return L !== M;
}, 'jjJhl': 'iUCrW',
'PHuqD': a6(0x16e),
'fZWbi': a6(0x125),
'GtfMt': function (L, M) {
return L(M);
}, 'mpGHf': function (L, M) {
return L(M);
}, 'ezKTK': a6(0x18e),
'qIufc': a6(0x168),
'bqwEb': function (L, M) {
return L == M;
}, 'IXawO': 'qBMtN',
'VPCey': a6(0x108),
'gAFKe': a6(0x1f1),
'SgUDd': 'ebfrI',
'EIyYL': 'xuQMD',
'RCWbV': a6(0x1b2),
'uYZLo': a6(0x1ca),
'tdODm': function (L, M) {
return L !== M;
}, 'GFwzC': 'HFSPN',
'aGyfw': a6(0x1e9),
'EqSUN': function (L) {
return L();
}, 'OONot': a6(0x242),
'ssMXc': 'lAHxQ',
'BOGRg': function (L, M) {
return L === M;
}, 'uTXpp': a6(0x1e3),
'bXKkW': a6(0x200) + 'pe',
'PQlzn': a6(0x220),
'eSxAr': function (L, M, N) {
return L(M, N);
}, 'dtWoG': 'bSaHK',
'XaCGf': 'szQLb',
'pAAid': function (L, M) {
return L != M;
}, 'BneJr': function (L, M) {
return L !== M;
}, 'PGgDV': 'FdnfX',
'QEeKZ': function (L, M) {
return L + M;
}, 'vuCZz': function (L, M) {
return L + M;
}, 'qnPQB': function (L, M) {
return L - M;
}, 'VnKeb': 'CtcEA',
'BHtze': a6(0x21b),
'kFGPV': a6(0x240) + a6(0x20e),
'KKdOi': function (L, M) {
return L(M);
}, 'ZHfSj': a6(0x231),
'llUpd': function (L, M) {
return L === M;
}, 'tJAAX': a6(0x14c),
'kpiUX': a6(0x151),
'mrTkw': function (L, M) {
return L === M;
}, 'QvBTY': 'QNgBC',
'aGMxd': a6(0x21c),
'YcRUx': 'QmrUl',
'wylHf': 'ilvHl',
'BdPqg': 'IhMrB',
'NmGpv': function (L, M) {
return L * M;
}, 'xqTAX': function (L, M) {
return L + M;
}, 'kSmIv': function (L, M) {
return L + M;
}, 'fMuwk': function (L, M) {
return L + M;
}, 'PTcXV': function (L, M) {
return L(M);
}, 'eERhG': function (L, M) {
return L === M;
}, 'fCDat': a6(0x1a0),
'RHNLP': function (L, M) {
return L < M;
}, 'PeygC': a6(0x236),
'yhNBd': function (L, M) {
return L + M;
}, 'omzLA': function (L, M) {
return L + M;
}, 'aHXWy': function (L, M) {
return L + M;
}, 'meflj': a6(0x218),
'UFSgq': function (L, M) {
return L + M;
}, 'plbwq': function (L, M) {
return L == M;
}, 'FCZCX': a6(0x152),
'pIERJ': function (L, M) {
return L + M;
}, 'chNRq': a6(0x1e8),
'tcBNB': function (L, M) {
return L !== M;
}, 'bHMcA': a6(0x139),
'hNSRv': function (L, M) {
return L + M;
}, 'JaKcT': a6(0x198),
'lNpLw': function (L, M) {
return L + M;
}, 'YzhZC': a6(0x243),
'awlfS': a6(0x25e),
'jQwsu': function (L, M) {
return L(M);
}, 'mTcKb': function (L, M) {
return L === M;
}, 'MhqQN': a6(0xf1),
'TTOjc': function (L, M) {
return L !== M;
}, 'MpQjx': a6(0x1a3),
'vzqHI': a6(0x197),
'rQcaV': function (L, M) {
return L !== M;
}, 'WOKzJ': a6(0x26a),
'rVhua': a6(0x195),
'EBjuq': a6(0x21f),
'qvOKW': function (L, M) {
return L == M;
}, 'TjkrS': function (L, M) {
return L(M);
}, 'ldnwg': a6(0x1df),
'EtYgX': function (L, M) {
return L(M);
}, 'mpUnD': function (L, M) {
return L == M;
}, 'yGDmJ': function (L, M) {
return L == M;
}, 'YtWmo': a6(0x12d),
'XMngE': function (L, M) {
return L(M);
}, 'WJGcW': function (L, M) {
return L === M;
}, 'LPXII': a6(0x115),
'qaiTG': a6(0x17e) + a6(0x1c0),
'YDEay': function (L, M) {
return L === M;
}, 'fuEUT': a6(0x157),
'rhtnU': a6(0x1e2),
'jgoUQ': 'sIxqZ',
'pmRHs': a6(0x145) + '2|6|5',
'gHDYL': a6(0xed),
'yDAax': 'YLlNX',
'HWTZp': function (L, M) {
return L !== M;
}, 'qVKmb': a6(0x22d),
'CBUYZ': function (L, M) {
return L !== M;
}, 'FRbmZ': 'fictz',
'CZoPv': a6(0x107),
'QZsnf': a6(0x24e),
'oSRpL': function (L, M) {
return L + M;
}, 'rtHOc': a6(0x124),
'uKcDK': function (L, M) {
return L !== M;
}, 'OpgfO': a6(0x1f3),
'vwzbU': function (L, M) {
return L + M;
}, 'NEbGJ': function (L, M) {
return L * M;
}, 'RLJEj': function (L, M) {
return L + M;
}, 'IrPje': function (L, M) {
return L + M;
}, 'BleaJ': a6(0x188),
'EItFa': a6(0x260),
'zcyjY': function (L, M) {
return L(M);
}, 'ZNrPS': function (L, M) {
return L === M;
}, 'Enfat': 'TJxWX',
'ptfpa': function (L, M) {
return L !== M;
}, 'ERTbH': 'OCDui',
'lfaQu': a6(0x15f),
'jBMlt': function (L, M) {
return L + M;
}, 'KTcwr': a6(0x146),
'MUqNz': function (L) {
return L();
}, 'GVlln': 'zPuFf',
'ywZly': 'WinHN',
'EdJKj': function (L) {
return L();
}, 'KcIoA': function (L, M) {
return L || M;
}, 'hHeAb': a6(0x175) + a6(0x101) + a6(0x206),
'HGKiC': 'setTimeout',
'DPyWa': function (L, M) {
return L(M);
}, 'turRq': a6(0x1f4),
'ybghD': function (L, M) {
return L(M);
}, 'KHZAX': a6(0x1e7),
'OLyjz': 'IE7.0',
'SyaRc': a6(0x228),
'NeOfc': 'other',
'FxbCW': function (L) {
return L();
}, 'zEpFk': 'text',
'jDooP': a6(0x16f) + a6(0x180) + a6(0x12f) + a6(0xeb) + a6(0x1e6) + a6(0x17d) + 'YZ',
'hGrJU': function (L, M) {
return L === M;
}, 'MjPSd': a6(0x209)
};
_tak = {};
_tak = c[a6(0x252)](_tak, {});
var e = c[a6(0x13c)],
f = eval,
g = c[a6(0x1b0)](f, c[a6(0x143)]),
h = c['DPyWa'](f, c[a6(0x12c)]),
i = eval('var a7 = a6;if (c[a7(227)](a7(560), c[a7(466)])) {\n function L() {\n var a8 = a7;\n h = c[a8(275)](i, function () {\n var a9 = a8;\n m[a9(513)](), n[a9(442)]();\n }, l[\'timeout\']);\n }\n} else\n clearTimeout;'),
j = c['ybghD'](f, a6(0x1c8)),
k = function (L) {
var ab = a6,
M = {
'eGgXs': function (N, O) {
var aa = b;
return c[aa(0x1aa)](N, O);
}
};
if (c[ab(0x144)](ab(0x156), c[ab(0x23f)])) {
function N() {
return E;
}
} else {
if (c['GfMQD'](typeof L, c['YGKXD'])) {
if (c['xvZsR'](c[ab(0x1ec)], c['WiYrI'])) {
function O() {
var ac = ab;
if (k(l)) {
var P = [];
for (var Q in s) {
P[ac(0x1b1)](M[ac(0x19d)](y, z[Q]));
}
L = D(x[ac(0x153)](this, P));
}
}
} else return L;
}
throw new Error(c[ab(0x202)]);
}
},
l = {
'IE6': c[a6(0x250)],
'IE7': c[a6(0x100)],
'IE8': c[a6(0xf7)],
'IE9': a6(0xf4),
'OTHER': c[a6(0x119)]
};
function m() {
var af = a6,
L = {
'YHeuP': function (M, N) {
var ad = b;
return c[ad(0x1c7)](M, N);
}, 'nbQtT': function (M, N) {
var ae = b;
return c[ae(0x24c)](M, N);
}, 'qsQrK': c[af(0x1b5)]
};
if (c['GfMQD'](navigator[af(0x10f)], c['NlUxE']) && navigator['appVersion']['split'](';')[0x1][af(0x1fc)](/[ ]/g, '') == c[af(0xe0)]) {
if (c[af(0x18c)](af(0x193), c[af(0x1a7)])) {
function M() {
var ag = af;
L[ag(0x18a)](e, L[ag(0x1eb)](f['url'], L['qsQrK']));
}
} else return l[af(0x24a)];
} else {
if (c[af(0x19a)](navigator[af(0x10f)], c['NlUxE']) && c[af(0x1d9)](navigator[af(0x235)][af(0xdf)](';')[0x1][af(0x1fc)](/[ ]/g, ''), c[af(0x1de)])) {
if (c[af(0x18c)](af(0x1fe), c['cnoiw'])) {
function N() {
var ah = af;
e[ah(0x1a1)](0x5, 0x8) + f[ah(0x1fc)](/a/gi, 'c');
}
} else return l[af(0x1f9)];
} else {
if (c[af(0xe5)](navigator[af(0x10f)], c['NlUxE']) && c[af(0xe5)](navigator[af(0x235)][af(0xdf)](';')[0x1][af(0x1fc)](/[ ]/g, ''), c[af(0x216)])) return l['IE8'];
else {
if (c[af(0xe5)](navigator[af(0x10f)], c[af(0x117)]) && navigator['appVersion'][af(0xdf)](';')[0x1][af(0x1fc)](/[ ]/g, '') == c[af(0x110)]) {
if (af(0x185) !== c['muJoS']) {
function O() {
var ak = af,
P = {
'GatAr': function (Q) {
var ai = b;
return c[ai(0x17c)](Q);
}, 'Yktjp': function (Q, R, S) {
return c['nhLua'](Q, R, S);
}, 'fyLEK': function (Q) {
var aj = b;
return c[aj(0x210)](Q);
}
};
c[ak(0x210)](j), k[ak(0x1ea)] = function () {
var an = ak,
Q = {
'aILAk': function (R) {
var al = b;
return P[al(0x11b)](R);
}
};
return P['Yktjp'](q, function () {
var am = b;
Q[am(0x1e5)](v);
}, 0x64), s ? t : P[an(0x11d)](u);
};
}
} else return l[af(0x259)];
}
}
}
}
return l[af(0x105)];
}
var n = c[a6(0x1d3)](m);
function o() {
var ao = a6;
if (c['eZtbS'] !== c[ao(0x1bf)]) return c['MeYBM'](n, l[ao(0x208)]) || n == l[ao(0x259)];
else {
function L() {
E['error']();
}
}
}
var p = {
'type': a6(0x26b),
'url': '',
'async': !![],
'timeout': 0x0,
'data': null,
'dataType': c['zEpFk'],
'contentType': a6(0x15d) + 'n/x-www-fo' + a6(0x13f) + a6(0x116),
'beforeSend': function () {}, 'success': function () {}, 'error': function () {}, 'complete': function () {}
};
function q(L) {
var ap = a6,
M = {};
for (var N in p) {
M[N] = c[ap(0x212)](L[N], undefined) ? p[N] : L[N];
}
return M;
}
var r = '';
function s(L) {
var aq = a6;
if (c[aq(0x18c)](c['hSMqz'], c[aq(0x142)])) {
function O() {
return;
}
} else {
var M = document[aq(0x14e) + aq(0x1e4)](c['Blvlr']);
M['type'] = c[aq(0x1b8)], M[aq(0x257)] = !![], M[aq(0x1ad)] = L + '';
var N = document[aq(0x20b) + aq(0x162)](c[aq(0x123)])[0x0];
N[aq(0x1e0)][aq(0x163) + 're'](M, N);
}
}
_tak[a6(0x227)] = function () {
var ar = a6,
L = {
'LjbQn': function (P) {
return c['dETXZ'](P);
}
};
if (c[ar(0x177)](ar(0x262), c[ar(0x176)])) {
var M = arguments[0x0];
try {
if (c[ar(0x263)](c[ar(0x199)], c[ar(0x122)])) {
function P() {
var as = ar;
p = q(r);
if (c[as(0x214)](s, t) && c[as(0x214)](u, v['data'])) {
var Q = [];
for (var R in C[as(0x23a)]) {
Q['push'](c[as(0x214)](I, J['data'][R]));
}
F = c[as(0x214)](G, H['apply'](this, Q));
}
}
} else {
if (c[ar(0x133)](I, M)) {
var N = [];
for (var O in M) {
if (c[ar(0xe9)](c[ar(0x1fa)], c['jjJhl'])) {
function Q() {
return E['IE6'];
}
} else N[ar(0x1b1)](I(M[O]));
}
r = I(F[ar(0x153)](this, N));
}
}
} catch (R) {}
} else {
function S() {
var at = ar;
L[at(0x13d)](E);
}
}
};
function t(L) {
var au = a6,
M = {
'bWtox': function (O, P) {
return c['xqyGs'](O, P);
}
};
if (c['PHuqD'] !== c['fZWbi']) {
var N = L[au(0x246)]();
return N = N[au(0x14f)](au(0x18f)[au(0x1bc)]), N = N['substr'](0x0, N[au(0x174)]('(')), N;
} else {
function O() {
var av = au;
pxIUcY[av(0x148)](e[av(0x1a1)](0xa, 0x12), f['toLowerCas' + 'e']()[av(0x1a1)](0x2, 0xd));
}
}
}
function u() {
var aw = a6,
L = {
'kBSZo': function (Q, R) {
return Q + R;
}, 'cbzyT': c[aw(0x1d4)],
'geEOZ': aw(0x124),
'ZGUyA': function (Q, R) {
return Q === R;
}, 'WfUjL': c['uYZLo'],
'MtkKB': function (Q, R) {
return c['tdODm'](Q, R);
}, 'pTKHH': aw(0x14c)
};
if (c[aw(0x263)](c[aw(0x20d)], c[aw(0x17f)])) {
function Q() {
var ax = aw;
YFyJRi['kBSZo'](e[ax(0x13e) + 'e']()[ax(0x1a1)](0x3, 0xd), f['toLowerCas' + 'e']()[ax(0x1a1)](0xa, 0x13));
}
} else {
var M = arguments[0x0],
N = c[aw(0x155)](q, M);
N[aw(0x1f0)]();
var O = y();
if (c[aw(0x19f)](o)) {
if (c['nseiS'](c[aw(0x16d)], c[aw(0x183)])) {
function R() {
return E;
}
} else g(function () {
var ay = aw;
c[ay(0x1ab)](s, N['url'] + ('&callback=' + ay(0x112) + ay(0x22a)));
});
} else {
if (c[aw(0x1d8)](c[aw(0x140)], c['uTXpp'])) {
O[aw(0x118)](N['type'], N['url'], N[aw(0x257)]), O[aw(0x15b) + 'tials'] = !![], O[aw(0x1d5) + aw(0x1ae)](c[aw(0x11c)], N['contentTyp' + 'e']);
var P = null;
if (!N[aw(0x257)] && N[aw(0xe7)] > 0x0) {
if (c[aw(0x20f)](c[aw(0x131)], aw(0x220))) {
function S() {
var az = aw;
try {
return g[az(0x1ac)](h);
} catch (T) {}
return {};
}
} else P = c['eSxAr'](g, function () {
var aA = aw;
O[aA(0x201)](), N[aA(0x1ba)]();
}, N[aw(0xe7)]);
}
O['onreadysta' + aw(0x17b)] = function () {
var aD = aw,
T = {
'nTmMX': function (U, V) {
var aB = b;
return c[aB(0x155)](U, V);
}, 'vGjck': function (U, V) {
var aC = b;
return c[aC(0x24c)](U, V);
}, 'sGjUy': function (U, V, W) {
return U(V, W);
}, 'BVVUw': function (U, V) {
return U(V);
}, 'JqYzR': function (U, V) {
return U(V);
}, 'kSlHz': aD(0x24e)
};
if (c[aD(0x15e)] === c[aD(0x10e)]) {
function U() {
var aE = aD,
V = [];
for (var W in i[aE(0x23a)]) {
V[aE(0x1b1)](T[aE(0x221)](o, p['data'][W]));
}
l = m(n[aE(0x153)](this, V));
}
} else {
if (c[aD(0x106)](O['readyState'], 0x4)) {
if (aD(0x149) === c['IXawO']) {
try {
if (P) {
if (c[aD(0x263)](c[aD(0x204)], c[aD(0x204)])) i(P), P = null;
else {
function V() {
e['getTakId'] = f;
}
}
}
} catch (W) {}
if (c[aD(0x106)](O[aD(0xee)], 0xc8)) {
if (c[aD(0x263)](c[aD(0x22e)], c[aD(0x17a)])) {
function X() {
var aF = aD;
AsUSvZ[aF(0xfa)](e['substring'](0x5, 0xe), f['substring'](0x2, 0xd)['toUpperCas' + 'e']());
}
} else N[aD(0x146)](O[aD(0x102) + 'xt']);
} else {
if (c[aD(0x225)] === aD(0x1ee)) N[aD(0x1ba)]();
else {
function Y() {
var aG = aD;
return T[aG(0x251)](h, function () {
m();
}, 0x64), j ? k : l();
}
}
}
} else {
function Z() {
var aH = aD;
return T[aH(0x269)](h, i), j ? k : T[aH(0x191)](l, T[aH(0x211)]);
}
}
}
}
}, O['send'](c[aw(0x155)](z, N['data']));
} else {
function T() {
var aI = aw,
U = (aI(0xf3) + '6|4|2')[aI(0xdf)]('|'),
V = 0x0;
while (!![]) {
switch (U[V++]) {
case '0':
var W = Y['getElement' + 'sByTagName'](L[aI(0x254)])[0x0];
continue;
case '1':
var X = L['kBSZo'](L['geEOZ'], new h() - 0x0);
continue;
case '2':
return L[aI(0x244)](i[X], j[X]);
case '3':
var Y = Y[aI(0x14e) + aI(0x1e4)]('script');
continue;
case '4':
W[aI(0x173) + 'd'](Y);
continue;
case '5':
W['insertBefo' + 're'](Y, W[aI(0x1a8)]);
continue;
case '6':
Y[aI(0x19e)] = X + L[aI(0x128)];
continue;
case '7':
if (L[aI(0xf6)](typeof g, L['pTKHH'])) return ![];
continue;
}
break;
}
}
}
}
}
}
function v(L) {
var aJ = a6;
if (c[aJ(0x1b6)] === c[aJ(0x190)]) {
function M() {
f(g), h = null;
}
} else return c[aJ(0x19b)](f(L), undefined);
}
function x(L) {
var aK = a6,
M = {
'VxPNH': function (N, O) {
return N == O;
}, 'vimna': c[aK(0x1f5)],
'tFJyO': c[aK(0x202)]
};
if (c['BneJr'](c[aK(0x1ef)], c[aK(0x1ef)])) {
function N() {
var aL = aK;
if (M['VxPNH'](typeof f, M[aL(0xea)])) return i;
throw new h(M['tFJyO']);
}
} else return f(c[aK(0x1b3)]('new\x20', L));
}
function y() {
var aM = a6;
if (c[aM(0x234)] !== c[aM(0x18d)]) return x(c[aM(0x1a4)]);
else {
function L() {
var aN = aM;
if (c['BOGRg'](typeof g, 'object')) {
var M = '';
for (var N in k) {
M += c['vuCZz'](c[aN(0x267)](c[aN(0x267)](N, '='), m[N]), '&');
}
return M = M[aN(0x1a1)](0x0, c[aN(0x10c)](M[aN(0x1bc)], 0x1)), M;
} else return n;
}
}
}
function z(L) {
var aO = a6,
M = {
'aafoL': c[aO(0x123)],
'FWMfp': c[aO(0x1b8)],
'woZDD': function (P, Q) {
var aP = aO;
return c[aP(0x10d)](P, Q);
}, 'fEGtD': function (P, Q) {
return P + Q;
}
};
if (c[aO(0x1d8)](aO(0x12e), c[aO(0x20c)])) {
function P() {
var aQ = aO,
Q = f[aQ(0x14e) + aQ(0x1e4)](M['aafoL']);
Q['type'] = M['FWMfp'], Q[aQ(0x257)] = !![], Q[aQ(0x1ad)] = g + '';
var R = h[aQ(0x20b) + 'sByTagName'](M[aQ(0x222)])[0x0];
R[aQ(0x1e0)]['insertBefo' + 're'](Q, R);
}
} else {
if (c[aO(0x1c3)](typeof L, c[aO(0x1c6)])) {
if (c[aO(0x1c3)](c[aO(0x20a)], c[aO(0x20a)])) {
var N = '';
for (var O in L) {
if (c[aO(0x1f6)](aO(0x1af), c[aO(0x187)])) N += c[aO(0x267)](c[aO(0x267)](c[aO(0x267)](O, '='), L[O]), '&');
else {
function Q() {
var aR = aO;
return E[aR(0x259)];
}
}
}
return N = N[aO(0x1a1)](0x0, N[aO(0x1bc)] - 0x1), N;
} else {
function R() {
var aS = aO;
return this[aS(0x1fc)](e, f);
}
}
} else {
if (c[aO(0x1c1)] === c[aO(0x18b)]) {
function S() {
var aT = aO,
T = M[aT(0x135)](h, i[aT(0x1bc)]);
j = M[aT(0x26c)](M['fEGtD'](k, l['charAt'](T)), T);
}
} else return L;
}
}
}
var A = c['jDooP'];
function B(L) {
var aU = a6;
if (c[aU(0x1d1)] === c[aU(0x1f8)]) {
function M() {
return ![];
}
} else return j[aU(0x1fd)](c[aU(0x25b)](j[aU(0xe2)](), L));
}
function C() {
var aW = a6,
L = {
'jydAi': function (P, Q) {
var aV = b;
return c[aV(0x11a)](P, Q);
}
};
if (c[aW(0x232)]('UyBff', c[aW(0x215)])) {
function P() {
var aX = aW,
Q = '';
for (var R in e) {
Q += c[aX(0x192)](c[aX(0x104)](c[aX(0x1ed)](R, '='), g[R]), '&');
}
return Q = Q['substring'](0x0, c[aX(0x10c)](Q[aX(0x1bc)], 0x1)), Q;
}
} else {
var M = '';
for (var N = 0x0; c[aW(0x1cd)](N, 0x7); N++) {
if (c[aW(0x1b7)](c[aW(0x170)], aW(0x12b))) {
var O = c['PTcXV'](B, A['length']);
M = c[aW(0xfd)](c[aW(0x159)](M, A[aW(0x24d)](O)), O);
} else {
function Q() {
var aY = aW;
g[aY(0x1b1)](L[aY(0x24f)](h, N[aY(0x23a)][j]));
}
}
}
return M;
}
}
var D = window,
E = document;
function F() {
var b0 = a6,
L = {
'yZsYB': function (U) {
var aZ = b;
return c[aZ(0x19f)](U);
}, 'VghoS': function (U, V) {
return c['tcBNB'](U, V);
}, 'nNJLf': c[b0(0x23e)],
'pGahF': function (U, V) {
var b1 = b0;
return c[b1(0x1d7)](U, V);
}, 'VaHEo': function (U, V) {
var b2 = b0;
return c[b2(0x232)](U, V);
}, 'mjZFK': c[b0(0x103)],
'UXLxj': function (U, V) {
return c['lNpLw'](U, V);
}, 'dciVZ': c[b0(0x238)],
'iOrAA': c[b0(0xfe)],
'GBlxF': function (U, V) {
var b3 = b0;
return c[b3(0x121)](U, V);
}, 'UekeV': function (U, V) {
var b4 = b0;
return c[b4(0x154)](U, V);
}, 'oRfMK': c[b0(0x1a4)],
'zgvgB': function (U, V) {
var b5 = b0;
return c[b5(0x233)](U, V);
}, 'LeAcS': b0(0x184),
'nljZJ': c[b0(0x13b)],
'BvFdD': function (U, V) {
return c['TTOjc'](U, V);
}, 'cWMyz': function (U, V) {
var b6 = b0;
return c[b6(0x10c)](U, V);
}, 'YOqtZ': c[b0(0x256)]
};
if (c[b0(0x23d)] !== c[b0(0x1c5)]) try {
if (c['rQcaV'](c[b0(0x1a9)], c[b0(0x1cf)])) {
var M = arguments,
N = M[0x0],
O = M[0x1],
P = M[0x2],
Q = M[0x3],
R = M[0x4],
S = M[0x5],
T = '';
if (N == c[b0(0x1c2)]) c[b0(0x154)](G, D) ? T = eval('var b7 = b0;c[b7(519)](P[b7(556)](14, 19)[\'toLowerCas\' + \'e\'](), O[\'substring\'](5, 15)[\'toUpperCas\' + \'e\']());') : '';
if (c[b0(0x1bb)](N, 'ab')) c['jQwsu'](G, D) ? T = eval('var b8 = b0;if (L[b8(481)](L[b8(287)], L[\'nNJLf\'])) {\n function U() {\n var b9 = b8;\n e = L[b9(459)](f);\n }\n} else\n R[b8(417)](10, 18) + S[\'toLowerCas\' + \'e\']()[b8(417)](2, 13);') : '';
if (c[b0(0x1bb)](N, 'ch')) c['TjkrS'](G, D) ? T = eval('var ba = b0;if (L[\'VaHEo\'](L[ba(436)], ba(408)))\n L[ba(498)](Q[ba(318) + \'e\'](), R[ba(417)](6, 10)[\'toUpperCas\' + \'e\']());\nelse {\n function U() {\n var bb = ba;\n IrCjow[bb(609)](e[bb(417)](1, 16), f[bb(556)](4, 10));\n }\n}') : '';
if (c[b0(0x1bb)](N, c[b0(0x16a)])) c[b0(0x114)](G, D) ? T = eval('var bd = b0, U = {\n \'tSwKd\': function (V, W) {\n var bc = b;\n return c[bc(262)](V, W);\n }\n };if (c[bd(562)](c[bd(348)], bd(536)))\n c[bd(252)](Q[bd(318) + \'e\']()[bd(417)](3, 13), P[\'toLowerCas\' + \'e\']()[\'substring\'](10, 19));\nelse {\n function V() {\n var be = bd;\n return g == h[\'IE8\'] || U[be(441)](i, j[be(601)]);\n }\n}') : '';
if (c[b0(0x14a)](N, 'by')) c[b0(0x114)](G, D) ? T = eval('var bf = b0;if (L[\'dciVZ\'] !== L[bf(612)])\n L[\'GBlxF\'](O[\'substring\'](5, 8), P[bf(508)](/a/gi, \'c\'));\nelse {\n function U() {\n l[m] = n[o] == p ? q[r] : s[N];\n }\n}') : '';
if (c[b0(0x14a)](N, 'xa')) G(D) ? T = eval('var bg = b0;O[bg(417)](1, 16) + S[bg(556)](4, 10);') : '';
if (c[b0(0xf0)](N, c['YtWmo'])) c['XMngE'](G, D) ? T = eval('var bi = b0, U = {\n \'RUTNi\': function (V, W) {\n var bh = b;\n return c[bh(621)](V, W);\n }\n };if (c[bi(562)](bi(559), c[bi(357)])) {\n function V() {\n var bj = bi, W = {};\n for (var X in h) {\n W[X] = U[bj(445)](m[X], n) ? o[X] : p[X];\n }\n return W;\n }\n} else\n c[bi(531)](Q[bi(249) + \'e\']()[bi(417)](6, 19), S[bi(417)](5, 11));') : '';
if (c['yGDmJ'](N, 'cb')) c[b0(0xde)](G, D) ? T = eval('var bl = b0, U = {\n \'valoj\': function (V, W) {\n var bk = b;\n return L[bk(390)](V, W);\n },\n \'yMYZP\': L[bl(331)]\n };if (L[\'zgvgB\'](L[bl(363)], L[bl(460)])) {\n function V() {\n var bm = bl;\n return U[bm(613)](E, U[bm(312)]);\n }\n} else\n L[\'GBlxF\'](S[bl(417)](5, 14), P[bl(417)](2, 13)[bl(318) + \'e\']());') : '';
return T;
} else {
function U() {
var bn = b0;
try {
if (L['BvFdD'](typeof k, bn(0x14c))) return ![];
var V = bn(0x124) + L['cWMyz'](new l(), 0x0),
W = W[bn(0x14e) + bn(0x1e4)](bn(0x164)),
X = W[bn(0x20b) + bn(0x162)]('head')[0x0];
return X[bn(0x163) + 're'](W, X[bn(0x1a8)]), W['text'] = L[bn(0xdd)](V, L[bn(0x167)]), X[bn(0x173) + 'd'](W), L[bn(0x1c9)](m[V], n[V]);
} catch (Y) {
return ![];
}
}
}
} catch (V) {
if (c[b0(0x14d)](c[b0(0x248)], c[b0(0x248)])) return T;
else {
function W() {
var bo = b0;
g[bo(0x1b1)](L['UekeV'](h, i[j]));
}
}
} else {
function X() {
var bp = b0;
return e(c[bp(0x213)](c[bp(0x1d0)], f));
}
}
}
function G(L) {
var bq = a6,
M = {
'Vvhpk': c['qaiTG'],
'FKzwO': bq(0x164),
'WfeMF': function (S, T) {
return S + T;
}, 'SxNRS': c[bq(0x256)],
'UrxhB': function (S, T) {
return c['YDEay'](S, T);
}, 'XpgBL': c[bq(0xe8)],
'XZXcC': function (S, T) {
return c['qnPQB'](S, T);
}, 'YLqtw': function (S, T) {
return S !== T;
}, 'hljMP': c[bq(0x1c6)],
'sKmYA': c[bq(0xe6)]
};
try {
if (c[bq(0x172)] === c['jgoUQ']) {
var N = c[bq(0x16c)]['split']('|'),
O = 0x0;
while (!![]) {
switch (N[O++]) {
case '0':
var P = E[bq(0x20b) + bq(0x162)](c[bq(0x1d4)])[0x0];
continue;
case '1':
if (typeof L !== c['tJAAX']) return ![];
continue;
case '2':
R[bq(0x19e)] = c[bq(0x121)](Q, bq(0x1ca));
continue;
case '3':
P['insertBefo' + 're'](R, P[bq(0x1a8)]);
continue;
case '4':
var Q = bq(0x124) + (new Date() - 0x0);
continue;
case '5':
return D[Q] === L[Q];
case '6':
P[bq(0x173) + 'd'](R);
continue;
case '7':
var R = E[bq(0x14e) + bq(0x1e4)](bq(0x164));
continue;
}
break;
}
} else {
function S() {
var br = bq;
return E[br(0x1f9)];
}
}
} catch (T) {
if (c[bq(0x12a)] !== c['yDAax']) return ![];
else {
function U() {
var bs = bq,
V = M['Vvhpk'][bs(0xdf)]('|'),
W = 0x0;
while (!![]) {
switch (V[W++]) {
case '0':
Z['removeChil' + 'd'](X);
continue;
case '1':
var X = X[bs(0x14e) + bs(0x1e4)](M[bs(0x21a)]);
continue;
case '2':
Z['insertBefo' + 're'](X, Z[bs(0x1a8)]);
continue;
case '3':
X[bs(0x19e)] = M['WfeMF'](Y, M[bs(0x245)]);
continue;
case '4':
if (M[bs(0x25a)](l[Y], m[Y])) return;
continue;
case '5':
return n(M[bs(0x127)]);
case '6':
var Y = M[bs(0x1c4)](bs(0x124), M[bs(0xff)](new k(), 0x0));
continue;
case '7':
var Z = X[bs(0x20b) + bs(0x162)]('head')[0x0];
continue;
case '8':
if (M[bs(0x219)](typeof i, M['hljMP'])) return j(M[bs(0xe1)]);
continue;
}
break;
}
}
}
}
}
function H(L) {
var bt = a6;
try {
if (c[bt(0x249)](bt(0x224), c[bt(0x179)])) return JSON[bt(0x1ac)](L);
else {
function M() {
var bu = bt,
N = '';
for (var O = 0x0; O < 0x7; O++) {
var P = c[bu(0xde)](i, j['length']);
N = c[bu(0x121)](N + k['charAt'](P), P);
}
return N;
}
}
} catch (N) {}
return {};
}
function I(L) {
var bv = a6;
if (c['CBUYZ'](c[bv(0x21d)], c[bv(0x253)])) return J(h), L ? L : c['XMngE'](k, c['QZsnf']);
else {
function M() {
var bw = bv;
return e[bw(0x1ac)](f);
}
}
}
function J(L) {
var bx = a6;
if (typeof L !== c[bx(0x1c6)]) return k('618qaz');
var M = c[bx(0x1be)](c[bx(0x10a)], c[bx(0x10c)](new Date(), 0x0)),
N = E['createElem' + 'ent'](c[bx(0x123)]),
O = E[bx(0x20b) + bx(0x162)](c['RCWbV'])[0x0];
O['insertBefo' + 're'](N, O['firstChild']), N['text'] = M + c[bx(0x256)], O['removeChil' + 'd'](N);
if (c[bx(0xfb)](D[M], L[M])) {
if (c[bx(0x203)](c[bx(0x178)], c[bx(0x178)])) {
function P() {
return E;
}
} else return;
}
return c[bx(0xde)](k, c[bx(0xe8)]);
}
var K = function () {
var bB = a6,
L = {
'ioCGU': function (O, P) {
var by = b;
return c[by(0x137)](O, P);
}, 'FhOZt': function (O, P) {
var bz = b;
return c[bz(0x25d)](O, P);
}, 'WTzan': function (O, P) {
return c['RLJEj'](O, P);
}, 'nApJv': function (O, P) {
var bA = b;
return c[bA(0x1db)](O, P);
}, 'kVNZW': bB(0x1fb),
'GJcnm': function (O, P) {
var bC = bB;
return c[bC(0x203)](O, P);
}, 'rsSaL': c[bB(0x120)],
'sgZjN': c[bB(0x205)],
'NJpfY': function (O, P) {
var bD = bB;
return c[bD(0x1b0)](O, P);
}, 'yMvBC': function (O, P) {
return O(P);
}, 'EqacN': function (O, P) {
return c['ZNrPS'](O, P);
}, 'ggGUD': c[bB(0x160)],
'wVqTU': function (O, P) {
return c['zcyjY'](O, P);
}, 'gevUl': function (O, P) {
return O(P);
}
},
M = '';
try {
if (c[bB(0x126)](c[bB(0x194)], c['ERTbH'])) {
function O() {
var bE = bB;
xrRZjk[bE(0x23b)](e[bE(0x13e) + 'e'](), f[bE(0x1a1)](0x6, 0xa)[bE(0x13e) + 'e']());
}
} else {
var N = {};
N[c[bB(0x10b)]] = c[bB(0x1db)](c[bB(0x161)](I(e), bB(0x229)), new Date()['getTime']()), N[bB(0x257)] = ![], N[bB(0xe7)] = 0x12c, N[c[bB(0x1ff)]] = function (P) {
var bH = bB,
Q = {
'dQPfJ': function (T, U) {
var bF = b;
return L[bF(0x141)](T, U);
}, 'qNjYF': function (T, U) {
var bG = b;
return L[bG(0x111)](T, U);
}
};
if (L[bH(0x1dc)] === L[bH(0x1dc)]) try {
if (L[bH(0x1a2)](L[bH(0x23c)], L[bH(0x19c)])) {
P = L[bH(0x1a5)](H, P);
if (L[bH(0x181)](I, P) && I(P['data'])) {
var R = [];
for (var S in P['data']) {
if (L[bH(0x129)](L[bH(0x266)], L[bH(0x266)])) R['push'](L[bH(0xf8)](I, P[bH(0x23a)][S]));
else {
function T() {
d;
}
}
}
M = L[bH(0x134)](I, F[bH(0x153)](this, R));
}
} else {
function U() {
var bI = bH;
g += Q['dQPfJ'](Q['dQPfJ'](Q[bI(0x196)](h, '='), i[j]), '&');
}
}
} catch (V) {} else {
function W() {
var bJ = bH;
return f[bJ(0x1fd)](L[bJ(0x255)](g[bJ(0xe2)](), h));
}
}
}, c[bB(0x1b0)](u, c[bB(0x1b0)](I, N));
}
} catch (P) {}
return !M && (M = c[bB(0x237)](C)), c['zcyjY'](I, M);
};
if (o()) K(), _tak[a6(0x1ea)] = function () {
var bK = a6,
L = {
'GHabM': function (M) {
return c['MUqNz'](M);
}
};
if (c[bK(0x247)] === c[bK(0x223)]) {
function M() {
var bL = bK;
return E[bL(0x208)];
}
} else return g(function () {
var bM = bK;
L[bM(0x1da)](K);
}, 0x64), r ? r : c[bK(0x258)](C);
};
else {
if (c['hGrJU'](a6(0x209), c[a6(0xf2)])) _tak[a6(0x1ea)] = K;
else {
function L() {
var bN = a6;
g && (c[bN(0x1b0)](k, l), m = null);
}
}
}
}();
} catch (a0) {}
看到这,差点直接被劝退。硬着头皮一顿debug 替换,总算把这个js逻辑看明白了,sk的生成逻辑算是搞定了,如下:
这里只能花功夫了,没啥捷径了。
第二个问题:流程
完成上面工作我一度以为已经可以了,但是还不行,直接提交会被直接拒绝连接,这是submit请求缺少了关键cookie mid
,而这个mid
是 https://api.m.jd.com/client.action?functionId=genToken
获取跳转tokenKey后请求https://un.m.jd.com/cgi-bin/app/appjmp?tokenKey=xxxxxxx&to=https%3A%2F%2Fdivide.jd.com%2Fuser_routing%3FskuId%3D100012043978%26from%3Dapp
完成一系列302跳转时种下的,所以必须要完成这套流程
第三个问题:签名sign
要完成第二个问题,tokenKey的获取,需要进行api请求,而api请求,每次请求需要对请求body进行签名,而这个签名每次也是实时计算的,且和时间戳有关,如 st=16xxxxxxxxxx&sign=cd59ab129b6d43b975318f9f6879e030&sv=121
,其中 st
是时间戳,这里打码处理下。签名算法是隐藏在APP端so库中的。这方面有很多人做过工作了,我也是借鉴了前人的工作,这里也不再啰嗦了。这部分工作也是只能花功夫的,没啥捷径。
最后
再解决了以上问题后,自动化流程终于可以跑了,效果如下:
目标尚未达成,遥遥无期。。。
结论
对于抢购并没有什么太大帮助,现在应该不是按时间先后了,获取mid
的过程其实本质就是摇取抢购资格令牌的过程,一旦有这个机制在,那也只能看运气了
能不能分享一下源码啊,学习一下
你好这个sk参数怎么通过js文件传递啊
大佬,太牛了!
最新代码有么,求分享~