您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
哔哩哔哩极验破解,需要有图形识别的服务器,服务器地址和响应数据的处理在2693行附近更改
// ==UserScript== // @name geetest-for-bili // @namespace Violentmonkey Scripts // @license Mit // @match https://www.bilibili.com/blackboard/new-award-exchange.html?task_id=* // @require https://cdn.bootcdn.net/ajax/libs/axios/1.7.2/axios.js // @grant GM_addStyle // @grant unsafeWindow // @version 1.0.0 // @author vurses // @description 哔哩哔哩极验破解,需要有图形识别的服务器,服务器地址和响应数据的处理在2693行附近更改 // @icon https://www.bilibili.com/favicon.ico // ==/UserScript== (function() { /*参考https://github.com/cycyup/crack_geetest*/ // getestCrack:19-2458 var ae = function() { function S4() { return ((1 + Math["random"]()) * 65536 | 0)["toString"](16)["substring"](1); } return function() { return S4() + S4() + S4() + S4(); }; }() gCdf = function() { var t = ae(); return function(e) { if (e === true) { t = ae(); } return t; } }() var K = function(window) { function LPUe() { this["i"] = 0; this["j"] = 0; this["S"] = []; } function Mqpr(e) { var t, r, n; for (t = 0; t < 256; ++t) this["S"][t] = t; r = 0; for (t = 0; t < 256; ++t) { r = r + this["S"][t] + e[t % e["length"]] & 255; n = this["S"][t]; this["S"][t] = this["S"][r]; this["S"][r] = n; } this["i"] = 0; this["j"] = 0; } function NSqO() { var e; this["i"] = this["i"] + 1 & 255; this["j"] = this["j"] + this["S"][this["i"]] & 255; e = this["S"][this["i"]]; this["S"][this["i"]] = this["S"][this["j"]]; this["S"][this["j"]] = e; return this["S"][e + this["S"][this["i"]] & 255]; } LPUe["prototype"]["init"] = Mqpr; LPUe["prototype"]["next"] = NSqO; function OGRQ() { return new LPUe(); } var n = 256; var t; var i; var s; if (i == null) { i = []; s = 0; var e; if (window["crypto"] && window["crypto"]["getRandomValues"]) { var r = new Uint32Array(256); window["crypto"]["getRandomValues"](r); for (e = 0; e < r["length"]; ++e) i[s++] = r[e] & 255; } var o = 0; function a(e) { o = o || 0; if (o >= 256 || s >= n) { if (window["removeEventListener"]) { o = 0; window["removeEventListener"]("mousemove", a, false); } else if (window["detachEvent"]) { o = 0; window["detachEvent"]("onmousemove", a); } return; } try { var t = e["x"] + e["y"]; i[s++] = t & 255; o += 1; } catch (r) {} } if (window["addEventListener"]) window["addEventListener"]("mousemove", a, false); else if (window["attachEvent"]) window["attachEvent"]("onmousemove", a); } function PUAG() { if (t == null) { t = OGRQ(); while (s < n) { var e = Math["floor"](65536 * Math["random"]()); i[s++] = e & 255; } t["init"](i); for (s = 0; s < i["length"]; ++s) i[s] = 0; s = 0; } return t["next"](); } function QiCL(e) { var t; for (t = 0; t < e["length"]; ++t) e[t] = PUAG(); } function RjYI() {} RjYI["prototype"]["nextBytes"] = QiCL; var _; var c = 0xdeadbeefcafe; var l = (c & 16777215) == 15715070; function SlGn(e, t, r) { if (e != null) if ("number" == typeof e) this["fromNumber"](e, t, r); else if (t == null && "string" != typeof e) this["fromString"](e, 256); else this["fromString"](e, t); } function TLtn() { return new SlGn(null); } function UJSW(e, t, r, n, i, s) { while (--s >= 0) { var o = t * this[e++] + r[n] + i; i = Math["floor"](o / 67108864); r[n++] = o & 67108863; } return i; } function VaAF(e, t, r, n, i, s) { var o = t & 32767, a = t >> 15; while (--s >= 0) { var _ = this[e] & 32767; var c = this[e++] >> 15; var l = a * _ + c * o; _ = o * _ + ((l & 32767) << 15) + r[n] + (i & 1073741823); i = (_ >>> 30) + (l >>> 15) + a * c + (i >>> 30); r[n++] = _ & 1073741823; } return i; } function Wn_B(e, t, r, n, i, s) { var o = t & 16383, a = t >> 14; while (--s >= 0) { var _ = this[e] & 16383; var c = this[e++] >> 14; var l = a * _ + c * o; _ = o * _ + ((l & 16383) << 14) + r[n] + i; i = (_ >> 28) + (l >> 14) + a * c; r[n++] = _ & 268435455; } return i; } if (true) { SlGn["prototype"]["am"] = UJSW; _ = 26; } SlGn["prototype"]["DB"] = _; SlGn["prototype"]["DM"] = (1 << _) - 1; SlGn["prototype"]["DV"] = 1 << _; var u = 52; SlGn["prototype"]["FV"] = Math["pow"](2, u); SlGn["prototype"]["F1"] = u - _; SlGn["prototype"]["F2"] = 2 * _ - u; var f = "0123456789abcdefghijklmnopqrstuvwxyz"; var p = []; var d, g; d = "0" ["charCodeAt"](0); for (g = 0; g <= 9; ++g) p[d++] = g; d = "a" ["charCodeAt"](0); for (g = 10; g < 36; ++g) p[d++] = g; d = "A" ["charCodeAt"](0); for (g = 10; g < 36; ++g) p[d++] = g; function XDVb(e) { return f["charAt"](e); } function YqON(e, t) { var r = p[e["charCodeAt"](t)]; return r == null ? -1 : r; } function ZXaR(e) { for (var t = this["t"] - 1; t >= 0; --t) e[t] = this[t]; e["t"] = this["t"]; e["s"] = this["s"]; } function aLiX(e) { this["t"] = 1; this["s"] = e < 0 ? -1 : 0; if (e > 0) this[0] = e; else if (e < -1) this[0] = e + this["DV"]; else this["t"] = 0; } function bFtP(e) { var t = TLtn(); t["fromInt"](e); return t; } function cGbW(e, t) { var r; if (t == 16) r = 4; else if (t == 8) r = 3; else if (t == 256) r = 8; else if (t == 2) r = 1; else if (t == 32) r = 5; else if (t == 4) r = 2; else { this["fromRadix"](e, t); return; } this["t"] = 0; this["s"] = 0; var n = e["length"], i = false, s = 0; while (--n >= 0) { var o = r == 8 ? e[n] & 255 : YqON(e, n); if (o < 0) { if (e["charAt"](n) == "-") i = true; continue; } i = false; if (s == 0) this[this["t"]++] = o; else if (s + r > this["DB"]) { this[this["t"] - 1] |= (o & (1 << this["DB"] - s) - 1) << s; this[this["t"]++] = o >> this["DB"] - s; } else this[this["t"] - 1] |= o << s; s += r; if (s >= this["DB"]) s -= this["DB"]; } if (r == 8 && (e[0] & 128) != 0) { this["s"] = -1; if (s > 0) this[this["t"] - 1] |= (1 << this["DB"] - s) - 1 << s; } this["clamp"](); if (i) SlGn["ZERO"]["subTo"](this, this); } function dPLT() { var e = this["s"] & this["DM"]; while (this["t"] > 0 && this[this["t"] - 1] == e) --this["t"]; } function egCX(e) { if (this["s"] < 0) return "-" + this["negate"]()["toString"](e); var t; if (e == 16) t = 4; else if (e == 8) t = 3; else if (e == 2) t = 1; else if (e == 32) t = 5; else if (e == 4) t = 2; else return this["toRadix"](e); var r = (1 << t) - 1, n, i = false, s = "", o = this["t"]; var a = this["DB"] - o * this["DB"] % t; if (o-- > 0) { if (a < this["DB"] && (n = this[o] >> a) > 0) { i = true; s = XDVb(n); } while (o >= 0) { if (a < t) { n = (this[o] & (1 << a) - 1) << t - a; n |= this[--o] >> (a += this["DB"] - t); } else { n = this[o] >> (a -= t) & r; if (a <= 0) { a += this["DB"]; --o; } } if (n > 0) i = true; if (i) s += XDVb(n); } } return i ? s : "0"; } function fvGD() { var e = TLtn(); SlGn["ZERO"]["subTo"](this, e); return e; } function gOFo() { return this["s"] < 0 ? this["negate"]() : this; } function hEAN(e) { var t = this["s"] - e["s"]; if (t != 0) return t; var r = this["t"]; t = r - e["t"]; if (t != 0) return this["s"] < 0 ? -t : t; while (--r >= 0) if ((t = this[r] - e[r]) != 0) return t; return 0; } function iUN_(e) { var t = 1, r; if ((r = e >>> 16) != 0) { e = r; t += 16; } if ((r = e >> 8) != 0) { e = r; t += 8; } if ((r = e >> 4) != 0) { e = r; t += 4; } if ((r = e >> 2) != 0) { e = r; t += 2; } if ((r = e >> 1) != 0) { e = r; t += 1; } return t; } function jSDM() { if (this["t"] <= 0) return 0; return this["DB"] * (this["t"] - 1) + iUN_(this[this["t"] - 1] ^ this["s"] & this["DM"]); } function kfDt(e, t) { var r; for (r = this["t"] - 1; r >= 0; --r) t[r + e] = this[r]; for (r = e - 1; r >= 0; --r) t[r] = 0; t["t"] = this["t"] + e; t["s"] = this["s"]; } function lHjF(e, t) { for (var r = e; r < this["t"]; ++r) t[r - e] = this[r]; t["t"] = Math["max"](this["t"] - e, 0); t["s"] = this["s"]; } function mM__(e, t) { var r = e % this["DB"]; var n = this["DB"] - r; var i = (1 << n) - 1; var s = Math["floor"](e / this["DB"]), o = this["s"] << r & this["DM"], a; for (a = this["t"] - 1; a >= 0; --a) { t[a + s + 1] = this[a] >> n | o; o = (this[a] & i) << r; } for (a = s - 1; a >= 0; --a) t[a] = 0; t[s] = o; t["t"] = this["t"] + s + 1; t["s"] = this["s"]; t["clamp"](); } function nIr_(e, t) { t["s"] = this["s"]; var r = Math["floor"](e / this["DB"]); if (r >= this["t"]) { t["t"] = 0; return; } var n = e % this["DB"]; var i = this["DB"] - n; var s = (1 << n) - 1; t[0] = this[r] >> n; for (var o = r + 1; o < this["t"]; ++o) { t[o - r - 1] |= (this[o] & s) << i; t[o - r] = this[o] >> n; } if (n > 0) t[this["t"] - r - 1] |= (this["s"] & s) << i; t["t"] = this["t"] - r; t["clamp"](); } function okAI(e, t) { var r = 0, n = 0, i = Math["min"](e["t"], this["t"]); while (r < i) { n += this[r] - e[r]; t[r++] = n & this["DM"]; n >>= this["DB"]; } if (e["t"] < this["t"]) { n -= e["s"]; while (r < this["t"]) { n += this[r]; t[r++] = n & this["DM"]; n >>= this["DB"]; } n += this["s"]; } else { n += this["s"]; while (r < e["t"]) { n -= e[r]; t[r++] = n & this["DM"]; n >>= this["DB"]; } n -= e["s"]; } t["s"] = n < 0 ? -1 : 0; if (n < -1) t[r++] = this["DV"] + n; else if (n > 0) t[r++] = n; t["t"] = r; t["clamp"](); } function pTAY(e, t) { var r = this["abs"](), n = e["abs"](); var i = r["t"]; t["t"] = i + n["t"]; while (--i >= 0) t[i] = 0; for (i = 0; i < n["t"]; ++i) t[i + r["t"]] = r["am"](0, n[i], t, i, 0, r["t"]); t["s"] = 0; t["clamp"](); if (this["s"] != e["s"]) SlGn["ZERO"]["subTo"](t, t); } function qmMy(e) { var t = this["abs"](); var r = e["t"] = 2 * t["t"]; while (--r >= 0) e[r] = 0; for (r = 0; r < t["t"] - 1; ++r) { var n = t["am"](r, t[r], e, 2 * r, 0, 1); if ((e[r + t["t"]] += t["am"](r + 1, 2 * t[r], e, 2 * r + 1, n, t["t"] - r - 1)) >= t["DV"]) { e[r + t["t"]] -= t["DV"]; e[r + t["t"] + 1] = 1; } } if (e["t"] > 0) e[e["t"] - 1] += t["am"](r, t[r], e, 2 * r, 0, 1); e["s"] = 0; e["clamp"](); } function riso(e, t, r) { var n = e["abs"](); if (n["t"] <= 0) return; var i = this["abs"](); if (i["t"] < n["t"]) { if (t != null) t["fromInt"](0); if (r != null) this["copyTo"](r); return; } if (r == null) r = TLtn(); var s = TLtn(), o = this["s"], a = e["s"]; var _ = this["DB"] - iUN_(n[n["t"] - 1]); if (_ > 0) { n["lShiftTo"](_, s); i["lShiftTo"](_, r); } else { n["copyTo"](s); i["copyTo"](r); } var c = s["t"]; var l = s[c - 1]; if (l == 0) return; var u = l * (1 << this["F1"]) + (c > 1 ? s[c - 2] >> this["F2"] : 0); var f = this["FV"] / u, p = (1 << this["F1"]) / u, d = 1 << this["F2"]; var g = r["t"], h = g - c, v = t == null ? TLtn() : t; s["dlShiftTo"](h, v); if (r["compareTo"](v) >= 0) { r[r["t"]++] = 1; r["subTo"](v, r); } SlGn["ONE"]["dlShiftTo"](c, v); v["subTo"](s, s); while (s["t"] < c) s[s["t"]++] = 0; while (--h >= 0) { var m = r[--g] == l ? this["DM"] : Math["floor"](r[g] * f + (r[g - 1] + d) * p); if ((r[g] += s["am"](0, m, r, h, 0, c)) < m) { s["dlShiftTo"](h, v); r["subTo"](v, r); while (r[g] < --m) r["subTo"](v, r); } } if (t != null) { r["drShiftTo"](c, t); if (o != a) SlGn["ZERO"]["subTo"](t, t); } r["t"] = c; r["clamp"](); if (_ > 0) r["rShiftTo"](_, r); if (o < 0) SlGn["ZERO"]["subTo"](r, r); } function sWag(e) { var t = TLtn(); this["abs"]()["divRemTo"](e, null, t); if (this["s"] < 0 && t["compareTo"](SlGn["ZERO"]) > 0) e["subTo"](t, t); return t; } function tetZ(e) { this["m"] = e; } function uMON(e) { if (e["s"] < 0 || e["compareTo"](this["m"]) >= 0) return e["mod"](this["m"]); else return e; } function vEng(e) { return e; } function wEZo(e) { e["divRemTo"](this["m"], null, e); } function xFTL(e, t, r) { e["multiplyTo"](t, r); this["reduce"](r); } function yoJT(e, t) { e["squareTo"](t); this["reduce"](t); } tetZ["prototype"]["convert"] = uMON; tetZ["prototype"]["revert"] = vEng; tetZ["prototype"]["reduce"] = wEZo; tetZ["prototype"]["mulTo"] = xFTL; tetZ["prototype"]["sqrTo"] = yoJT; function Aqse() { if (this["t"] < 1) return 0; var e = this[0]; if ((e & 1) == 0) return 0; var t = e & 3; t = t * (2 - (e & 15) * t) & 15; t = t * (2 - (e & 255) * t) & 255; t = t * (2 - ((e & 65535) * t & 65535)) & 65535; t = t * (2 - e * t % this["DV"]) % this["DV"]; return t > 0 ? this["DV"] - t : -t; } function BISX(e) { this["m"] = e; this["mp"] = e["invDigit"](); this["mpl"] = this["mp"] & 32767; this["mph"] = this["mp"] >> 15; this["um"] = (1 << e["DB"] - 15) - 1; this["mt2"] = 2 * e["t"]; } function Cmsb(e) { var t = TLtn(); e["abs"]()["dlShiftTo"](this["m"]["t"], t); t["divRemTo"](this["m"], null, t); if (e["s"] < 0 && t["compareTo"](SlGn["ZERO"]) > 0) this["m"]["subTo"](t, t); return t; } function DboQ(e) { var t = TLtn(); e["copyTo"](t); this["reduce"](t); return t; } function EwjL(e) { while (e["t"] <= this["mt2"]) e[e["t"]++] = 0; for (var t = 0; t < this["m"]["t"]; ++t) { var r = e[t] & 32767; var n = r * this["mpl"] + ((r * this["mph"] + (e[t] >> 15) * this["mpl"] & this["um"]) << 15) & e["DM"]; r = t + this["m"]["t"]; e[r] += this["m"]["am"](0, n, e, t, 0, this["m"]["t"]); while (e[r] >= e["DV"]) { e[r] -= e["DV"]; e[++r]++; } } e["clamp"](); e["drShiftTo"](this["m"]["t"], e); if (e["compareTo"](this["m"]) >= 0) e["subTo"](this["m"], e); } function FXWH(e, t) { e["squareTo"](t); this["reduce"](t); } function GuEn(e, t, r) { e["multiplyTo"](t, r); this["reduce"](r); } BISX["prototype"]["convert"] = Cmsb; BISX["prototype"]["revert"] = DboQ; BISX["prototype"]["reduce"] = EwjL; BISX["prototype"]["mulTo"] = GuEn; BISX["prototype"]["sqrTo"] = FXWH; function HAbs() { return (this["t"] > 0 ? this[0] & 1 : this["s"]) == 0; } function IQbr(e, t) { if (e > 4294967295 || e < 1) return SlGn["ONE"]; var r = TLtn(), n = TLtn(), i = t["convert"](this), s = iUN_(e) - 1; i["copyTo"](r); while (--s >= 0) { t["sqrTo"](r, n); if ((e & 1 << s) > 0) t["mulTo"](n, i, r); else { var o = r; r = n; n = o; } } return t["revert"](r); } function JOEm(e, t) { var r; if (e < 256 || t["isEven"]()) r = new tetZ(t); else r = new BISX(t); return this["exp"](e, r); } SlGn["prototype"]["copyTo"] = ZXaR; SlGn["prototype"]["fromInt"] = aLiX; SlGn["prototype"]["fromString"] = cGbW; SlGn["prototype"]["clamp"] = dPLT; SlGn["prototype"]["dlShiftTo"] = kfDt; SlGn["prototype"]["drShiftTo"] = lHjF; SlGn["prototype"]["lShiftTo"] = mM__; SlGn["prototype"]["rShiftTo"] = nIr_; SlGn["prototype"]["subTo"] = okAI; SlGn["prototype"]["multiplyTo"] = pTAY; SlGn["prototype"]["squareTo"] = qmMy; SlGn["prototype"]["divRemTo"] = riso; SlGn["prototype"]["invDigit"] = Aqse; SlGn["prototype"]["isEven"] = HAbs; SlGn["prototype"]["exp"] = IQbr; SlGn["prototype"]["toString"] = egCX; SlGn["prototype"]["negate"] = fvGD; SlGn["prototype"]["abs"] = gOFo; SlGn["prototype"]["compareTo"] = hEAN; SlGn["prototype"]["bitLength"] = jSDM; SlGn["prototype"]["mod"] = sWag; SlGn["prototype"]["modPowInt"] = JOEm; SlGn["ZERO"] = bFtP(0); SlGn["ONE"] = bFtP(1); function KMag(e, t) { return new SlGn(e, t); } function LnoK(e, t) { if (t < e["length"] + 11) { console && console["error"] && console["error"]("Message too long for RSA"); return null; } var r = []; var n = e["length"] - 1; while (n >= 0 && t > 0) { var i = e["charCodeAt"](n--); if (i < 128) { r[--t] = i; } else if (i > 127 && i < 2048) { r[--t] = i & 63 | 128; r[--t] = i >> 6 | 192; } else { r[--t] = i & 63 | 128; r[--t] = i >> 6 & 63 | 128; r[--t] = i >> 12 | 224; } } r[--t] = 0; var s = new RjYI(); var o = []; while (t > 2) { o[0] = 0; while (o[0] == 0) s["nextBytes"](o); r[--t] = o[0]; } r[--t] = 2; r[--t] = 0; return new SlGn(r); } function MhPM() { this["n"] = null; this["e"] = 0; this["d"] = null; this["p"] = null; this["q"] = null; this["dmp1"] = null; this["dmq1"] = null; this["coeff"] = null; var e = "00C1E3934D1614465B33053E7F48EE4EC87B14B95EF88947713D25EECBFF7E74C7977D02DC1D9451F79DD5D1C10C29ACB6A9B4D6FB7D0A0279B6719E1772565F09AF627715919221AEF91899CAE08C0D686D748B20A3603BE2318CA6BC2B59706592A9219D0BF05C9F65023A21D2330807252AE0066D59CEEFA5F2748EA80BAB81"; var t = "10001"; this["setPublic"](e, t); } function NZVt(e, t) { if (e != null && t != null && e["length"] > 0 && t["length"] > 0) { this["n"] = KMag(e, 16); this["e"] = parseInt(t, 16); } else console && console["error"] && console["error"]("Invalid RSA public key"); } function OTwL(e) { return e["modPowInt"](this["e"], this["n"]); } function PlQk(e) { var t = LnoK(e, this["n"]["bitLength"]() + 7 >> 3); if (t == null) return null; var r = this["doPublic"](t); if (r == null) return null; var n = r["toString"](16); if ((n["length"] & 1) == 0) return n; else return "0" + n; } MhPM["prototype"]["doPublic"] = OTwL; MhPM["prototype"]["setPublic"] = NZVt; MhPM["prototype"]["encrypt"] = PlQk; return MhPM; }(this); fTbG = function(e) { var t = this; var r = new K()["encrypt"](gCdf(e)); while (!r || r["length"] !== 256) { r = new K()["encrypt"](t["gCdf"](true)); } return r; } EhLr = function(click) { uQfn = function(se, e) { this["lNGg"] = se var t = this; var r = t["lNGg"]; if (!r["indexOf"]) { for (var n = 0, i = r["length"]; n < i; n = n + 1) { if (r[n] === e) { return n; } } return -1; } return r["indexOf"](e); }; AWWe = function(e) { var t = (1 << 15) - 1; if (typeof e !== "number") { return e; } else if (e > t) { e = t; } else if (e < -t) { e = -t; } return Math["round"](e); }; Cscb = function(e) { var t = "", r = 0; var n = (e || [])["length"]; while (!t && e[r]) { t = e[r] && e[r][4]; r++; } if (!t) { return e; } var i = ""; var s = ["mouse", "touch", "pointer", "MSPointer"]; for (var o = 0, a = s["length"]; o < a; o++) { if (t["indexOf"](s[o]) === 0) { i = s[o]; } } var _ = e["slice"](); for (var c = _["length"] - 1; c >= 0; c--) { var l = _[c]; var u = l[0]; if (uQfn(["move", "down", "up"], u) > -1) { var f = l[4] || ""; if (f["indexOf"](i) !== 0) { _["splice"](c, 1); } } } return _; }; Xkir = function encode(e) { var i = "()*,-./0123456789:?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~"; function gEko(e) { var t = ""; var r = e["length"] / 6; for (var n = 0; n < r; n = n + 1) { t += i["charAt"](parseInt(e["slice"](n * 6, (n + 1) * 6), 2)); } return t; } function t(e) { var t = []; var r = []; var n = []; var i = []; for (var s = 0, o = e["length"]; s < o; s = s + 1) { var a = e[s]; var _ = a["length"]; t["push"](a[0]); r["push"](_ === 2 ? a[1] : a[2]); if (_ === 3) { n["push"](a[1][0]); i["push"](a[1][1]); } } var c = g(t); var l = mUTp(r, false); var u = mUTp(n, true); var f = mUTp(i, true); var p = c + l + u + f; var d = p["length"]; if (d % 6 != 0) { p += heAo(0, 6 - d % 6); } return gEko(p); } var p = { "move": 0, "down": 1, "up": 2, "scroll": 3, "focus": 4, "blur": 5, "unload": 6, "unknown": 7 }; var d = 8; function heAo(e, t) { var r = e["toString"](2); var n = r["length"]; var i = ""; for (var s = n + 1; s <= t; s = s + 1) { i += "0"; } r = i + r; return r; } function g(e) { var t = []; var r = e["length"]; var n = 0; while (n < r) { var i = e[n]; var s = 0; while (true) { if (s >= 1 << 4) { break; } var o = n + s + 1; if (o >= r) { break; } var a = e[o]; if (a !== i) { break; } s += 1; } n = n + 1 + s; var _ = p[i]; if (s != 0) { t["push"](_ | d); t["push"](s - 1); } else { t["push"](_); } } var c = heAo(r | 32768, 16); var l = ""; for (var u = 0, f = t["length"]; u < f; u = u + 1) { l += heAo(t[u], 4); } return c + l; } function iU_q(e, t) { var r = []; for (var n = 0, i = e["length"]; n < i; n = n + 1) { r["push"](t(e[n])); } return r; } function jdXS(e, t) { var r = []; iU_q(e, function(e) { if (t(e)) { r["push"](e); } }); return r; } function kuls(e) { var t = (1 << 15) - 1; e = iU_q(e, function(e) { if (e > t) { return t; } else if (e < -t) { return -t; } return e; }); var r = e["length"]; var n = 0; var i = []; while (n < r) { var s = 1; var o = e[n]; var a = Math["abs"](o); while (true) { if (n + s >= r) { break; } if (e[n + s] !== o) { break; } if (a >= 127 || s >= 127) { break; } s += 1; } if (s > 1) { i["push"]((o < 0 ? 49152 : 32768) | s << 7 | a); } else { i["push"](o); } n += s; } return i; } function lNYw(e, t) { if (e === 0) { return 0; } return Math["log"](e) / Math["log"](t); } function mUTp(e, t) { e = kuls(e); var r = [], n = [], i; iU_q(e, function(e) { var t = Math["ceil"](lNYw(Math["abs"](e) + 1, 16)); if (t === 0) { t = 1; } r["push"](heAo(t - 1, 2)); n["push"](heAo(Math["abs"](e), t * 4)); }); var s = r["join"](""); var o = n["join"](""); if (!t) { i = ""; } else { i = iU_q(jdXS(e, function(e) { return e != 0 && e >> 15 != 1; }), function(e) { return e < 0 ? "1" : "0"; })["join"](""); } var a = heAo(e["length"] | 32768, 16); return a + s + o + i; } return t(e); }; BjJO = function(e) { var t = 0, r = 0, n = 0, i = 0; var s = []; var o = this; var a = e[0][1]; if (e["length"] <= 0) { return []; } var _ = null; var c = null; var l = o["Cscb"](e); var u = l["length"]; var f = 0; for (; f < u; f = f + 1) { var p = l[f]; var d = p[0]; if (uQfn(["down", "move", "up", "scroll"], d) > -1) { if (!_) { _ = p; } c = p; s["push"]([d, [p[1] - t, p[2] - r], o["AWWe"](a ? p[3] - a : a)]); t = p[1]; r = p[2]; a = p[3]; } else if (uQfn(["blur", "focus", "unload"], d) > -1) { s["push"]([d, o["AWWe"](a ? p[1] - a : a)]); a = p[1]; } } o["qGfk"] = _; o["rXhS"] = c; return s; }; var t = click; return Xkir(BjJO(click)); }; function pe(e, t, r) { if (!t || !r) { return e; } var n = 0; var i = 2; var s; var o = e; var a = t[0], _ = t[2], c = t[4]; while (s = r["substr"](n, i)) { n += i; var l = parseInt(s, 16); var u = String["fromCharCode"](l); var f = (a * l * l + _ * l + c) % e["length"]; o = o["substr"](0, f) + u + o["substr"](f); } return o; } var Q = function() { var r = Object["create"] || function() { function F() {} return function(e) { var t; F["prototype"] = e; t = new F(); F["prototype"] = null; return t; }; }(); var e = {}; var t = e["lib"] = {}; var n = t["Base"] = function() { return { "extend": function(e) { var t = r(this); if (e) { t["mixIn"](e); } if (!t["hasOwnProperty"]("init") || this["init"] === t["init"]) { t["init"] = function() { t["$super"]["init"]["apply"](this, arguments); }; } t["init"]["prototype"] = t; t["$super"] = this; return t; }, "create": function() { var e = this["extend"](); e["init"]["apply"](e, arguments); return e; }, "init": function() {}, "mixIn": function(e) { for (var t in e) { if (e["hasOwnProperty"](t)) { this[t] = e[t]; } } if (e["hasOwnProperty"]("toString")) { this["toString"] = e["toString"]; } } }; }(); var u = t["WordArray"] = n["extend"]({ "init": function(e, t) { e = this["words"] = e || []; if (t != undefined) { this["sigBytes"] = t; } else { this["sigBytes"] = e["length"] * 4; } }, "concat": function(e) { var t = this["words"]; var r = e["words"]; var n = this["sigBytes"]; var i = e["sigBytes"]; this["clamp"](); if (n % 4) { for (var s = 0; s < i; s++) { var o = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; t[n + s >>> 2] |= o << 24 - (n + s) % 4 * 8; } } else { for (var s = 0; s < i; s += 4) { t[n + s >>> 2] = r[s >>> 2]; } } this["sigBytes"] += i; return this; }, "clamp": function() { var e = this["words"]; var t = this["sigBytes"]; e[t >>> 2] &= 4294967295 << 32 - t % 4 * 8; e["length"] = Math["ceil"](t / 4); } }); var i = e["enc"] = {}; var l = i["Latin1"] = { "parse": function(e) { var t = e["length"]; var r = []; for (var n = 0; n < t; n++) { r[n >>> 2] |= (e["charCodeAt"](n) & 255) << 24 - n % 4 * 8; } return new u["init"](r, t); } }; var s = i["Utf8"] = { "parse": function(e) { return l["parse"](unescape(encodeURIComponent(e))); } }; var o = t["BufferedBlockAlgorithm"] = n["extend"]({ "reset": function() { this["pjsI"] = new u["init"](); this["qfkV"] = 0; }, "rgzc": function(e) { if (typeof e == "string") { e = s["parse"](e); } this["pjsI"]["concat"](e); this["qfkV"] += e["sigBytes"]; }, "sEps": function(e) { var t = this["pjsI"]; var r = t["words"]; var n = t["sigBytes"]; var i = this["blockSize"]; var s = i * 4; var o = n / s; if (e) { o = Math["ceil"](o); } else { o = Math["max"]((o | 0) - this["tDkA"], 0); } var a = o * i; var _ = Math["min"](a * 4, n); if (a) { for (var c = 0; c < a; c += i) { this["udln"](r, c); } var l = r["splice"](0, a); t["sigBytes"] -= _; } return new u["init"](l, _); }, "tDkA": 0 }); var a = e["algo"] = {}; var _ = t["Cipher"] = o["extend"]({ "cfg": n["extend"](), "createEncryptor": function(e, t) { return this["create"](this["vZjj"], e, t); }, "init": function(e, t, r) { this["cfg"] = this["cfg"]["extend"](r); this["wqSk"] = e; this["xjne"] = t; this["reset"](); }, "reset": function() { o["reset"]["call"](this); this["yEXF"](); }, "process": function(e) { this["rgzc"](e); return this["sEps"](); }, "finalize": function(e) { if (e) { this["rgzc"](e); } var t = this["AXVn"](); return t; }, "keySize": 128 / 32, "ivSize": 128 / 32, "vZjj": 1, "BmoS": 2, "CwJD": function() { return function(c) { return { "encrypt": function(e, t, r) { var t = l["parse"](t); if (!r || !r["iv"]) { r = r || {}; r["iv"] = l["parse"]("0000000000000000"); } var n = m["encrypt"](c, e, t, r); var i = n["ciphertext"]["words"]; var s = n["ciphertext"]["sigBytes"]; var o = []; for (var a = 0; a < s; a++) { var _ = i[a >>> 2] >>> 24 - a % 4 * 8 & 255; o["push"](_); } return o; } }; }; }() }); var c = e["mode"] = {}; var f = t["BlockCipherMode"] = n["extend"]({ "createEncryptor": function(e, t) { return this["Encryptor"]["create"](e, t); }, "init": function(e, t) { this["DPYF"] = e; this["Ejxb"] = t; } }); var p = c["CBC"] = function() { var e = f["extend"](); e["Encryptor"] = e["extend"]({ "processBlock": function(e, t) { var r = this["DPYF"]; var n = r["blockSize"]; QENL["call"](this, e, t, n); r["encryptBlock"](e, t); this["FSli"] = e["slice"](t, t + n); } }); function QENL(e, t, r) { var n = this["Ejxb"]; if (n) { var i = n; this["Ejxb"] = undefined; } else { var i = this["FSli"]; } for (var s = 0; s < r; s++) { e[t + s] ^= i[s]; } } return e; }(); var d = e["pad"] = {}; var g = d["Pkcs7"] = { "pad": function(e, t) { var r = t * 4; var n = r - e["sigBytes"] % r; var i = n << 24 | n << 16 | n << 8 | n; var s = []; for (var o = 0; o < n; o += 4) { s["push"](i); } var a = u["create"](s, n); e["concat"](a); } }; var h = t["BlockCipher"] = _["extend"]({ "cfg": _["cfg"]["extend"]({ "mode": p, "padding": g }), "reset": function() { _["reset"]["call"](this); var e = this["cfg"]; var t = e["iv"]; var r = e["mode"]; if (this["wqSk"] == this["vZjj"]) { var n = r["createEncryptor"]; } if (this["GCBR"] && this["GCBR"]["HeND"] == n) { this["GCBR"]["init"](this, t && t["words"]); } else { this["GCBR"] = n["call"](r, this, t && t["words"]); this["GCBR"]["HeND"] = n; } }, "udln": function(e, t) { this["GCBR"]["processBlock"](e, t); }, "AXVn": function() { var e = this["cfg"]["padding"]; if (this["wqSk"] == this["vZjj"]) { e["pad"](this["pjsI"], this["blockSize"]); var t = this["sEps"](!!"flush"); } return t; }, "blockSize": 128 / 32 }); var v = t["CipherParams"] = n["extend"]({ "init": function(e) { this["mixIn"](e); } }); var m = t["SerializableCipher"] = n["extend"]({ "cfg": n["extend"](), "encrypt": function(e, t, r, n) { n = this["cfg"]["extend"](n); var i = e["createEncryptor"](r, n); var s = i["finalize"](t); var o = i["cfg"]; return v["create"]({ "ciphertext": s, "key": r, "iv": o["iv"], "algorithm": e, "mode": o["mode"], "padding": o["padding"], "blockSize": e["blockSize"], "formatter": n["format"] }); } }); var w = []; var y = []; var x = []; var b = []; var E = []; var S = []; var k = []; var C = []; var T = []; var A = []; (function() { var e = []; for (var t = 0; t < 256; t++) { if (t < 128) { e[t] = t << 1; } else { e[t] = t << 1 ^ 283; } } var r = 0; var n = 0; for (var t = 0; t < 256; t++) { var i = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4; i = i >>> 8 ^ i & 255 ^ 99; w[r] = i; y[i] = r; var s = e[r]; var o = e[s]; var a = e[o]; var _ = e[i] * 257 ^ i * 16843008; x[r] = _ << 24 | _ >>> 8; b[r] = _ << 16 | _ >>> 16; E[r] = _ << 8 | _ >>> 24; S[r] = _; var _ = a * 16843009 ^ o * 65537 ^ s * 257 ^ r * 16843008; k[i] = _ << 24 | _ >>> 8; C[i] = _ << 16 | _ >>> 16; T[i] = _ << 8 | _ >>> 24; A[i] = _; if (!r) { r = n = 1; } else { r = s ^ e[e[e[a ^ s]]]; n ^= e[e[n]]; } } })(); var I = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; var B = a["AES"] = h["extend"]({ "yEXF": function() { if (this["IPYP"] && this["JGZB"] === this["xjne"]) { return; } var e = this["JGZB"] = this["xjne"]; var t = e["words"]; var r = e["sigBytes"] / 4; var n = this["IPYP"] = r + 6; var i = (n + 1) * 4; var s = this["KUID"] = []; for (var o = 0; o < i; o++) { if (o < r) { s[o] = t[o]; } else { var a = s[o - 1]; if (!(o % r)) { a = a << 8 | a >>> 24; a = w[a >>> 24] << 24 | w[a >>> 16 & 255] << 16 | w[a >>> 8 & 255] << 8 | w[a & 255]; a ^= I[o / r | 0] << 24; } else if (r > 6 && o % r == 4) { a = w[a >>> 24] << 24 | w[a >>> 16 & 255] << 16 | w[a >>> 8 & 255] << 8 | w[a & 255]; } s[o] = s[o - r] ^ a; } } var _ = this["LmzG"] = []; for (var c = 0; c < i; c++) { var o = i - c; if (c % 4) { var a = s[o]; } else { var a = s[o - 4]; } if (c < 4 || o <= 4) { _[c] = a; } else { _[c] = k[w[a >>> 24]] ^ C[w[a >>> 16 & 255]] ^ T[w[a >>> 8 & 255]] ^ A[w[a & 255]]; } } }, "encryptBlock": function(e, t) { this["MCdb"](e, t, this["KUID"], x, b, E, S, w); }, "MCdb": function(e, t, r, n, i, s, o, a) { var _ = this["IPYP"]; var c = e[t] ^ r[0]; var l = e[t + 1] ^ r[1]; var u = e[t + 2] ^ r[2]; var f = e[t + 3] ^ r[3]; var p = 4; for (var d = 1; d < _; d++) { var g = n[c >>> 24] ^ i[l >>> 16 & 255] ^ s[u >>> 8 & 255] ^ o[f & 255] ^ r[p++]; var h = n[l >>> 24] ^ i[u >>> 16 & 255] ^ s[f >>> 8 & 255] ^ o[c & 255] ^ r[p++]; var v = n[u >>> 24] ^ i[f >>> 16 & 255] ^ s[c >>> 8 & 255] ^ o[l & 255] ^ r[p++]; var m = n[f >>> 24] ^ i[c >>> 16 & 255] ^ s[l >>> 8 & 255] ^ o[u & 255] ^ r[p++]; c = g; l = h; u = v; f = m; } var g = (a[c >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[f & 255]) ^ r[p++]; var h = (a[l >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[c & 255]) ^ r[p++]; var v = (a[u >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[c >>> 8 & 255] << 8 | a[l & 255]) ^ r[p++]; var m = (a[f >>> 24] << 24 | a[c >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[u & 255]) ^ r[p++]; e[t] = g; e[t + 1] = h; e[t + 2] = v; e[t + 3] = m; }, "keySize": 256 / 32 }); e["AES"] = h["CwJD"](B); return e["AES"]; }(); var de = function() { "use strict"; var e = {}; var t = /^[\],:{}\s]*$/; var r = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g; var n = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; var i = /(?:^|:|,)(?:\s*\[)+/g; var s = /[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; var o = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; function f(e) { return e < 10 ? "0" + e : e; } function cEov() { return this["valueOf"](); } if (typeof Date["prototype"]["toJSON"] !== "function") { Date["prototype"]["toJSON"] = function() { return isFinite(this["valueOf"]()) ? this["getUTCFullYear"]() + "-" + f(this["getUTCMonth"]() + 1) + "-" + f(this["getUTCDate"]()) + "T" + f(this["getUTCHours"]()) + ":" + f(this["getUTCMinutes"]()) + ":" + f(this["getUTCSeconds"]()) + "Z" : null; }; Boolean["prototype"]["toJSON"] = cEov; Number["prototype"]["toJSON"] = cEov; String["prototype"]["toJSON"] = cEov; } var c; var l; var a; var u; function dCpX(e) { s["lastIndex"] = 0; return s["test"](e) ? "\"" + e["replace"](s, function(e) { var t = a[e]; return typeof t === "string" ? t : "\\u" + ("0000" + e["charCodeAt"](0)["toString"](16))["slice"](-4); }) + "\"" : "\"" + e + "\""; } function eTjc(e, t) { var r; var n; var i; var s; var o = c; var a; var _ = t[e]; if (_ && typeof _ === "object" && typeof _["toJSON"] === "function") { _ = _["toJSON"](e); } if (typeof u === "function") { _ = u["call"](t, e, _); } switch (typeof _) { case "string": return dCpX(_); case "number": return isFinite(_) ? String(_) : "null"; case "boolean": case "null": return String(_); case "object": if (!_) { return "null"; } c += l; a = []; if (Object["prototype"]["toString"]["apply"](_) === "[object Array]") { s = _["length"]; for (r = 0; r < s; r += 1) { a[r] = eTjc(r, _) || "null"; } i = a["length"] === 0 ? "[]" : c ? "[\n" + c + a["join"](",\n" + c) + "\n" + o + "]" : "[" + a["join"](",") + "]"; c = o; return i; } if (u && typeof u === "object") { s = u["length"]; for (r = 0; r < s; r += 1) { if (typeof u[r] === "string") { n = u[r]; i = eTjc(n, _); if (i) { a["push"](dCpX(n) + (c ? ": " : ":") + i); } } } } else { for (n in _) { if (Object["prototype"]["hasOwnProperty"]["call"](_, n)) { i = eTjc(n, _); if (i) { a["push"](dCpX(n) + (c ? ": " : ":") + i); } } } } i = a["length"] === 0 ? "{}" : c ? "{\n" + c + a["join"](",\n" + c) + "\n" + o + "}" : "{" + a["join"](",") + "}"; c = o; return i; } } a = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", "\"": "\\\"", "\\": "\\\\" }; e["stringify"] = function(e, t, r) { var n; c = ""; l = ""; if (typeof r === "number") { for (n = 0; n < r; n += 1) { l += " "; } } else if (typeof r === "string") { l = r; } u = t; if (t && typeof t !== "function" && (typeof t !== "object" || typeof t["length"] !== "number")) { throw new Error("JSON.stringify"); } return eTjc("", { "": e }); }; return e; }(); function Z(e) { function GAkw(e, t) { return e << t | e >>> 32 - t; } function HSRH(e, t) { var r, n, i, s, o; i = e & 2147483648; s = t & 2147483648; r = e & 1073741824; n = t & 1073741824; o = (e & 1073741823) + (t & 1073741823); if (r & n) { return o ^ 2147483648 ^ i ^ s; } if (r | n) { if (o & 1073741824) { return o ^ 3221225472 ^ i ^ s; } else { return o ^ 1073741824 ^ i ^ s; } } else { return o ^ i ^ s; } } function F(e, t, r) { return e & t | ~e & r; } function G(e, t, r) { return e & r | t & ~r; } function H(e, t, r) { return e ^ t ^ r; } function I(e, t, r) { return t ^ (e | ~r); } function FF(e, t, r, n, i, s, o) { e = HSRH(e, HSRH(HSRH(F(t, r, n), i), o)); return HSRH(GAkw(e, s), t); } function GG(e, t, r, n, i, s, o) { e = HSRH(e, HSRH(HSRH(G(t, r, n), i), o)); return HSRH(GAkw(e, s), t); } function HH(e, t, r, n, i, s, o) { e = HSRH(e, HSRH(HSRH(H(t, r, n), i), o)); return HSRH(GAkw(e, s), t); } function II(e, t, r, n, i, s, o) { e = HSRH(e, HSRH(HSRH(I(t, r, n), i), o)); return HSRH(GAkw(e, s), t); } function IC_r(e) { var t; var r = e["length"]; var n = r + 8; var i = (n - n % 64) / 64; var s = (i + 1) * 16; var o = Array(s - 1); var a = 0; var _ = 0; while (_ < r) { t = (_ - _ % 4) / 4; a = _ % 4 * 8; o[t] = o[t] | e["charCodeAt"](_) << a; _++; } t = (_ - _ % 4) / 4; a = _ % 4 * 8; o[t] = o[t] | 128 << a; o[s - 2] = r << 3; o[s - 1] = r >>> 29; return o; } function JjuX(e) { var t = "", r = "", n, i; for (i = 0; i <= 3; i++) { n = e >>> i * 8 & 255; r = "0" + n["toString"](16); t = t + r["substr"](r["length"] - 2, 2); } return t; } function KeB_(e) { e = e["replace"](/\r\n/g, "\n"); var t = ""; for (var r = 0; r < e["length"]; r++) { var n = e["charCodeAt"](r); if (n < 128) { t += String["fromCharCode"](n); } else if (n > 127 && n < 2048) { t += String["fromCharCode"](n >> 6 | 192); t += String["fromCharCode"](n & 63 | 128); } else { t += String["fromCharCode"](n >> 12 | 224); t += String["fromCharCode"](n >> 6 & 63 | 128); t += String["fromCharCode"](n & 63 | 128); } } return t; } var t = []; var r, n, i, s, o, a, _, c, l; var u = 7, f = 12, p = 17, d = 22; var g = 5, h = 9, v = 14, m = 20; var w = 4, y = 11, x = 16, b = 23; var E = 6, S = 10, k = 15, C = 21; e = KeB_(e); t = IC_r(e); a = 1732584193; _ = 4023233417; c = 2562383102; l = 271733878; for (r = 0; r < t["length"]; r += 16) { n = a; i = _; s = c; o = l; a = FF(a, _, c, l, t[r + 0], u, 3614090360); l = FF(l, a, _, c, t[r + 1], f, 3905402710); c = FF(c, l, a, _, t[r + 2], p, 606105819); _ = FF(_, c, l, a, t[r + 3], d, 3250441966); a = FF(a, _, c, l, t[r + 4], u, 4118548399); l = FF(l, a, _, c, t[r + 5], f, 1200080426); c = FF(c, l, a, _, t[r + 6], p, 2821735955); _ = FF(_, c, l, a, t[r + 7], d, 4249261313); a = FF(a, _, c, l, t[r + 8], u, 1770035416); l = FF(l, a, _, c, t[r + 9], f, 2336552879); c = FF(c, l, a, _, t[r + 10], p, 4294925233); _ = FF(_, c, l, a, t[r + 11], d, 2304563134); a = FF(a, _, c, l, t[r + 12], u, 1804603682); l = FF(l, a, _, c, t[r + 13], f, 4254626195); c = FF(c, l, a, _, t[r + 14], p, 2792965006); _ = FF(_, c, l, a, t[r + 15], d, 1236535329); a = GG(a, _, c, l, t[r + 1], g, 4129170786); l = GG(l, a, _, c, t[r + 6], h, 3225465664); c = GG(c, l, a, _, t[r + 11], v, 643717713); _ = GG(_, c, l, a, t[r + 0], m, 3921069994); a = GG(a, _, c, l, t[r + 5], g, 3593408605); l = GG(l, a, _, c, t[r + 10], h, 38016083); c = GG(c, l, a, _, t[r + 15], v, 3634488961); _ = GG(_, c, l, a, t[r + 4], m, 3889429448); a = GG(a, _, c, l, t[r + 9], g, 568446438); l = GG(l, a, _, c, t[r + 14], h, 3275163606); c = GG(c, l, a, _, t[r + 3], v, 4107603335); _ = GG(_, c, l, a, t[r + 8], m, 1163531501); a = GG(a, _, c, l, t[r + 13], g, 2850285829); l = GG(l, a, _, c, t[r + 2], h, 4243563512); c = GG(c, l, a, _, t[r + 7], v, 1735328473); _ = GG(_, c, l, a, t[r + 12], m, 2368359562); a = HH(a, _, c, l, t[r + 5], w, 4294588738); l = HH(l, a, _, c, t[r + 8], y, 2272392833); c = HH(c, l, a, _, t[r + 11], x, 1839030562); _ = HH(_, c, l, a, t[r + 14], b, 4259657740); a = HH(a, _, c, l, t[r + 1], w, 2763975236); l = HH(l, a, _, c, t[r + 4], y, 1272893353); c = HH(c, l, a, _, t[r + 7], x, 4139469664); _ = HH(_, c, l, a, t[r + 10], b, 3200236656); a = HH(a, _, c, l, t[r + 13], w, 681279174); l = HH(l, a, _, c, t[r + 0], y, 3936430074); c = HH(c, l, a, _, t[r + 3], x, 3572445317); _ = HH(_, c, l, a, t[r + 6], b, 76029189); a = HH(a, _, c, l, t[r + 9], w, 3654602809); l = HH(l, a, _, c, t[r + 12], y, 3873151461); c = HH(c, l, a, _, t[r + 15], x, 530742520); _ = HH(_, c, l, a, t[r + 2], b, 3299628645); a = II(a, _, c, l, t[r + 0], E, 4096336452); l = II(l, a, _, c, t[r + 7], S, 1126891415); c = II(c, l, a, _, t[r + 14], k, 2878612391); _ = II(_, c, l, a, t[r + 5], C, 4237533241); a = II(a, _, c, l, t[r + 12], E, 1700485571); l = II(l, a, _, c, t[r + 3], S, 2399980690); c = II(c, l, a, _, t[r + 10], k, 4293915773); _ = II(_, c, l, a, t[r + 1], C, 2240044497); a = II(a, _, c, l, t[r + 8], E, 1873313359); l = II(l, a, _, c, t[r + 15], S, 4264355552); c = II(c, l, a, _, t[r + 6], k, 2734768916); _ = II(_, c, l, a, t[r + 13], C, 1309151649); a = II(a, _, c, l, t[r + 4], E, 4149444226); l = II(l, a, _, c, t[r + 11], S, 3174756917); c = II(c, l, a, _, t[r + 2], k, 718787259); _ = II(_, c, l, a, t[r + 9], C, 3951481745); a = HSRH(a, n); _ = HSRH(_, i); c = HSRH(c, s); l = HSRH(l, o); } var T = JjuX(a) + JjuX(_) + JjuX(c) + JjuX(l); return T["toLowerCase"](); } Tddu = function(e) { var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789()"; if (e < 0 || e >= t["length"]) { return "."; } return t["charAt"](e); }; var h = { "JHlg": { "KaBO": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789()", "LErz": ".", "MrTK": 7274496, "NopF": 9483264, "ObcT": 19220, "Pqeu": 235, "QeXe": 24 }, "KaBO": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789()", "LErz": ".", "MrTK": 7274496, "NopF": 9483264, "ObcT": 19220, "Pqeu": 235, "QeXe": 24, "Ryha": function(e) { var t = []; for (var r = 0, n = e["length"]; r < n; r += 1) { t["push"](e["charCodeAt"](r)); } return t; }, "SfaP": function(e) { var t = ""; for (var r = 0, n = e["length"]; r < n; r += 1) { t += String["fromCharCode"](e[r]); } return t; }, "Tddu": function(e) { var t = this["KaBO"]; if (e < 0 || e >= t["length"]) { return "."; } return t["charAt"](e); }, "UYYM": function(e) { var t = this["KaBO"]; return t["indexOf"](e); }, "VphP": function(e, t) { return e >> t & 1; }, "WWko": function(e, i) { var s = this; if (!i) { i = s; } function t(e, t) { var r = 0; for (var n = i["QeXe"] - 1; n >= 0; n -= 1) { if (s["VphP"](t, n) === 1) { r = (r << 1) + s["VphP"](e, n); } } return r; } var r = "", n = ""; var o = e["length"]; for (var a = 0; a < o; a += 3) { var _; if (a + 2 < o) { _ = (e[a] << 16) + (e[a + 1] << 8) + e[a + 2]; r += s["Tddu"](t(_, i["MrTK"])) + s["Tddu"](t(_, i["NopF"])) + s["Tddu"](t(_, i["ObcT"])) + s["Tddu"](t(_, i["Pqeu"])); } else { var c = o % 3; if (c === 2) { _ = (e[a] << 16) + (e[a + 1] << 8); r += s["Tddu"](t(_, i["MrTK"])) + s["Tddu"](t(_, i["NopF"])) + s["Tddu"](t(_, i["ObcT"])); n = i["LErz"]; } else if (c === 1) { _ = e[a] << 16; r += s["Tddu"](t(_, i["MrTK"])) + s["Tddu"](t(_, i["NopF"])); n = i["LErz"] + i["LErz"]; } } } return { "res": r, "end": n }; }, "Xkir": function(e) { var t = this; var r = t["WWko"](t["Ryha"](e)); return r["res"] + r["end"]; }, "YQee": function(e) { var t = this; var r = t["WWko"](e); return r["res"] + r["end"]; }, "Zxuq": function(e, s) { var o = this; if (!s) { s = o; } function t(e, t) { if (e < 0) { return 0; } var r = 5; var n = 0; for (var i = s["QeXe"] - 1; i >= 0; i -= 1) { if (o["VphP"](t, i) === 1) { n += o["VphP"](e, r) << i; r -= 1; } } return n; } var r = e["length"]; var n = ""; for (var i = 0; i < r; i += 4) { var a = t(o["UYYM"](e["charAt"](i)), s["MrTK"]) + t(o["UYYM"](e["charAt"](i + 1)), s["NopF"]) + t(o["UYYM"](e["charAt"](i + 2)), s["ObcT"]) + t(o["UYYM"](e["charAt"](i + 3)), s["Pqeu"]); var _ = a >> 16 & 255; n += String["fromCharCode"](_); if (e["charAt"](i + 2) !== s["LErz"]) { var c = a >> 8 & 255; n += String["fromCharCode"](c); if (e["charAt"](i + 3) !== s["LErz"]) { var l = a & 255; n += String["fromCharCode"](l); } } } return n; }, "aUoe": function(e) { var t = this; var r = 4 - e["length"] % 4; if (r < 4) { for (var n = 0; n < r; n += 1) { e += t["LErz"]; } } return t["Zxuq"](e); }, "bowZ": function(e) { var t = this; return t["aUoe"](e); } }; // 调用这个函数就可以获取w getW = function(click, xy, pic_url, nc, ns, gt, challenge, passtime) { r = this var o = { "lang": "zh-cn", "passtime": passtime, "a": xy, "pic": pic_url, "tt": pe(EhLr(click), nc, ns), "ep": {} }; o["rp"] = Z(gt + challenge + passtime) gCdf = function() { var t = ae(); return function(e) { if (e === true) { t = ae(); } return t; }; }(); var f = Q["encrypt"](de["stringify"](o), r["gCdf"]()); var p = h.YQee(f); return p + fTbG() } const t = new Date().getTime() const click = [ [ "blur", t ], [ "focus", t + 100 ], [ "focus", t + 100 ], [ "down", 318, 349, t + 200, "pointerdown" ], [ "move", 318, 349, t + 250, "pointermove" ], [ "up", 318, 349, t + 300, "pointerup" ], [ "move", 318, 349, t + 302, "mousemove" ], [ "down", 318, 349, t + 303, "mousedown" ], [ "up", 318, 349, t + 304, "mouseup" ], [ "down", 327, 520, t + 400, "pointerdown" ], [ "up", 327, 520, t + 450, "pointerup" ], [ "move", 327, 520, t + 470, "mousemove" ], [ "down", 327, 520, t + 470, "mousedown" ], [ "focus", t + 470 ], [ "up", 327, 520, t + 471, "mouseup" ] ] // 截取cookie function getCookie(name) { // 获取所有cookie并以"; "分割 const cookies = document.cookie.split("; "); for (let i = 0; i < cookies.length; i++) { // 分割键值对 const cookie = cookies[i].split("="); // 删除cookie名两边的空白字符 const cookieName = cookie[0].trim(); // 如果找到了所需的cookie键 if (cookieName === name) { // 返回对应的cookie值(去掉值两边的空白字符) return decodeURIComponent(cookie[1].trim()); } } // 如果找不到指定的cookie,返回空字符串 return ""; } // 格式化服务器返回的坐标 function formatTextCoordinates(coordinates){ const scaleFactor = 10000 / 344; // 计算平均值并应用比例因子,然后格式化输出 const resultStrings = coordinates.map(coords => { const xAvg = Math.round(((coords[0] + coords[2]) / 2) * scaleFactor); const yAvg = Math.round(((coords[1] + coords[3]) / 2) * scaleFactor); return `${xAvg}_${yAvg}`; }); return resultStrings.join(','); } const http = axios.create({ baseURL: "https://api.bilibili.com", timeout: 5000, withCredentials: "true", headers: { post: { "Content-Type": "application/x-www-form-urlencoded" } } }); const geetest_http = axios.create({ baseURL: "https://api.geetest.com", timeout: 5000, headers: { post: { "Content-Type": "application/x-www-form-urlencoded" } } }); // 请求拦截器 http.interceptors.request.use((config) => { // 避免浏览器对请求进行缓存 config.params = { ...config.params, wts:1, w_rid:'1' }; return config; }); // getInfo=>activity_id // 获取info所需的参数 const params = { task_id: new URLSearchParams(window.location.search).get("task_id") || "", web_location: document.querySelector('meta[name="spm_prefix"]').content || "" }; // 获取activity_id setTimeout(async()=>{ let activity_id = await http .get("/x/activity_components/mission/info", { params: { ...params } }) .then(function(response) { console.log("activity_id:"+response.data.data.act_id) return response.data.data.act_id; }) .catch(function(error) { console.log(error); }); // receive // 获取voucher let voucher = await http .post("/x/activity_components/mission/receive", { task_id: new URLSearchParams(window.location.search).get("task_id") || "", activity_id, activity_name: "", task_name: "", reward_name: "", gaia_vtoken: "", receive_from: "missionPage", csrf: getCookie("bili_jct") || "" }) .then(function(response) { let code = response.data.code || 114514; let info = response.data.message || "......"; if (code >= 202100) { console.log(`%c${code}:${info}`, "font-size: 10px; color: red;"); return code===202100?response.data.data:'' } else if (code === 75086) { console.log(`%c${code}:${info}`, "font-size: 15px; color: green;"); } else { console.log( `%c${code}:${info}`, "font-size: 10px; color: orange;" ); } }) .catch(function(error) { console.log(error); }); // register let {challenge,gt,token} = await http.post("/x/gaia-vgate/v1/register",{ csrf:getCookie('bili_jct') || '', v_voucher:voucher }) .then(function(response){ return { challenge:response.data.data.geetest.challenge||'', gt:response.data.data.geetest.gt||'', token:response.data.data.token || '', } }) .catch(function(error){ console.log(error) }) // gettype.php console.log('challenge:'+challenge) console.log('gt:'+gt) console.log('token:'+token) await geetest_http .get("/gettype.php", { params:{ gt, callback:"geetest_" + (parseInt(1e4 * Math.random()) + new Date().getTime()) } }) .then(function(response) { // console.log(response.data) }) .catch(function(error) { console.log(error); }); // get.php await geetest_http .get("/get.php", { params:{ gt, challenge, lang:"zh-cn", pt:0, client_type:'web', w:'', callback:"geetest_" + (parseInt(1e4 * Math.random()) + new Date().getTime()) } }) .then(function(response) { // console.log(response.data) }) .catch(function(error) { console.log(error); }); // ajax.php await geetest_http .get("/ajax.php", { params:{ gt, challenge, lang:"zh-cn", pt:0, client_type:'web', w:'', callback:"geetest_" + (parseInt(1e4 * Math.random()) + new Date().getTime()) } }) .then(function(response) { // console.log(response.data) }) .catch(function(error) { console.log(error); }); // click.js // 略 // get.php?is_next,获取c,s,img_url值 // 1、通过c,s,img_url得到加密后的w值 // 2、通过第三方服务器获取img的文字坐标 // 3、处理成geetest需要的格式 // 4、发送ajax.php获取validation // 5、将validation发给b站 // 通过unsafeWindow访问window对象,将geetest的重要参数挂载到其身上 let callback_name = "geetest_" + (parseInt(1e4 * Math.random()) + new Date().getTime()) console.log("callback_name:"+callback_name) // unsafeWindow[callback_name] = function(obj){ this.geetestParams = {...obj} } await geetest_http .get("/get.php", { params:{ is_next: true, type: "click", gt, challenge, lang: "zh-cn", https: false, protocol: "https://", offline: false, product: "embed", api_server: "api.geetest.com", isPC: true, autoReset: true, width: "100%", callback: callback_name } }) .then(function(response) { // jsonP函数执行获取 const s = document.createElement('script') s.innerHTML = `${response.data}` document.body.appendChild(s) // 释放不再使用的函数 delete unsafeWindow[callback_name] // size:344*384 let geetest_pic = "https://static.geetest.com"+unsafeWindow.geetestParams.data.pic let geetest_c = unsafeWindow.geetestParams.data.c let geetest_s= unsafeWindow.geetestParams.data.s axios.post("http://127.0.0.1:8000/clickOn",{ dataType:1,//图片类型为url imageSource:geetest_pic,//图片链接 imageID:"1",//可选 }) .then((response)=>{ let coordinates = response.data.data.res console.log("pic_url:"+unsafeWindow.geetestParams.data.pic) console.log("c值:"+unsafeWindow.geetestParams.data.c) console.log("s值:"+unsafeWindow.geetestParams.data.s) // getW对应参数:click,xy,img_url,c,s,gt,challenge,passtime // click已给出、xy格式:'1788_123,4511_5112',以扩大为10000^2的图片尺寸为标准、passtime:请求响应时间,单位ms console.log("w值:"+getW(click, '1788_123,4511_5112', geetest_pic, geetest_c, geetest_s, gt, challenge, 888)); // getCoordinates,获取文字坐标 console.log("文字坐标:"+coordinates) console.log("格式化文字坐标:"+formatTextCoordinates(coordinates)) return formatTextCoordinates(coordinates) }).then(function(result){ // ajax.php // 定时器避免验证通过太快 setTimeout(function(){ let callback_name = "geetest_" + (parseInt(1e4 * Math.random()) + new Date().getTime()) console.log("callback_name:"+callback_name) unsafeWindow[callback_name] = function(obj){ this.geetestParams = {...obj} } geetest_http .get("/ajax.php", { params:{ gt, challenge, lang:"zh-cn", pt:0, client_type:'web', w:getW(click, result, geetest_pic, geetest_c, geetest_s, gt, challenge, 888), callback:callback_name, } }) .then(function(response) { // 如果fail了 // 向refresh.php发get请求重新获取img_url重新生成w // gt=&challenge=&lang=zh-cn&type=click&callback= // 如果success // 向https://api.bilibili.com/x/gaia-vgate/v1/validate发post请求 // challenge=&csrf=&seccode=&token=&validate= // seccode = validate+'|jordan',token、gt、challenge都是register时获取 // validate响应成功后 // 再次向reset.php发送get请求注销gt和challenge // gt=&challenge=&lang=zh-cn&w=&pt=0&client_type=web&callback= // 这里只发送validate请求 // // jsonP函数执行获取 const s = document.createElement('script') s.innerHTML = `${response.data}` document.body.appendChild(s) // 释放不再使用的函数 delete unsafeWindow[callback_name] // size:344*384 let validate = unsafeWindow.geetestParams.data.validate console.log(validate) http.post("/x/gaia-vgate/v1/validate",{ challenge, csrf:getCookie('bili_jct') || '', seccode:validate+'|jordan', token, validate, }).then(function(response){console.log(response.data)}) }) .catch(function(error) { console.log(error); }); },2000) }) }) .catch(function(error) { console.log(error); }); },1100) })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址