mirror of
https://github.com/letian1650/N3RD.git
synced 2025-01-24 19:45:01 +08:00
384 lines
9.1 KiB
JavaScript
384 lines
9.1 KiB
JavaScript
var document = {
|
|
URL: "https://v.qq.com/x/cover/bzfkv5se8qaqel2/j002024w2wg.html",
|
|
referrer: ""
|
|
|
|
}
|
|
|
|
var window = {
|
|
document: document,
|
|
navigator: {
|
|
userAgent: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
|
|
appCodeName: "Mozilla",
|
|
appName: "Netscape",
|
|
platform: "Win32"
|
|
},
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
function w() {
|
|
Fa = new Int8Array(Ea),
|
|
Ha = new Int16Array(Ea),
|
|
Ja = new Int32Array(Ea),
|
|
Ga = new Uint8Array(Ea),
|
|
Ia = new Uint16Array(Ea),
|
|
Ka = new Uint32Array(Ea),
|
|
La = new Float32Array(Ea),
|
|
Ma = new Float64Array(Ea);
|
|
}
|
|
function d(a) {
|
|
var b = Oa;
|
|
return Oa = Oa + a + 15 & -16,
|
|
b
|
|
}
|
|
function e(a, b) {
|
|
b || (b = Da);
|
|
var c = a = Math.ceil(a / b) * b;
|
|
return c
|
|
}
|
|
function i(a, b, c, d, e){
|
|
function f(a) {
|
|
return "string" === b ? k(a) : "boolean" === b ? Boolean(a) : a
|
|
}
|
|
var i = wasmobject.exports._getckey //h(a)
|
|
, j = []
|
|
, l = 0;
|
|
// if (g("array" !== b, 'Return type should not be "array".'),
|
|
// d)
|
|
if (d)
|
|
for (var m = 0; m < d.length; m++) {
|
|
var n = $a[c[m]];
|
|
// n ? (0 === l && (l = Ub()),
|
|
n ? (0 === l && (l = Ub()),
|
|
j[m] = n(d[m])) : j[m] = d[m]
|
|
}
|
|
var o = i.apply(null, j);
|
|
return o = f(o),
|
|
0 !== l && Tb(l),
|
|
o
|
|
|
|
}
|
|
|
|
function k(a, b) {
|
|
if (0 === b || !a)
|
|
return "";
|
|
for (var c, d = 0, e = 0; ; ) {
|
|
// if (g(a + e < db),
|
|
if (
|
|
c = Ga[a + e >> 0],
|
|
d |= c,
|
|
0 == c && !b)
|
|
break;
|
|
if (e++,
|
|
b && e == b)
|
|
break
|
|
}
|
|
b || (b = e);
|
|
var f = "";
|
|
if (d < 128) {
|
|
for (var h, i = 1024; b > 0; )
|
|
h = String.fromCharCode.apply(String, Ga.subarray(a, a + Math.min(b, i))),
|
|
f = f ? f + h : h,
|
|
a += i,
|
|
b -= i;
|
|
return f
|
|
}
|
|
return m(a)
|
|
}
|
|
function o(a, b, c) {
|
|
return n(a, Ga, b, c)
|
|
}
|
|
function n(a, b, c, d) {
|
|
if (!(d > 0))
|
|
return 0;
|
|
for (var e = c, f = c + d - 1, g = 0; g < a.length; ++g) {
|
|
var h = a.charCodeAt(g);
|
|
if (h >= 55296 && h <= 57343) {
|
|
var i = a.charCodeAt(++g);
|
|
h = 65536 + ((1023 & h) << 10) | 1023 & i
|
|
}
|
|
if (h <= 127) {
|
|
if (c >= f)
|
|
break;
|
|
b[c++] = h
|
|
} else if (h <= 2047) {
|
|
if (c + 1 >= f)
|
|
break;
|
|
b[c++] = 192 | h >> 6,
|
|
b[c++] = 128 | 63 & h
|
|
} else if (h <= 65535) {
|
|
if (c + 2 >= f)
|
|
break;
|
|
b[c++] = 224 | h >> 12,
|
|
b[c++] = 128 | h >> 6 & 63,
|
|
b[c++] = 128 | 63 & h
|
|
} else if (h <= 2097151) {
|
|
if (c + 3 >= f)
|
|
break;
|
|
b[c++] = 240 | h >> 18,
|
|
b[c++] = 128 | h >> 12 & 63,
|
|
b[c++] = 128 | h >> 6 & 63,
|
|
b[c++] = 128 | 63 & h
|
|
} else if (h <= 67108863) {
|
|
if (c + 4 >= f)
|
|
break;
|
|
b[c++] = 248 | h >> 24,
|
|
b[c++] = 128 | h >> 18 & 63,
|
|
b[c++] = 128 | h >> 12 & 63,
|
|
b[c++] = 128 | h >> 6 & 63,
|
|
b[c++] = 128 | 63 & h
|
|
} else {
|
|
if (c + 5 >= f)
|
|
break;
|
|
b[c++] = 252 | h >> 30,
|
|
b[c++] = 128 | h >> 24 & 63,
|
|
b[c++] = 128 | h >> 18 & 63,
|
|
b[c++] = 128 | h >> 12 & 63,
|
|
b[c++] = 128 | h >> 6 & 63,
|
|
b[c++] = 128 | 63 & h
|
|
}
|
|
}
|
|
return b[c] = 0,
|
|
c - e
|
|
}
|
|
function Tb(){
|
|
return wasmobject.exports.stackRestore.apply(null, arguments)
|
|
|
|
}
|
|
function Ub(){
|
|
return wasmobject.exports.stackSave.apply(null, arguments)
|
|
|
|
}
|
|
function Sb(){
|
|
return wasmobject.exports.stackAlloc.apply(null, arguments)
|
|
|
|
}
|
|
function Pb(){
|
|
return wasmobject.exports._malloc.apply(null, arguments)
|
|
}
|
|
function P() { // function 20( )
|
|
function p(a) {
|
|
for (var b = 0, c = 0; c < a.length; ++c) {
|
|
var d = a.charCodeAt(c);
|
|
d >= 55296 && d <= 57343 && (d = 65536 + ((1023 & d) << 10) | 1023 & a.charCodeAt(++c)),
|
|
d <= 127 ? ++b : b += d <= 2047 ? 2 : d <= 65535 ? 3 : d <= 2097151 ? 4 : d <= 67108863 ? 5 : 6
|
|
}
|
|
return b
|
|
}
|
|
function a(a) {
|
|
return a ? a.length > 48 ? a.substr(0, 48) : a : ""
|
|
}
|
|
function b() {
|
|
var b = document.URL
|
|
, c = window.navigator.userAgent.toLowerCase()
|
|
, d = "";
|
|
document.referrer.length > 0 && (d = document.referrer);
|
|
try {
|
|
0 == d.length && opener.location.href.length > 0 && (d = opener.location.href)
|
|
} catch (e) {}
|
|
var f = window.navigator.appCodeName
|
|
, g = window.navigator.appName
|
|
, h = window.navigator.platform;
|
|
return b = a(b),
|
|
d = a(d),
|
|
c = a(c),
|
|
b + "|" + c + "|" + d + "|" + f + "|" + g + "|" + h
|
|
}
|
|
var c = b()
|
|
, d = p(c) + 1
|
|
, e = Pb(d);
|
|
return o(c, e, d + 1),
|
|
e
|
|
}
|
|
function C() {
|
|
return db
|
|
}
|
|
|
|
var $a = {
|
|
string: function(a) {
|
|
var b = 0;
|
|
if (null !== a && void 0 !== a && 0 !== a) {
|
|
var c = (a.length << 2) + 1;
|
|
b = Sb(c),
|
|
o(a, b, c)
|
|
}
|
|
return b
|
|
},
|
|
array: function(a) {
|
|
var b = Sb(a.length);
|
|
return K(a, b),
|
|
b
|
|
},
|
|
};
|
|
|
|
|
|
|
|
|
|
//////////////////////////////// init global var
|
|
|
|
var Da = 16;
|
|
|
|
var Ea, Fa, Ga, Ha, Ia, Ja, Ka, La, Ma, Na, Oa, Pa, Qa, Ra, Sa, Ta, Ua, Va = {
|
|
"f64-rem": function(a, b) {
|
|
return a % b
|
|
},
|
|
"debugger": function() {}
|
|
}, Wa = (new Array(0), 1024) ;
|
|
|
|
Na = Oa = Qa = Ra = Sa = Ta = Ua = 0,
|
|
Pa = !1;
|
|
var cb = 5242880 , db = 16777216, ab = 65536;
|
|
|
|
|
|
var wasmMemory = new WebAssembly.Memory({
|
|
initial: db / ab,
|
|
maximum: db / ab
|
|
});
|
|
Ea = wasmMemory.buffer;
|
|
|
|
w();
|
|
Ja[0] = 1668509029;
|
|
Ha[1] = 25459;
|
|
|
|
var eb = []
|
|
, fb = []
|
|
, gb = []
|
|
, hb = []
|
|
, ib = !1
|
|
, jb = !1;
|
|
|
|
Na = Wa,
|
|
Oa = Na + 6928,
|
|
fb.push();
|
|
|
|
Oa += 16;
|
|
|
|
Ua = d(4),
|
|
Qa = Ra = e(Oa),
|
|
Sa = Qa + cb,
|
|
Ta = e(Sa),
|
|
Ja[Ua >> 2] = Ta,
|
|
Pa = !0;
|
|
|
|
////////////////////////////////// wasm env ///////////////////////////////////////
|
|
|
|
var fun_ = function(){};
|
|
|
|
wasm_env = {
|
|
abort: fun_,
|
|
assert: fun_,
|
|
enlargeMemory: fun_,
|
|
getTotalMemory: C,
|
|
abortOnCannotGrowMemory: fun_,
|
|
abortStackOverflow: fun_,
|
|
nullFunc_ii: fun_,
|
|
nullFunc_iiii: fun_,
|
|
nullFunc_v: fun_,
|
|
nullFunc_vi: fun_,
|
|
nullFunc_viiii: fun_,
|
|
nullFunc_viiiii: fun_,
|
|
nullFunc_viiiiii: fun_,
|
|
invoke_ii: fun_,
|
|
invoke_iiii: fun_,
|
|
invoke_v: fun_,
|
|
invoke_vi: fun_,
|
|
invoke_viiii: fun_,
|
|
invoke_viiiii: fun_,
|
|
invoke_viiiiii: fun_,
|
|
__ZSt18uncaught_exceptionv: fun_,
|
|
___cxa_find_matching_catch: fun_,
|
|
___gxx_personality_v0: fun_,
|
|
___lock: fun_,
|
|
___resumeException: fun_,
|
|
___setErrNo: fun_,
|
|
___syscall140: fun_,
|
|
___syscall146: fun_,
|
|
___syscall54: fun_,
|
|
___syscall6: fun_,
|
|
___unlock: fun_,
|
|
_abort: fun_,
|
|
_emscripten_memcpy_big: fun_,
|
|
_get_unicode_str: P, // function 20( ) => P( )
|
|
flush_NO_FILESYSTEM: fun_,
|
|
DYNAMICTOP_PTR: 7968, //Ua
|
|
tempDoublePtr: 7952, //rb
|
|
STACKTOP: 7984, //Ra
|
|
STACK_MAX: 5250864, //Sa
|
|
|
|
memoryBase: 1024,
|
|
tableBase: 0,
|
|
memory: wasmMemory,
|
|
table: new WebAssembly.Table({
|
|
initial: 99,
|
|
maximum: 99,
|
|
element: "anyfunc"
|
|
})
|
|
};
|
|
|
|
var importObject = {
|
|
'env': wasm_env,
|
|
'asm2wasm': {
|
|
"f64-rem": function(a, b) {
|
|
return a % b
|
|
},
|
|
"debugger": function() {}
|
|
},
|
|
'global': {
|
|
NaN: NaN,
|
|
Infinity: 1 / 0
|
|
},
|
|
"global.Math": Math,
|
|
// "parent": {};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////// load wasm ///////////////////////////////////////
|
|
const fs = require('fs');
|
|
var wasm_data = fs.readFileSync('./js/tx-ckey.wasm')
|
|
var buffer = new Uint8Array(wasm_data);
|
|
|
|
var wasmobject = new WebAssembly.Instance(new WebAssembly.Module(buffer), importObject);
|
|
|
|
|
|
|
|
// function setnavigator(URL, referrer, userAgent, appCodeName, appName, platform){
|
|
// navigator = {
|
|
// userAgent: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
|
|
// appCodeName: "Mozilla",
|
|
// appName: "Netscape",
|
|
// platform: "Win32"
|
|
// };
|
|
// window.navigator = navigator;
|
|
//
|
|
// }
|
|
|
|
|
|
function setdocument(URL, referrer){
|
|
document.URL = URL;
|
|
document.referrer = referrer;
|
|
}
|
|
|
|
// encryptVer = "9.1"
|
|
function getckey(platform, appVer, vid, empty_str="", guid, tm){
|
|
var _args = [platform, appVer, vid, empty_str="", guid, tm];
|
|
var c = ['number', 'string', 'string', 'string', 'string', 'number'];
|
|
return i('getckey', 'string', c, _args, undefined)
|
|
|
|
}
|
|
|
|
|
|
// playerID, guid
|
|
function createGUID(a) {
|
|
a = a || 32;
|
|
for (var b = "", c = 1; c <= a; c++) {
|
|
var d = Math.floor(16 * Math.random()).toString(16);
|
|
b += d
|
|
}
|
|
return b
|
|
} |