- // ==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)
- })();