爬虫逆向实战(32)-某号店登录(RSA、补环境、混淆)
一、数据接口分析
主页地址:某号店
1、抓包
通过抓包可以发现登录接口是/publicPassport/login.do
2、判断是否有加密参数
- 请求参数是否加密?
通过查看“载荷”模块可以发现,有三个加密参数:username
、password
、captchaToken
- 请求头是否加密?
无 - 响应是否加密?
无 - cookie是否加密?
无
二、加密位置定位
1、看启动器
查看启动器发现里面调用堆栈中有一个double_submit
,点进去查看
可以看出此处是发送ajax请求的位置,并且三个加密参数都是在此处赋值
在此处打上断点,发现可以断住,所以此处就是加密位置。
三、扣js代码
username
、password
是使用的标准RSA加密算法,所以我们可以不用扣,直接使用标准算法即可。但是captchaToken
是使用window.jab.getData()
生成的,进去这个方法后,可以发现是在一个混淆的文件中,所以我们需要将文件进行解混淆,解混淆之后再使用本地替换,将这个js文件替换为解混淆的。扣代码的时候,发现需要扣的代码还是挺多的,所以我们可以将整个文件全扣,然后补环境即可。
JavaScript源码:
function get_null_func(name) {return function (arg) {console.log('null_func --> ', name, ' --> ', arg)}
}window = globalfunction getElementsByTagName(arg) {switch (arg){case 'head':return [{appendChild: get_null_func('getElementsByTagName --> appendChild')}]}console.log('getElementsByTagName --> ', arg)
}function createElement(arg) {switch (arg){case 'script':return {}}console.log('getElementsByTagName --> ', arg)
}document = {getElementsByTagName: getElementsByTagName,createElement: createElement,cookie: ''
}navigator = {userAgent:'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
}Image = get_null_func('Image')function XMLHttpRequest() {return {open: get_null_func('XMLHttpRequest --> open')}
}setTimeout = get_null_func('setTimeout')!function (a) {window["Murmur"] = function (c, e, b, d) {var f = function () {};f["prototype"] = {"x64Add": function (j, k) {j = [j[0] >>> 16, 65535 & j[0], j[1] >>> 16, 65535 & j[1]];k = [k[0] >>> 16, 65535 & k[0], k[1] >>> 16, 65535 & k[1]];var g = [0, 0, 0, 0];g[3] += j[3] + k[3];g[2] += g[3] >>> 16;g[3] &= 65535;g[2] += j[2] + k[2];g[1] += g[2] >>> 16;g[2] &= 65535;g[1] += j[1] + k[1];g[0] += g[1] >>> 16;g[1] &= 65535;g[0] += j[0] + k[0];g[0] &= 65535;return [g[0] << 16 | g[1], g[2] << 16 | g[3]];},"x64Multiply": function (j, k) {j = [j[0] >>> 16, 65535 & j[0], j[1] >>> 16, 65535 & j[1]];k = [k[0] >>> 16, 65535 & k[0], k[1] >>> 16, 65535 & k[1]];var g = [0, 0, 0, 0];g[3] += j[3] * k[3];g[2] += g[3] >>> 16;g[3] &= 65535;g[2] += j[2] * k[3];g[1] += g[2] >>> 16;g[2] &= 65535;g[2] += j[3] * k[2];g[1] += g[2] >>> 16;g[2] &= 65535;g[1] += j[1] * k[3];g[0] += g[1] >>> 16;g[1] &= 65535;g[1] += j[2] * k[2];g[0] += g[1] >>> 16;g[1] &= 65535;g[1] += j[3] * k[1];g[0] += g[1] >>> 16;g[1] &= 65535;g[0] += j[0] * k[3] + j[1] * k[2] + j[2] * k[1] + j[3] * k[0];g[0] &= 65535;return [g[0] << 16 | g[1], g[2] << 16 | g[3]];},"x64Rotl": function (g, i) {return 32 == (i %= 64) ? [g[1], g[0]] : i < 32 ? [g[0] << i | g[1] >>> 32 - i, g[1] << i | g[0] >>> 32 - i] : (i -= 32, [g[1] << i | g[0] >>> 32 - i, g[0] << i | g[1] >>> 32 - i]);},"x64LeftShift": function (g, i) {return 0 == (i %= 64) ? g : i < 32 ? [g[0] << i | g[1] >>> 32 - i, g[1] << i] : [g[1] << i - 32, 0];},"x64Xor": function (g, i) {return [g[0] ^ i[0], g[1] ^ i[1]];},"x64Fmix": function (g) {g = this["x64Xor"](g, [0, g[0] >>> 1]);g = this["x64Multiply"](g, [4283543511, 3981806797]);g = this["x64Xor"](g, [0, g[0] >>> 1]);g = this["x64Multiply"](g, [3301882366, 444984403]);return g = this["x64Xor"](g, [0, g[0] >>> 1]);},"x64hash128": function (v, l) {v = v || "";l = l || 0;for (var k = v["length"] % 16, w = v["length"] - k, g = [0, l], j = [0, l], m = [0, 0], u = [0, 0], p = [2277735313, 289559509], q = [1291169091, 658871167], n = 0; n < w; n += 16) {m = [255 & v["charCodeAt"](n + 4) | (255 & v["charCodeAt"](n + 5)) << 8 | (255 & v["charCodeAt"](n + 6)) << 16 | (255 & v["charCodeAt"](n + 7)) << 24, 255 & v["charCodeAt"](n) | (255 & v["charCodeAt"](n + 1)) << 8 | (255 & v["charCodeAt"](n + 2)) << 16 | (255 & v["charCodeAt"](n + 3)) << 24];u = [255 & v["charCodeAt"](n + 12) | (255 & v["charCodeAt"](n + 13)) << 8 | (255 & v["charCodeAt"](n + 14)) << 16 | (255 & v["charCodeAt"](n + 15)) << 24, 255 & v["charCodeAt"](n + 8) | (255 & v["charCodeAt"](n + 9)) << 8 | (255 & v["charCodeAt"](n + 10)) << 16 | (255 & v["charCodeAt"](n + 11)) << 24];m = this["x64Multiply"](m, p);m = this["x64Rotl"](m, 31);m = this["x64Multiply"](m, q);g = this["x64Xor"](g, m);g = this["x64Rotl"](g, 27);g = this["x64Add"](g, j);g = this["x64Add"](this["x64Multiply"](g, [0, 5]), [0, 1390208809]);u = this["x64Multiply"](u, q);u = this["x64Rotl"](u, 33);u = this["x64Multiply"](u, p);j = this["x64Xor"](j, u);j = this["x64Rotl"](j, 31);j = this["x64Add"](j, g);j = this["x64Add"](this["x64Multiply"](j, [0, 5]), [0, 944331445]);}switch (m = [0, 0], u = [0, 0], k) {case 15:u = this["x64Xor"](u, this["x64LeftShift"]([0, v["charCodeAt"](n + 14)], 48));case 14:u = this["x64Xor"](u, this["x64LeftShift"]([0, v["charCodeAt"](n + 13)], 40));case 13:u = this["x64Xor"](u, this["x64LeftShift"]([0, v["charCodeAt"](n + 12)], 32));case 12:u = this["x64Xor"](u, this["x64LeftShift"]([0, v["charCodeAt"](n + 11)], 24));case 11:u = this["x64Xor"](u, this["x64LeftShift"]([0, v["charCodeAt"](n + 10)], 16));case 10:u = this["x64Xor"](u, this["x64LeftShift"]([0, v["charCodeAt"](n + 9)], 8));case 9:u = this["x64Xor"](u, [0, v["charCodeAt"](n + 8)]);u = this["x64Multiply"](u, q);u = this["x64Rotl"](u, 33);u = this["x64Multiply"](u, p);j = this["x64Xor"](j, u);case 8:m = this["x64Xor"](m, this["x64LeftShift"]([0, v["charCodeAt"](n + 7)], 56));case 7:m = this["x64Xor"](m, this["x64LeftShift"]([0, v["charCodeAt"](n + 6)], 48));case 6:m = this["x64Xor"](m, this["x64LeftShift"]([0, v["charCodeAt"](n + 5)], 40));case 5:m = this["x64Xor"](m, this["x64LeftShift"]([0, v["charCodeAt"](n + 4)], 32));case 4:m = this["x64Xor"](m, this["x64LeftShift"]([0, v["charCodeAt"](n + 3)], 24));case 3:m = this["x64Xor"](m, this["x64LeftShift"]([0, v["charCodeAt"](n + 2)], 16));case 2:m = this["x64Xor"](m, this["x64LeftShift"]([0, v["charCodeAt"](n + 1)], 8));case 1:m = this["x64Xor"](m, [0, v["charCodeAt"](n)]);m = this["x64Multiply"](m, p);m = this["x64Rotl"](m, 31);m = this["x64Multiply"](m, q);g = this["x64Xor"](g, m);}g = this["x64Xor"](g, [0, v["length"]]);j = this["x64Xor"](j, [0, v["length"]]);g = this["x64Add"](g, j);j = this["x64Add"](j, g);g = this["x64Fmix"](g);j = this["x64Fmix"](j);g = this["x64Add"](g, j);j = this["x64Add"](j, g);return ("00000000" + (g[0] >>> 0)["toString"](16))["slice"](-8) + ("00000000" + (g[1] >>> 0)["toString"](16))["slice"](-8) + ("00000000" + (j[0] >>> 0)["toString"](16))["slice"](-8) + ("00000000" + (j[1] >>> 0)["toString"](16))["slice"](-8);},"hash": function (g) {return this["x64hash128"](g, 31);}};return new f();}(window, document, navigator, setTimeout);
}();
!function () {(function () {function d(f, g, h) {function k(p, q) {if (!g[p]) {if (!f[p]) {var y = typeof require == "function" && require;if (!q && y) {return y(p, true);}if (l) {return l(p, true);}var x = new Error("Cannot find module '" + p + "'");throw x["code"] = "MODULE_NOT_FOUND", x;}var z = g[p] = {"exports": {}};f[p][0]["call"](z["exports"], function (A) {var B = f[p][1][A];return k(B ? B : A);}, z, z["exports"], d, f, g, h);}return g[p]["exports"];}var l = typeof require == "function" && require;for (var m = 0; m < h["length"]; m++) {k(h[m]);}return k;}return d;})()({1: [function (c, d, e) {(function (g) {d["exports"] = g(window, document, navigator, setTimeout, clearTimeout, encodeURIComponent, Object, Date, Array, String, Image, RegExp, Math, XMLHttpRequest, parseInt);})(function (g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) {"use strict";var w = c(7);var x = w["ism"]();var y = g;var z = h;var B = [];var C = [];var D = 0;var E = [];var F = {};var G = "";var H = new n()["getTime"]();var I = {};var J = {};var K = "";var L = 0;var M = [];var N = function () {};o["prototype"]["indexOf"] = o["prototype"]["indexOf"] || function (au) {for (var av = 0; av < this["length"]; av++) {if (this[av] === au) {return av;}}return -1;};var O = ["click", "mousemove", "keydown", "mouseenter", "mouseleave", "touchstart", "touchmove", "touchend", "touchcancel", "focus", "blur", "mousedown"];var P = ["resize", "orientationchange", "mousewheel", "DOMMouseScroll", "scroll"];var Q = ["click", "mousedown", "mousemove", "keydown", "touchstart", "touchmove"];var R = O["concat"](P);var S = 0;var T = false;var U = 0;var V = 0;var W = 0;var X = [1000, -1000];var Y = [1000, -1000];var Z = 0;var a0 = 0;var a1 = false;var a2 = [1000, -1000];var a3 = [1000, -1000];var a4 = [1000, -1000];if (g["DeviceOrientationEvent"]) {T = true;g["addEventListener"]("deviceorientation", function (au) {try {S++;if (au["beta"] == null || au["gamma"] == null) {U++;return;}if (au["absolute"]) {V++;} else {W++;}X = a5(au["beta"], X);Y = a5(au["gamma"], Y);} catch (ax) {}}, true);}if (g["DeviceMotionEvent"]) {a1 = true;g["addEventListener"]("devicemotion", function (au) {Z++;var aA = au["accelerationIncludingGravity"];var az = aA["x"];var ay = aA["y"];var ax = aA["z"];if (az == null || ay == null || ax == null) {a0++;return;}a2 = a5(az, a2);a3 = a5(az, a3);a4 = a5(az, a4);}, true);}function a5(au, av) {av[0] = s["min"](au, av[0]);av[1] = s["max"](au, av[1]);return av;}function a6(au) {var av = R["indexOf"](au);return av;}function a7() {return u(new n()["getTime"]() - H);}function a8(au) {if (event["touches"] && event["touches"]["length"] > 0) {var av = event["touches"][0];return u(av["pageX"]) + "," + u(av["pageY"]);} else {return "";}}function a9(au) {if (au["offsetX"] != undefined && au["offsetY"] != undefined) {return u(au["offsetX"]) + "," + u(au["offsetY"]);}return "";}function aa(au) {var av = "";try {if (au["pageX"] != undefined && au["pageY"] != undefined) {av = u(au["pageX"]) + "," + u(au["pageY"]);} else {if (au["clientX"] != undefined && au["clientX"] != undefined) {var aw = z["documentElement"],ax = z["body"];var ay = event["clientX"] + (aw && aw["scrollLeft"] || ax && ax["scrollLeft"] || 0) - (aw && aw["clientLeft"] || ax && ax["clientLeft"] || 0);var az = event["clientY"] + (aw && aw["scrollTop"] || ax && ax["scrollTop"] || 0) - (aw && aw["clientTop"] || ax && ax["clientTop"] || 0);av = u(ay)["toString"]() + "-" + u(az)["toString"]();}}} catch (aA) {av = "-1,-1";}return av;}function ab(au, av) {var az = function (aC) {var aD = "",aE = aC["type"];if (["focus", "blur", "mousewheel", "DOMMouseScroll", "scroll"]["indexOf"](aE) != -1) {aD = "";} else {if (["resize", "orientationchange"]["indexOf"](aE) != -1) {aD = (g["innerWidth"] || 0) + "," + (g["innerHeight"] || 0);} else {if (aE == "keydown") {var aF = aC["keyCode"] ? aC["keyCode"] + "" : "";aD = ["8", "9", "46", "13"]["indexOf"](aF) != -1 ? aF : "";} else {if (aE["indexOf"]("touch") != -1) {aD = a8(aC) + "|" + a9(aC);} else {aD = aa(aC) + "|" + a9(aC);}}}}return aD;};var aB = a7();var aA = az(au);return {"et": au["type"],"to": aB,"ed": aA,"id": av,"it": au["isTrusted"]};}function ac(au, av, aw, ax, ay, az) {var aD = F[aw] ? true : false;var aC = G == ax;var aF = av["indexOf"](au["type"]) != -1;if (!aD || !aC || !aF) {return false;}var aG = F[aw]["eti"];var aE = u((aG - H) / az) === u((ay - H) / az);return aE;}var ad = [];function ae(au) {var av = au["target"] || au["srcElement"];var aw = false;for (var ax = 0; ax < ad["length"]; ax++) {if (av == ad[ax]) {aw = true;}}return aw;}function af(au, av) {var aw = ["mousemove", "mousedown", "mouseenter", "touchmove", "touchstart"];if (!K && au["type"] == "mousemove") {K = av;}if (K && av != K && aw["indexOf"](au["type"]) != -1) {M["push"](K + ":" + L);K = av;L = 0;}if (au["type"] == "mousemove") {L++;}}function ag() {var au = [];au = au["concat"](M);if (L > 0 && K) {au["push"](K + ":" + L);}return au;}var ah = function (au, av, aw) {w["ael"](au, av, function (ay) {var aC = ay || g["event"];var aE = new n()["getTime"]();var aN = aw + "_" + aC["type"];var aD = ae(aC);if (au == h && aD) {return;}af(aC, aw);if (aC["type"] == "mousemove") {var aM = I[aw] || 0;I[aw] = aM + 1;var aL = s["abs"](aC["movementX"]);var aK = s["abs"](aC["movementY"]);if (aL != undefined && aK != undefined) {var aH = J[aw] || "0-0";var aI = u(aH["split"]("-")[0]);var aJ = u(aH["split"]("-")[1]);if (aL + aK > aI + aJ) {J[aw] = aL + "-" + aJ;}}}if (x && aC["type"] == "mousemove" || E["length"] > 1000) {D++;return;}var aB = E["length"] < 30 ? 10 : E["length"] < 50 ? 100 : 1000;if (ac(aC, ["mousemove", "touchmove"], aN, aw, aE, aB) || ac(aC, ["resize", "scroll", "mousewheel", "DOMMouseScroll"], aN, aw, aE, 2000)) {D++;return;}G = aw;F[aN] = {"eti": aE,"et": aC["type"]};E["push"](ab(aC, aw));if (N) {N(aC);}});};function ai() {var au = [];for (var av = 0; av < B["length"]; av++) {var aw = B[av];var ax = aw["value"] || "";au["push"](av + ":" + ax["length"]);}return au;}function aj() {function au(aA) {return aA == undefined ? "" : u(aA);}var av = [];for (var aw = 0; aw < B["length"]; aw++) {var ax = B[aw];av["push"](aw + ":" + au(ax["offsetWidth"]) + "-" + au(ax["offsetHeight"]));}for (var aw = 0; aw < C["length"]; aw++) {var ay = C[aw];var az = 5 + aw;av["push"](az + ":" + au(ay["offsetWidth"]) + "-" + au(ay["offsetHeight"]));}return av;}function ak(au) {var av = 800;if (B["length"] != 0) {av = 800;} else {if (C["length"] != 0) {av = 500;} else {if (ad["length"] == 0) {av = 200;}}}var aw = E["slice"](0, av);var ax = 0;var ay = [];for (var az = 0; az < aw["length"]; az++) {var aA = az == 0 ? 0 : aw[az - 1]["to"];var aB = aw[az];var aC = a6(aB["et"]);var aD = aB["to"] - aA;if (aD < 0) {ax++;continue;}var aE = aB["ed"];var aF = aB["id"];var aG = aB["it"];var aH = [];if (aG == false) {aH["push"]("f-");} else {if (aG == undefined) {aH["push"]("-");} else {aH["push"]("");}}aH["push"](aC["toString"](36));aH["push"](aF);aH["push"](aD["toString"](36));if (aE && aE["indexOf"]("|") != -1) {var aP = [];var aM = aE["split"]("|")[0];var aO = aE["split"]("|")[1];var aQ = "";var aN = "";var aL = "";var aK = "";if (aM["indexOf"](",") != -1) {aQ = u(aM["split"](",")[0])["toString"](36);aN = u(aM["split"](",")[1])["toString"](36);}if (aO["indexOf"](",") != -1) {aL = u(aO["split"](",")[0])["toString"](36);aK = u(aO["split"](",")[1])["toString"](36);}aP["push"](aQ);aP["push"](aN);aP["push"](aL);aP["push"](aK);aH["push"]("-" + aP["join"](","));} else {if (aE) {aH["push"]("-" + aE);}}ay["push"](aH["join"](""));}if (au) {ay = [];}var aR = new n()["getTime"]();var aS = ["doei:", T ? "1" : "0", S, W, V, U, u(X[0]), u(X[1]), u(Y[0]), u(Y[1])]["join"](",");var aT = ["dmei:", a1 ? "1" : "0", Z, a0, u(a2[0]), u(a2[1]), u(a3[0]), u(a3[1]), u(a4[0]), u(a4[1])]["join"](",");var aU = B["length"];var aV = C["length"];var aW = E["length"];var aX = ay["length"];var aY = [];for (var aZ in I) {aY["push"](aZ + ":" + I[aZ]);}var b0 = [];for (var aZ in J) {b0["push"](aZ + ":" + J[aZ]);}var b1 = ["emc:"]["concat"](aY)["join"](",");var b2 = ["emmm:"]["concat"](b0)["join"](",");var b3 = ag();b3 = au ? [] : b3;var b4 = ["emcf:"]["concat"](b3)["join"](",");var b5 = ["ivli:"]["concat"](ai())["join"](",");var b6 = ["iivl:"]["concat"](ap)["join"](",");var b7 = ["ivcvj:"]["concat"](aq)["join"](",");var b8 = ["scvje:"]["concat"](ar)["join"](",");var b9 = ["ewhi:"]["concat"](aj())["join"](",");ay["push"](aS);ay["push"](aT);ay["push"](b1);ay["push"](b2);ay["push"](b4);ay["push"](b5);ay["push"](b6);ay["push"](b7);ay["push"](b8);ay["push"](b9);var ba = [H, aR, aU, aV, aW, aX, 0, D, ax, 0, w["ivw"]() ? "1" : "0"]["join"](",");ay["push"](ba);var bb = w["sph"](ay["join"](""), "4");ay["push"](bb);return ay["join"](";");};window._ak = akfunction al(au) {return au;}function am(au, av) {if (!h["addEventListener"]) {return;}var az = m["getOwnPropertyDescriptor"](HTMLInputElement["prototype"], "value");if (!az || !az["set"]) {return;}var ay = az["set"];az["set"] = function (aB) {for (var aC = 0; aC < au["length"]; aC++) {if (au[aC] == this) {av(au[aC], aC, au[aC]["value"], aB);}}ay["apply"](this, arguments);};m["defineProperty"](HTMLInputElement["prototype"], "value", az);}function an(au, av) {for (var aw = 0; aw < au["length"]; aw++) {var ax = au[aw];var ay = ax["click"];au[aw]["click"] = function (az) {return function () {av(au[az], az);ay["apply"](this, arguments);};}(aw);}}function ao(au) {var av = [];w["each"](au, function (aw, ax) {av["push"](ax);});return av;}var ap = [];var aq = [];var ar = [];function as() {B = ao(h["querySelectorAll"]("[_input]"));C = ao(h["querySelectorAll"]("[_submit]"));ad = ad["concat"](B);ad = ad["concat"](C);if (B["length"] > 0) {w["each"](B, function (ax, ay) {ah(ay, al(O), ax + "");});ap = ai();!x && am(B, function (ax, ay, az, aA) {var aB = ay;aq["push"](aB + ":" + az["length"] + ":" + aA["length"]);});}if (C["length"] > 0) {w["each"](C, function (ax, ay) {ah(ay, al(O), 5 + ax + "");});an(C, function (ax, ay) {ar["push"](5 + ay);});}}try {as();w["d_r"](function () {if (ad["length"] == 0) {as();}});ah(h, al(Q), "d");ah(y, al(P), "w");} catch (au) {}function at(av) {N = av;}return {"l": at,"get": ak};});}, {"7": 7}],2: [function (c, d, e) {(function (g) {d["exports"] = g(window, document, navigator, setTimeout, clearTimeout, encodeURIComponent, Object, Date, Array, String, Image, RegExp, Math, XMLHttpRequest, parseInt);})(function (g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) {var w = g;var x = c(6);var y = c(7);var z = c(4);var A = c(1);var B = "";var C = 0;var D = 0;var E = "";var F = "";var G = "";var I = "//nocaptcha.jd.com";var J = "_c_id";var K = "_s_id";var L = false;var M = "";var N = "";N += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";N += "abcdefghijklmnopqrstuvwxyz";N += "0123456789";N += "+/";var O = p["fromCharCode"];var P = function (ap) {var au = ap["length"];var av = [];for (var as = 0; as < au; as++) {av[as >>> 2] |= (ap["charCodeAt"](as) & 255) << 24 - as % 4 * 8;}var at = [];for (var as = 0; as < au; as += 3) {var aB = av[as >>> 2] >>> 24 - as % 4 * 8 & 255;var aC = av[as + 1 >>> 2] >>> 24 - (as + 1) % 4 * 8 & 255;var aA = av[as + 2 >>> 2] >>> 24 - (as + 2) % 4 * 8 & 255;var ay = aB << 16 | aC << 8 | aA;for (var az = 0; az < 4 && as + az * 0.75 < au; az++) {at["push"](N["charAt"](ay >>> 6 * (3 - az) & 63));}}for (var as = 0; as < at["length"] % 4; as++) {at["push"]("=");}return at["join"]("");};function Q(ap) {function ar(az, aA) {return O(az >> aA & 63 | 128);}function as(az) {if (az >= 55296 && az <= 57343) {throw Error("not a scalar value");}}function at(az) {var aD = [];var aC = 0;var aE = az["length"];while (aC < aE) {var aF = az["charCodeAt"](aC++);aD["push"](aF);}return aD;}function au(az) {if ((az & 4294967168) == 0) {return O(az);}var aC = "";if ((az & 4294965248) == 0) {aC = O(az >> 6 & 31 | 192);} else {if ((az & 4294901760) == 0) {as(az);aC = O(az >> 12 & 15 | 224);aC += ar(az, 6);} else {if ((az & 4292870144) == 0) {aC = O(az >> 18 & 7 | 240);aC += ar(az, 12);aC += ar(az, 6);}}}aC += O(az & 63 | 128);return aC;}var av = at(ap);var aw = -1;var ax = "";while (++aw < av["length"]) {var ay = av[aw];ax += au(ay);}return ax;}function R(ap) {function ar(av) {var aw = (av & 15) << 4;var ax = (av & 240) >>> 4;return aw | ax;}var as = Q(ap);var at = "";for (var au = 0; au < as["length"]; au++) {at += O(ar(as["charCodeAt"](au)));}return P(at);}function S(ap, aq) {function as(ax, ay) {return ax ^ ay;}if (!ap) {return "";}var at = Q(ap);var au = "";for (var aw = 0; aw < at["length"]; aw++) {au += O(at["charCodeAt"](aw) ^ aq["charCodeAt"](aw % aq["length"]));}return P(au);}var T = y["ouw"](function () {var ap = y["grs"](32);var aq = ap + y["sph"](ap, 4);return aq;}, function () {return y["grs"](36);});var U = function () {var ap = g["XMLHttpRequest"] ? new t() : null;if (ap && "withCredentials" in ap) {return "1";} else {if (typeof XDomainRequest != "undefined") {return "2";} else {return "0";}}}();function V(ap) {return S(ap, B || "MD78QfVqcAGMDam2");}function W(ap) {return R(ap);}function X() {return U != "0";}var Z = "";var a0 = "0";var a1 = "";var a2 = T();var a3 = "";var a4 = new n()["getTime"]();var a5 = {};var a6 = 10000;function a7() {a6--;}var a8 = function () {var ap = [a4, a2, G, a5["mini"]["data"]];var aq = ap["join"]("|");return y["sph"](aq, 8);};var a9 = function () {a5 = z["gedd"]();var ax = function (az) {var aA = p["fromCharCode"](116),aB = p["fromCharCode"](95);var aC = aA + aB;var aD = aC["split"]("")["reverse"]()["join"]("");w[aD] = az;};a3 = a8["call"](this);var au = "abc";var at = "ist" + au + "edd" + au + "eddsg" + au + "cs" + au + "c" + au + "dsn" + au + "is" + au + "jic";var ar = [a4 + "", a5["mini"]["data"], a5["mini"]["sg"], a2, G, a3, a0, a6 + ""];var av = {};var aw = at["split"](au);for (var ay = 0; ay < aw["length"]; ay++) {av[aw[ay]] = ar[ay];}var as = F + "~" + V["call"](this, x(av))["toString"]();ax["call"](this, as);};var aa = function () {try {a9["call"](this);} catch (ap) {a1 = "bg";a0 = "3";ae(ap, "bg");}};function ab(ap, aq) {var ar = {};for (var as = 0; as < ap["length"]; as++) {ar[ap[as]] = aq[as];}return ar;}function ac() {var ap = ai(F, "1");if (F && ap) {return;}var aq = I + "/public/api/monitorCollector";var ar = ["bizId", "s", "slct", "edd", "cors", "ict", "ct", "cid"];var as = [E, F, C, a5["all"], U, D + "", new n()["getTime"]() + "", G];var at = ab(ar, as);var au = W(x(at));if (X()) {y["s_b_c"](aq, {"content": au,"s": F}, {"onSuccess": function (av) {if (av && av["td"]) {M = av["td"];}F && aj(F, M, 300000);}});} else {y["s_j_p"](aq, {"content": au,"s": F});}}function ad() {if (F && M == "") {M = ai(F);}return M;}function ae(ap, aq) {var av = I + "/public/api/jsError";var aw = ["bizId", "s", "c", "where", "jv", "is"];var ax = [E, F, G, aq, Z, a0];var au = ab(aw, ax);var at = W(x(au));if (X()) {y["s_b_c"](av, {"content": at,"jserror": y["p_e"](ap)});} else {y["s_j_p"](av, {"content": at,"jserror": y["p_e"](ap)}, {"withoutCallback": true});}}function af() {}function ag(ap) {ap = ap + "";if (ap["length"] >= 13) {return ap["substring"](0, 13);} else {while (ap["length"] != 13) {ap = "0" + ap;}}return ap;}function ah() {var ap = y["grs"](19) + ag(new n()["getTime"]());return ap + y["sph"](ap, 4);}function ai(ap) {return y["g_c"](ap);}function aj(ap, aq, ar) {y["p_c"](ap, aq, ar);}var ak = function (ap, aq, ar) {var at = function () {a0 = "1";aa();af();aq();ac();};var au = function (aA) {a0 = "2";aa();af();ar("i e");ae(aA, "i");ac();};try {var ax = new n()["getTime"]();aq = y["np"](aq);ar = y["np"](ar);Z = ap["jv"];E = ap["bizId"];var az = ai(J);var ay = ai(K);G = ap["c"] || az || ah();F = ap["s"] || ay || ah();L = ap["dataComp"] || false;if (!az) {aj(J, G, 3153600000000);}if (!ay) {aj(K, F, -1);}B = ap["k"];I = ap["apiServer"];C = ap["scriptLoadConsumeTime"] || C;D = new n()["getTime"]() - ax;a7();at();} catch (aA) {au(aA);}};function al() {var ap = "";try {ap = A["get"](L);} catch (aq) {a1 = "gbd";a0 = "3";ae(aq, "gbd");}return ap;}var am = 0;function an() {var at = new n()["getTime"]();var ar = "";try {ar = P(x(z["gaedd"]()));} catch (av) {a1 = "gad";a0 = "3";ae(av, "gad");}var au = [];au["push"](a1);au["push"](at);au["push"](a0);au["push"](Z);au["push"](ar);au["push"](++am);au["push"](ad());var as = y["sph"](au["join"]("~"), 4);au["push"](as);return au["join"]("~");}var ao = [ak, function () {return "";}, function () {var ap = al();var aq = an();return (g["_t"] || "") + "|" + aq + "|" + ap;}];return ao;});}, {"1": 1,"4": 4,"6": 6,"7": 7}],3: [function (c, d, e) {(function (g) {d["exports"] = g();})(function () {"use strict";var k = [{"id": "gfgkebiommjpiaomalcbfefimhhanlfd","res": ["static/touch-emulator.js"]}];var j = [];var r = navigator["userAgent"]["toLowerCase"]();if (r["indexOf"]("edg") > 0) {k = [{"id": "ljdjkkjiognkghfjndoddoplekppngge","res": ["static/touch-emulator.js"]}];for (var m = 0; m < k["length"]; m++) {var p = "chrome-extension://" + k[m]["id"] + "/" + k[m]["res"];var q = new XMLHttpRequest();q["onreadystatechange"] = function () {if (this["readyState"] == 4 && this["status"] == 200) {j["push"](k[m]["id"]);}};q["open"]("GET", p, false);try {q["send"]();} catch (s) {}}} else {if (r["indexOf"]("chrome") > 0 && r["indexOf"]("edg") == -1) {for (var m = 0; m < k["length"]; m++) {var p = "chrome-extension://" + k[m]["id"] + "/" + k[m]["res"];var q = new XMLHttpRequest();q["onreadystatechange"] = function () {if (this["readyState"] == 4 && this["status"] == 200) {j["push"](k[m]["id"]);}};q["open"]("GET", p, false);try {q["send"]();} catch (t) {}}} else {if (r["indexOf"]("firefox") > 0) {if (document["getElementsByClassName"]("jjb-login")["length"] > 0 || document["getElementsByClassName"]("jjbPriceChart")["length"] > 0) {j["push"]("42f0bbb4-0214-49d1-a01a-bdead05c5540");}}}}return j;});}, {}],4: [function (c, d, e) {(function (g) {d["exports"] = g(window, document, navigator, setTimeout, clearTimeout, encodeURIComponent, Object, Date, Array, String, Image, RegExp, Math, XMLHttpRequest, parseInt);})(function (g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) {"use strict";var w = c(7);var x = c(6);var y = c(3);function z(a1) {return a1 ? w["murmur"](a1) : "";}function A(a1) {return a1 + "";}var B = [];var C = "";var D = 0;var E = {};var F = function () {var a3 = "motnahp"["split"]("")["reverse"]()["join"]("");var a5 = "motnahPllac"["split"]("")["reverse"]()["join"]("");var a4 = i["userAgent"] || "";if (a4["toLowerCase"]()["indexOf"](a3) != -1) {return true;}if (a3 in g || "_" + a3 in g || a5 in g) {return true;}return false;};var G = function () {var a1 = /Chrome/i["test"](i["userAgent"]);var a2 = !!g["chrome"];var a3 = [];var a4 = [];if (g["chrome"]) {for (var a5 in g["chrome"]) {a3["push"](a5);}}var a6 = [];var a7 = [];var a8 = ["plugins", "mimeTypes", "webdriver", "languages"];function a9(ad) {if (!ad) {return "";}var ae = ["configurable", "enumerable"];for (var af = 0; af < ae["length"]; af++) {if (!(ae[af] in ad)) {return "false";}}return "true";}for (var aa = 0; aa < a8["length"]; aa++) {var ab = null;if (m["getOwnPropertyDescriptor"]) {ab = m["getOwnPropertyDescriptor"](i, a8[aa]);}a6["push"](ab ? "true" : "false");a7["push"](a9(ab));}var ac = g["console"] && "debug" in g["console"];return {"haprode": a6,"leprode": a7,"chinua": a1 + "","chinwi": a2 + "","princh": a3,"princhru": a4,"deinco": ac + "","plle": i["plugins"]["length"] + "","laep": i["languages"] === "" ? "true" : "false"};};var H = function () {return h["referrer"] + "";};var I = function () {var a6 = {};var a4 = ["outerWidth", "outerHeight", "innerWidth", "innerHeight", "devicePixelRatio", "orientation"];var a3 = ["ouwi", "ouhe", "inwi", "inhe", "depira", "or"];for (var a5 = 0; a5 < a4["length"]; a5++) {a6[a3[a5]] = g[a4[a5]] + "";}return a6;};var J = function () {var a3 = {};var a6 = ["left", "right", "availLeft", "availTop", "availWidth", "availHeight", "width", "height", "colorDepth", "deviceXDPI", "logicalXDPI", "systemXDPI"];var a5 = ["le", "ri", "avle", "avto", "avwi", "avhe", "wi", "he", "code", "dexd", "loxd", "syxd"];for (var a4 = 0; a4 < a6["length"]; a4++) {a3[a5[a4]] = g["screen"][a6[a4]] + "";}return a3;};function K() {var a1 = h["createElement"]("canvas");return !!(a1["getContext"] && a1["getContext"]("2d"));}function L() {var a1 = [];if (i["plugins"]) {for (var a2 = 0; a2 < i["plugins"]["length"]; a2++) {a1["push"](i["plugins"][a2]["name"]);}}return a1;}function M() {var a1 = [];if (m["getOwnPropertyDescriptor"] && m["getOwnPropertyDescriptor"](g, "ActiveXObject") || "ActiveXObject" in g) {var a2 = ["AcroPDF.PDF", "Adodb.Stream", "AgControl.AgControl", "DevalVRXCtrl.DevalVRXCtrl.1", "Msxml2.DOMDocument", "Msxml2.XMLHTTP", "PDF.PdfCtrl", "QuickTime.QuickTime", "QuickTimeCheckObject.QuickTimeCheck.1", "RealPlayer", "RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)", "RealVideo.RealVideo(tm) ActiveX Control (32-bit)", "Scripting.Dictionary", "SWCtl.SWCtl", "Shell.UIHelper", "Skype.Detection", "TDCCtl.TDCCtl", "WMPlayer.OCX", "rmocx.RealPlayer G2 Control", "rmocx.RealPlayer G2 Control.1"];for (var a3 = 0; a3 < a2["length"]; a3++) {try {var a4 = a2[a3];new g["ActiveXObject"](a4);a1["push"](a4);} catch (a5) {}}}return a1;}function N() {function a1(a2) {try {return a2 in g;} catch (a3) {return true;}}return {"sest": a1("sessionStorage"),"lost": a1("localStorage"),"indb": a1("indexedDB"),"ontost": a1("ontouchstart")};}var O = function () {return {"lang": A(i["language"]),"langs": i["languages"] ? i["languages"]["join"](",") : "","brla": A(i["browserLanguage"]),"syla": A(i["systemLanguage"]),"cpcl": A(i["cpuClass"]),"oscp": A(i["oscpu"]),"apna": A(i["appName"]),"apve": A(i["appVersion"]),"apmive": A(i["appMinorVersion"]),"mityle": A(i["mimeTypes"]["length"]),"buid": A(i["buildID"]),"cken": A(i["cookieEnabled"]),"deme": A(i["deviceMemory"]),"matopo": A(i["maxTouchPoints"] || i["msMaxTouchPoints"]),"donotr": A(i["doNotTrack"]),"haco": A(i["hardwareConcurrency"]),"plat": A(i["platform"]),"prod": A(i["product"]),"prsu": A(i["productSub"]),"vend": A(i["vendor"]),"vesu": A(i["vendorSub"])};};function P() {if (!K()) {return "";}var a5 = [];var a3 = h["createElement"]("canvas");a3["width"] = 2000;a3["height"] = 200;a3["style"]["display"] = "inline";var a4 = a3["getContext"]("2d");a4["rect"](0, 0, 10, 10);a4["rect"](2, 2, 6, 6);a5["push"]("winding:" + (a4["isPointInPath"](5, 5, "evenodd") === false ? "yes" : "no"));a4["textBaseline"] = "alphabetic";a4["fillStyle"] = "#f60";a4["fillRect"](125, 1, 62, 20);a4["fillStyle"] = "#069";a4["font"] = "11pt no-real-font-123";a4["fillText"]("Cwm fjordbank glyphs vext quiz, 😃", 2, 15);a4["fillStyle"] = "rgba(102, 204, 0, 0.2)";a4["font"] = "18pt Arial";a4["fillText"]("Cwm fjordbank glyphs vext quiz, 😃", 4, 45);a4["globalCompositeOperation"] = "multiply";a4["fillStyle"] = "rgb(255,0,255)";a4["beginPath"]();a4["arc"](50, 50, 50, 0, s["PI"] * 2, true);a4["closePath"]();a4["fill"]();a4["fillStyle"] = "rgb(0,255,255)";a4["beginPath"]();a4["arc"](100, 50, 50, 0, s["PI"] * 2, true);a4["closePath"]();a4["fill"]();a4["fillStyle"] = "rgb(255,255,0)";a4["beginPath"]();a4["arc"](75, 100, 50, 0, s["PI"] * 2, true);a4["closePath"]();a4["fill"]();a4["fillStyle"] = "rgb(255,0,255)";a4["arc"](75, 75, 75, 0, s["PI"] * 2, true);a4["arc"](75, 75, 25, 0, s["PI"] * 2, true);a4["fill"]("evenodd");if (a3["toDataURL"]) {a5["push"](a3["toDataURL"]());}return a5["join"]("~");}function Q() {var a2 = new n()["getTime"]();var a3 = function () {return i["mediaDevices"] && i["mediaDevices"]["enumerateDevices"];};if (a3()) {i["mediaDevices"]["enumerateDevices"]()["then"](function (a4) {a4["forEach"](function (a5) {B["push"](a5["kind"] + ": " + a5["label"] + " id = " + a5["deviceId"]);});if (B["length"] > 0) {C = z(B["join"]("~"));w["s_l_i"]("_dev_ha", C);}D = new n()["getTime"]() - a2;});}}function R() {i["getBattery"] && i["getBattery"]()["then"](function (a2) {function a4() {E["ic"] = a2["charging"] ? "1" : "0";}function a5() {E["le"] = A(a2["level"] * 100);}function a6() {var a9 = a2["chargingTime"];E["ct"] = a9 == Infinity ? "i" : A(a9);}function a7() {var a9 = a2["dischargingTime"];E["dt"] = a9 == Infinity ? "i" : A(a9);}a8();a2["addEventListener"]("chargingchange", function () {a4();});a2["addEventListener"]("levelchange", function () {a5();});a2["addEventListener"]("chargingtimechange", function () {a6();});a2["addEventListener"]("dischargingtimechange", function () {a7();});function a8() {a4();a5();a6();a7();}});}var S = w["ism"]();function T() {var a1 = w["g_l_i"]("_c_f2");if (!a1) {var a1 = z(P());a1 = a1 + w["sph"](a1, 4);if (a1) {w["s_l_i"]("_c_f2", a1);}}return a1;}function U(a1, a2) {var a3 = [];for (var a4 in a1) {if (a4 != a2) {a3["push"](a4 + ":" + a1[a4]);}}return a3;}function V() {return S ? "" : C || w["g_l_i"]("_dev_ha") || "";}function W() {!S && Q();R();}function X(a1, a2) {return a1 ? a1["substring"](s["max"](0, a1["length"] - a2), a1["length"]) : "";}function Y() {var a1 = ["script", "link", "meta", "input", "button", "div"];var a2 = [];for (var a3 = 0; a3 < a1["length"]; a3++) {var a4 = h["querySelectorAll"](a1[a3]);a2["push"](a4["length"]);}return a2["join"](",");}var Z = function () {var a1 = new n()["getTime"]();var a2 = w["ivw"]();var a3 = F();var a4 = T();var a5 = new n()["getTime"]() - a1;var a6 = L();var a7 = M();var a8 = J();var a9 = I();var aa = O();var ab = N();var ac = G();var ad = H();var ae = V();var af = A(new n()["getTimezoneOffset"]());var ag = g["location"]["href"] + "";ag = ag["substring"](0, s["min"](64, ag["length"]));var ah = g["location"]["host"];var ai = g["location"]["pathname"];var aj = g["location"]["protocol"];var ak = Y();var al = {"isviwe": A(a2),"isviph": A(a3),"cafp": a4,"repl": a6,"iepl": a7,"wiin": a9,"scin": a8,"nain": aa,"cain": ab,"deha": ae,"tiof": A(af),"hile": A(history["length"]),"hechde": ac,"dore": X(ad, 50),"ism": A(S),"href": ag,"pi": ak,"cbl": y};var am = [];am["push"](a2);am["push"](a3);am["push"](a4);am["push"](a6["join"]("~"));am["push"](a7["join"]("~"));am["push"](g["devicePixelRatio"]);am["push"](U(a8)["join"]("~"));am["push"](U(aa)["join"]("~"));am["push"](U(ab));am["push"](ae);am["push"](af);var an = z(am["join"]("#"));var ao = w["sph"](an, 4);al["f"] = an + ao;var ap = {"isviwe": A(a2),"isviph": A(a3),"dore": X(ad, 5),"f": an + ao,"ism": A(S),"hst": ah,"pn": ai["substring"](0, 30),"pt": aj,"pi": ak};var aq = new n()["getTime"]() - a1;var ar = {"all": {}};ar["all"]["data"] = x(al);ar["all"]["perf"] = {"cacoti": A(a5),"tocosu": A(aq),"decoti": A(D)};ar["all"]["sg"] = w["sph"](ar["all"]["data"], 4);ar["mini"] = {};ar["mini"]["data"] = x(ap);ar["mini"]["sg"] = w["sph"](ar["mini"]["data"], 4);return ar;};function a0() {var a1 = w["ivw"]();return {"viwe": a1 ? "1" : "0","bain": E};}W();return {"gedd": Z,"gaedd": a0};});}, {"3": 3,"6": 6,"7": 7}],5: [function (c, d, e) {!function (g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) {function w() {return g["JCaptcha"];}function x(z, A, B, C, D) {var E = z + "/public/api/jsError2?bizId=" + A + "&where=" + l(C) + "&jserror=" + l(D ? D : "") + "&jv=" + B + "&t=" + new n()["getTime"]();var F = new q();F["src"] = E;g["_tmp"] = F;}function y(z, A, B) {z["apiServer"] = z["apiServer"] || "//nocaptcha.jd.com";z["staticServer"] = z["staticServer"] || "//js-nocaptcha.jd.com";z["bizId"] = z["bizId"] || z["biz_id"];z["jv"] = "20201218";this["config"] = z;var C = c(7);this["uts"] = C;this["c"] = c(2);var D = this["c"][0];var E = this;D(z, A, B);if (z["initCaptcha"]) {var F = z["staticServer"] + "/statics/slidecaptcha/v1/slide.min.js?v=" + this["config"]["jv"];C["loadScript"](F, function (H) {if (!H) {var I = w();E["jcaptcha"] = new I(z);} else {x(z["apiServer"], z["bizId"], z["jv"], "load slide", "load slide.js fail");}});}}y["prototype"]["getToken"] = y["prototype"]["getData"] = function () {try {var z = this["c"];return z[2]() || "er";} catch (B) {var A = this["uts"] ? this["uts"]["p_e"](B) : B["toString"]();x(this["config"]["apiServer"], this["config"]["bizId"], this["config"]["jv"], "g t e", A);return "er";}};y["prototype"]["showCaptcha"] = function (z, A) {var B = this;var C = z["onValidateSuccess"];z["requestId"] = z["requestId"] || A;var D = function (E) {var F = {"token": B["getToken"](),"requestId": z["requestId"],"captcha_data": B["jcaptcha"]["getJson"]()};var G = c(6);C(G(F));};z["onValidateSuccess"] = D;if (!this["jcaptcha"]) {j(function () {var E = "";if (B["jcaptcha"]) {E = "slide.js has loaded after 1s";B["jcaptcha"] && B["jcaptcha"]["show"](z);} else {E = "slide.js not loaded yet after 1s";}x(B["config"]["apiServer"], B["config"]["bizId"], B["config"]["jv"], "sh ca", E);}, 1000);x(B["config"]["apiServer"], B["config"]["bizId"], B["config"]["jv"], "sh ca", "slide.js not loaded yet");} else {this["jcaptcha"]["show"](z);}};g["JAB"] = y;}(window, document, navigator, setTimeout, clearTimeout, encodeURIComponent, Object, Date, Array, String, Image, RegExp, Math, XMLHttpRequest, parseInt);}, {"2": 2,"6": 6,"7": 7}],6: [function (c, d, e) {(function (g) {d["exports"] = g(window, document, navigator, setTimeout);})(function (g, h, i, j) {"use strict";var l = {"": "\\b","\t": "\\t","\n": "\\n","\f": "\\f","\r": "\\r","\"": "\\\"","\\": "\\\\"};var m = "",n = "";function o(r) {var s = /[\\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;s["lastIndex"] = 0;return s["test"](r) ? "\"" + r["replace"](s, function (t) {var u = l[t];return typeof u === "string" ? u : "\\u" + ("0000" + t["charCodeAt"](0)["toString"](16))["slice"](-4);}) + "\"" : "\"" + r + "\"";}function p(r, s) {var t,u,w,x,y = m,z,A = s[r];switch (typeof A) {case "string":return o(A);case "number":return isFinite(A) ? String(A) : "null";case "boolean":case "null":return String(A);case "object":if (!A) {return "null";}m += n;z = [];if (Object["prototype"]["toString"]["apply"](A) === "[object Array]") {x = A["length"];for (t = 0; t < x; t += 1) {z[t] = p(t, A) || "null";}w = z["length"] === 0 ? "[]" : m ? "[\n" + m + z["join"](",\n" + m) + "\n" + y + "]" : "[" + z["join"](",") + "]";m = y;return w;} else {for (u in A) {if (Object["prototype"]["hasOwnProperty"]["call"](A, u)) {w = p(u, A);if (w) {z["push"](o(u) + (m ? ": " : ":") + w);}}}w = z["length"] === 0 ? "{}" : m ? "{\n" + m + z["join"](",\n" + m) + "\n" + y + "}" : "{" + z["join"](",") + "}";m = y;return w;}}}var q = function (r) {if (JSON) {var s = JSON["stringify"](r);return s;}return p("", {"": r});};return q;});}, {}],7: [function (c, d, e) {(function (g) {d["exports"] = g(window, document, navigator, setTimeout, clearTimeout, encodeURIComponent, Object, Date, Array, String, Image, RegExp, Math, XMLHttpRequest, parseInt);})(function (g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) {var w = {};var y = c(6);var z = "1234567890abcdefghijklmnopqrstuvwxyz";function A() {return u(s["random"]() * 10000) + new n()["valueOf"]();}w["ivw"] = function () {return "$cdc_asdjflasutopfhvcZLmcfl_" in h || !!i["webdriver"] || false;};w["np"] = function (B) {return B || function () {};};w["p_j"] = function (B) {return eval("(" + B + ")");};w["p_c"] = function (B, C, D, E) {var H = B + "=" + C;D = D == undefined ? -1 : D;if (D > 0) {H += ";expires=" + new n(new n()["getTime"]() + D)["toUTCString"]();} else {if (D == 0) {H += ";expires=0";}}H += ";path=" + (E || "/");h["cookie"] = H;};w["g_c"] = function (B) {var C = new r("(?:(?:^|.*;\\s*)" + B + "\\s*\\=\\s*([^;]*).*$)|^.*$");var D = h["cookie"]["replace"](C, "$1");return D;};w["str"] = function (B) {return B + "";};w["ism"] = function () {var B = new r("Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile", "i");var C = B["test"](i["userAgent"]) || "ontouchstart" in g || "orientation" in g;return C;};w["i_l_s"] = function () {try {if (!g["localStorage"]) {return false;}g["localStorage"]["setItem"]("__test", "1");return true;} catch (B) {return false;}}();w["s_l_i"] = function (B, C) {w["i_l_s"] && g["localStorage"]["setItem"](B, C);};w["g_l_i"] = function (B) {return w["i_l_s"] ? g["localStorage"]["getItem"](B) : "";};w["murmur"] = function (B) {if (!B) {return "";}if (g["Murmur"]) {return g["Murmur"]["x64hash128"](B, 31);} else {return w["sph"](B, 32);}};w["s_b_c"] = function (B, C, D) {var D = D || {};var Q = D["method"] || "post";var R = D["timeout"] || 5000;var G = w["np"](D["onSuccess"]);var K = w["np"](D["onError"]);var M = false;var I = g["XMLHttpRequest"] ? new t() : null;if (I && "withCredentials" in I) {I["open"](Q, B, true);} else {if (typeof XDomainRequest != "undefined") {M = true;I = new XDomainRequest();I["open"](Q, B);}}I["timeout"] = R;var N = false;var L = function (T) {!N && K(T);N = true;};I["onerror"] = I["ontimeout"] = function () {L("timeout");};var B = B + "?random=" + A();if (M) {I["onload"] = function () {var T = I["responseText"] ? w["p_j"](I["responseText"]) : {};G(T);};} else {if (I["setRequestHeader"]) {I["setRequestHeader"]("Content-Type", "text/plain; charset=utf-8");}I["onreadystatechange"] = function () {if (I["readyState"] == 4) {if (I["status"] == 200) {var T = I["responseText"] ? w["p_j"](I["responseText"]) : {};G(T);} else {L("response fail with status: " + I["status"]);}}};}var O = [];for (var H in C) {O["push"](H + "=" + l(C[H]));}var S = O["join"]("&");I["send"](S);};w["p_j"] = function (B) {return eval("(" + B + ")");};w["s_j_p"] = function (B, C, D) {var D = D || {};var F = D["timeout"];var G = w["np"](D["onSuccess"]);var H = w["np"](D["onError"]);var I = D["charset"] || "UTF-8";var J = D["async"] || true;var K = h["getElementsByTagName"]("head")[0];var L = h["createElement"]("script");L["charset"] = I;L["async"] = J;var M = "jsonp_" + A();var N = [];for (var O in C) {N["push"](O + "=" + l(C[O]));}if (!D["withoutCallback"]) {N["push"]("callback=" + M);}N["push"]("random=" + A());L["src"] = B + "?" + N["join"]("&");L["onerror"] = function () {P();H && H("onerror");};if (F) {L["timer"] = j(function () {P();H && H("timeout");}, F);}g[M] = function (Q) {P();G && G(Q);};function P() {L["timer"] && k(L["timer"]);L["onerror"] = null;K["removeChild"](L);g[M] = null;}K["appendChild"](L);};w["p_e"] = function (B) {var C = B;var D = [];if (C instanceof Error) {if (C["number"] !== undefined) {D["push"]("Number: " + C["number"]);}if (C["description"] !== undefined) {D["push"]("Description: " + C["description"]);}if (C["name"] !== undefined) {D["push"](C["name"] + ": " + (C["message"] === undefined ? "" : C["message"]));}if (C["lineNumber"] !== undefined) {D["push"]("lineNumber: " + C["lineNumber"]);}if (C["stack"] !== undefined) {D["push"]("stack: " + C["stack"]["replace"](/\n/g, "")["replace"](/\r/g, ""));}} else {D["push"](C);}return y(D);};w["ouw"] = function (B, C, D) {return function () {var E = B["apply"](D || this, arguments);B = C;return E;};};w["sph"] = function (B, C, D) {if (B === "") {return "";}var F = u(B["length"] / C);var G = [];for (var H = 0; H < C; H++) {var I = 0;var J = H * F;var K = H == C - 1 ? F + B["length"] % C : F;for (var L = 0; L < K; L++) {var M = J + L;if (M < B["length"]) {I = I + B["charCodeAt"](M);}}I = I * (D || 31);G["push"](z["charAt"](I % z["length"]));}return G["join"]("");};w["grs"] = function (B) {var C = z["split"]("");var D = [];for (var E = 0; E < B; E++) {var F = u(C["length"] * s["random"]());D["push"](C[F]);}return D["join"]("");};w["ael"] = function (B, C, D) {for (var E in C) {if (C["hasOwnProperty"](E)) {B["addEventListener"] ? B["addEventListener"](C[E], D, false) : B["attachEvent"]("on" + C[E], D, false);}}};w["each"] = function (B, C) {if (B && B["length"] > 0) {for (var D = 0; D < B["length"]; D++) {C(D, B[D]);}}};w["d_r"] = function (B) {if (h["addEventListener"]) {h["addEventListener"]("DOMContentLoaded", function () {B && B();}, false);} else {var D = h["onreadystatechange"];h["onreadystatechange"] = function () {if (h["readyState"] == "complete") {B && B();}D && D["apply"](this);};}};w["loadScript"] = function (B, C) {var E = h["getElementsByTagName"]("head")[0];var F = h["createElement"]("script");F["charset"] = "UTF-8";F["async"] = true;F["onerror"] = function () {C(true);};var G = false;F["onload"] = F["onreadystatechange"] = function () {if (!G && (!F["readyState"] || "loaded" === F["readyState"] || "complete" === F["readyState"])) {G = true;j(function () {C(false);}, 0);}};F["src"] = B;E["appendChild"](F);};return w;});}, {"6": 6}]}, {}, [5]);
}();const JSEncrypt = require('jsencrypt');
var jab = new JAB({bizId: 'PASSPORT_LOGIN',initCaptcha: true})
var pubkey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXQG8rnxhslm+2f7Epu3bB0inrnCaTHhUQCYE+2X+qWQgcpn+Hvwyks3A67mvkIcyvV0ED3HFDf+ANoMWV1Ex56dKqOmSUmjrk7s5cjQeiIsxX7Q3hSzO61/kLpKNH+NE6iAPpm96Fg15rCjbm+5rR96DhLNG7zt2JgOd2o1wXkQIDAQAB";function get_param(username, password) {var k = username;var j = password;var i = new JSEncrypt();i.setPublicKey(pubkey);j = i.encrypt(j);k = i.encrypt(k);var h = {"credentials.username": k,"credentials.password": j,validCode: undefined,sig: "",is_jab: "true",captchaToken: jab.getData(),jab_st: 0,loginSource: "1",returnUrl: "http://www.yhd.com",isAutoLogin: "0",slideData: ""}return h
}
相关文章:
爬虫逆向实战(32)-某号店登录(RSA、补环境、混淆)
一、数据接口分析 主页地址:某号店 1、抓包 通过抓包可以发现登录接口是/publicPassport/login.do 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现,有三个加密参数:username、password、captchaTok…...
正则表达式学习和高级用法
以下所有的验证都在 在线验证 1. 起始符 / 正则表达式的起始符2. 限定符 匹配前面的子表达式**1次或多次**。例如,zo 能匹配 "zo" 以及"zoo",但不能匹配 "z"。等价于 {1,}。 ? 匹配前面的子表达式**0次或1次**。例如…...
C# Onnx Yolov8 Fire Detect 火焰识别,火灾检测
效果 项目 代码 using Microsoft.ML.OnnxRuntime.Tensors; using Microsoft.ML.OnnxRuntime; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Syste…...
线程安全问题
目录 一、线程安全 二、线程安全问题 三、线程安全 1.同步代码块 2.同步方法 3.Lock锁 3.1常用方法: 3.2 死锁 3.3 练习: 四、生产者和消费者(线程通信问题) 一、线程安全 如果有多个线程在同时运行,而这些…...
【力扣每日一题】2023.9.18 打家劫舍Ⅲ
目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 今天是打家劫舍3,明天估计就是打家劫舍4了。 今天的打家劫舍不太一样,改成二叉树了,不过规则没有变&…...
Docker基础学习
Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用应用的安装 掌握docker迁移与备份相关命令 能够运用Dockerfile编写创建容器的脚本 能够…...
esbuild中文文档-路径解析配置项(Path resolution - Alias、Conditions)
文章目录 路径解析配置项 Path resolution别名 Alias条件解析 Conditionsconditions是如何工作的 结语 哈喽,大家好!我是「励志前端小黑哥」,我带着最新发布的文章又来了! 老规矩,小手动起来~点赞关注不迷路࿰…...
您的应用存在隐藏最近任务列表名称的行为,不符合华为应用市场审核标准
最近各家应用市场,唯独华为审核被拒了。。理由是您的应用存在隐藏最近任务列表名称的行为,不符合华为应用市场审核标准。 根据华为给出的视频,app在任务队列(也就是俗称的安卓多任务管理后台)不显示应用名。因为我们ap…...
Spring的 webFlux 和 webMVC
看到一个测评文章,并发在300的时候webMVC 和 webFlux的处理能力不相上下, 当并发达到3000的时候, webFlux明显优于webMVC, 有图有真相, 我信了. webMVC 是 one-request-one thread 堵塞模式, flux是非阻塞模式, 是spring家族系列…...
【洛谷算法题】P5706-再分肥宅水【入门1顺序结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5706-再分肥宅水【入门1顺序结构】🌏题目描述🌏输入格式…...
android studio环境搭建让你的开发之旅更加简单
示例示例Android Studio环境搭建:下载并安装Android Studio:从官网下载Android Studio,然后双击安装文件,按照提示进行安装,安装完成之后,可以在桌面上找到Android Studio的快捷方式。 Android Studio环境…...
Java面试_并发编程_线程基础
Java面试_并发编程_线程基础 线程基础线程和进程的区别(出现频率: 3⭐)并行和并发的区别(出现频率: 2⭐)线程的创建(出现频率: 4⭐)线程的状态(出现频率: 4⭐)让线程按顺序执行(出现频率: 3⭐)notify()和notifyAll()有什么区别(出现频率: 2⭐)wait方法和sleep方法的区别(出现频…...
基于Java的高校实习管理系统设计与实现(亮点:实习记录、实习打分、实习作业,功能新颖、老师没见过、当场唬住!)
高校实习管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统主要功能5.1…...
傅里叶变换
傅里叶变换常用于缺陷检测项目,对于一些背景偏暗,对比度不明显的场景,傅里叶变换可以起到提升对比度的效果。傅里叶变换从频域角度来处理,对于一些图像像素尺寸大的图像,算法时间往往时间达到1s以上,对于一…...
Vue Grid Layout -️ 适用Vue.js的栅格布局系统,在vue3+上使用
文章目录 1、官网简介2、在vue3中使用1)、需要导入vue3支持的版本插件2)、在mian.js里引入:3)、在组件中使用 3、layout布局的计算逻辑4、 gridLayout 的属性 该栅格系统目前对 vue2 的支持是最好的,vue3 是需要用插件支持的,会在小节详细讲解…...
Electron(v26.2.1)无法加载React Developer Tools(v4.28.0)
一开始按照electron官网上的 开发者工具扩展 教程设置React Developer Tools时,重启项目后并没有按照预期成功加载React Developer Tools,而且控制台报错: Permission scripting is unknown or URL pattern is malformed.查了下原因是因为Re…...
网站降权的康复办法(详解百度SEO数据分析)
随着搜索引擎算法的不断升级,很多网站在SEO优化过程中遭遇到降权的情况。如果您的网站也遭遇到了类似的问题,不必惊慌失措。本文将为您详细介绍网站降权恢复的方法,包括百度SEO数据分析、网站收录少的5个原因、网站被降权的6个因素以及百度SE…...
非对称加密、解密原理及openssl中的RSA示例代码
一、【原理简介】非对称加密 非对称加密,也被称为公钥加密,其中使用一对相关的密钥:一个公钥和一个私钥。公钥用于加密数据,私钥用于解密数据。公钥可以公开分享,而私钥必须保密。 密钥生成: 当一个用户或设备希望使用…...
基于springboot漫画管理系统springboot001
摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&…...
【探索C++】string类详解
(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮࿰…...
python 第一次作业
1.使用turtle换一个五环 2.设计这样一个程序:输入一个数字 判断它是不是一个质数 使用turtle换一个五环: >>> import turtle #导入模块 >>> turtle.width(10) #设置圆圈宽度 >>> turtle.color("blue&qu…...
个人博客网站一揽子:Docker建站(Nginx、Wordpress、MySql)
前言 既然安装了Docker,那就不妨建立一个自己的博客网站。实现内外网隔离网站部署,更安全。 1.创建Docker子网络 首先创建一个Docker虚拟子网: sudo docker network create wpnt检查是否建立成功: sudo docker network ls最后…...
Unity 课时 4 : No.4 模拟面试题
课时 4 : No.4 模拟面试题 C# 1. 请说明字符串中 string str null string str “” string str string.Empty 三者的区别 第一个未作初始化没有值, 第二个为空字符串, 答案: str null 在堆中没有分配内存地址 str "" 和 string.Empty 一样都是…...
Golang 基础面试题 01
Golang 面试题合集.png 背景 在之前的文章中分享了 k8s 相关的面试题,本文我们重点来讨论和 k8s 密切相关的 Go 语言面试题。 这几年随着云原生的兴起,大部分后端开发者,特别是 Java 开发者都或多或少的想学习一些 Go 相关的技能,…...
007-第一代软件需求整理
第一代软件需求整理 文章目录 第一代软件需求整理项目介绍需求来源需求来源1:竞品软件分析需求来源2:医生(市场)需求来源3:项目组内部需求来源4:软件组内部需求来源5:软件开发成员需求来源6&…...
XMLHttpRequest介绍
目录 一、介绍1.创建 XMLHttpRequest2.初始化3.发送请求4.获取响应5.响应类型 二、发送GET请求示例三、发送POST请求示例四、发送POST请求下载文件示例五、发送POST请求上传文件示例 一、介绍 1.创建 XMLHttpRequest let xhr new XMLHttpRequest();2.初始化 xhr.open(metho…...
阿里云无影云电脑和传统PC有什么区别?
阿里云无影云电脑和传统电脑PC有什么区别?区别大了,无影云电脑是云端的桌面服务,传统PC是本地的硬件计算机,无影云电脑的数据是保存在云端,本地传统PC的数据是保存在本地客户端,阿里云百科分享阿里云无影云…...
基于matlab实现的船舶横摇运动仿真程序
完整程序: clc clear syms w we; w0.4:0.05:1.6;mu90;v6;%kb1;kt1;%航速6m/s,航向90度,即横浪,cos(90)0 T3;B10;Sw0.785;%船宽10米,吃水3米,水线面系数假设为0.785 weww.^2.*v/9.8; for i1:24 delta_we(i)we(i1)-…...
Java手写二叉索引树和二叉索引树应用拓展案例
Java手写二叉索引树和二叉索引树应用拓展案例 1. 算法思维导图 以下为二叉索引树的实现原理的思维导图,使用Mermanid代码表示: #mermaid-svg-raMRIu7t3H33MKh1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#…...
大数据知识点之大数据5V特征
大数据的特征可以浓缩为五个英文单词,Volume(大量)、Variety(多样性)、Velocity(速度)、Value(价值)、Veracity(准确性)。因为是5个特征都是以“V”开头的英文单词,又叫大数据5V特征。 概述&…...
让网站限制国内打不开/精品成品网站源码
ROS系列——错误syntax error near unexpected token $do\r说明解决方法问题原因解决1.终端运行2.本文使用的方法,适用于代码行数较少其他方法,本质就是替换3.重新运行脚本说明 在运行.sh脚本时,报错: syntax error near unexpec…...
职业做网站游戏的/抚州seo外包
今天搭建SpringCloud的ConfigServer时候一直报错 原因在于后台一直报SSL的异常could not be stablished because of SSL problems 找了无数的方法,最后无意间发现有一个配置 skip-ssl-validation属性,然后设置为true就好了,附上我的applicati…...
外贸看的英文网站/头条新闻今日头条官方版本
胖胖瑶绘画 - 原创很多网友留言问我怎么开始?零基础真的可以吗?没有天赋怎么办?其实,画画不一定非要追求写实,简单的小画好看之余也更加有趣。放松心态,给自己多一点自信和鼓励。胖胖瑶绘画 - 原创“ 再牛逼…...
网站建设小公司生存/360营销推广
原标题:绝地求生国服服务器已部署!官方回应国服上线时间问题近日《绝地求生》国服官博发文表示,《绝地求生》国服将采用超性能服务器,帮助玩家的体验更加快速稳定。同时国服还推出“全服跨运营商网络全互联”,只要是在…...
免费帮助建站/谷歌推广怎么做
1.修饰类(只有两种)默认访问权限(包访问权限):用来修饰类的话,表示该类只对同一个包中的其他类可见。(只有在本包的类中可以实例化,其他包中无法import和实例化)public:用来修饰类的话,表示该类对其他所有的类都可见。…...
做网站发广告/简述网络营销的特点及功能
在ASP.NET 中使用 Unity Application Block – 示例(提供代码下载) 下面的示例演示在ASP.NET Web Application 中使用 Unity 依赖注入容器。下载ASP.NetWeb Application源码!!! 具体步骤如下: 1. 创建IUnit…...