var window = global;
function evnProxy(obj) {
return new Proxy(obj, {
get: function (target, p, receiver) {
console.log("get:", target, p, target[p]);
return Reflect.get(target, p)
// return target[p]
},
set: function (target, p, value, receiver) {
console.log("set", target, p, value, receiver);
return Reflect.set(...arguments)
}
})
}
// var window = evnProxy(window);
var navigator = evnProxy(class navigator {
});
var document = evnProxy(class document {
});
document.referrer = '';
var location = evnProxy(class location {
});
var screens = evnProxy(class screen {
});
navigator.userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36";
location.href = "";
location.protocol = "";
var glb;
(glb = "undefined" == typeof window ? global : window)._$jsvmprt = function (b, e, f) {
function a() {
if ("undefined" == typeof Reflect || !Reflect.construct)
return !1;
if (Reflect.construct.sham)
return !1;
if ("function" == typeof Proxy)
return !0;
try {
return Date.prototype.toString.call(Reflect.construct(Date, [], (function () {
}
))),
!0
} catch (b) {
return !1
}
}
function d(b, e, f) {
return (d = a() ? Reflect.construct : function (b, e, f) {
var a = [null];
a.push.apply(a, e);
var d = new (Function.bind.apply(b, a));
return f && c(d, f.prototype),
d
}
).apply(null, arguments)
}
function c(b, e) {
return (c = Object.setPrototypeOf || function (b, e) {
return b.__proto__ = e,
b
}
)(b, e)
}
function n(b) {
return function (b) {
if (Array.isArray(b)) {
for (var e = 0, f = new Array(b.length); e < b.length; e++)
f[e] = b[e];
return f
}
}(b) || function (b) {
if (Symbol.iterator in Object(b) || "[object Arguments]" === Object.prototype.toString.call(b))
return Array.from(b)
}(b) || function () {
throw new TypeError("Invalid attempt to spread non-iterable instance")
}()
}
for (var i = [], r = 0, t = [], o = 0, l = function (b, e) {
var f = b[e++]
, a = b[e]
, d = parseInt("" + f + a, 16);
if (d >> 7 == 0)
return [1, d];
if (d >> 6 == 2) {
var c = parseInt("" + b[++e] + b[++e], 16);
return d &= 63,
[2, c = (d <<= 8) + c]
}
if (d >> 6 == 3) {
var n = parseInt("" + b[++e] + b[++e], 16)
, i = parseInt("" + b[++e] + b[++e], 16);
return d &= 63,
[3, i = (d <<= 16) + (n <<= 8) + i]
}
}, u = function (b, e) {
var f = parseInt("" + b[e] + b[e + 1], 16);
return f = f > 127 ? -256 + f : f
}, s = function (b, e) {
var f = parseInt("" + b[e] + b[e + 1] + b[e + 2] + b[e + 3], 16);
return f = f > 32767 ? -65536 + f : f
}, p = function (b, e) {
var f = parseInt("" + b[e] + b[e + 1] + b[e + 2] + b[e + 3] + b[e + 4] + b[e + 5] + b[e + 6] + b[e + 7], 16);
return f = f > 2147483647 ? 0 + f : f
}, y = function (b, e) {
return parseInt("" + b[e] + b[e + 1], 16)
}, v = function (b, e) {
return parseInt("" + b[e] + b[e + 1] + b[e + 2] + b[e + 3], 16)
}, g = g || this || window, h = Object.keys || function (b) {
var e = {
}
, f = 0;
for (var a in b)
e[f++] = a;
return e.length = f,
e
}
, m = (b.length,
0), I = "", C = m; C < m + 16; C++) {
var q = "" + b[C++] + b[C];
q = parseInt(q, 16),
I += String.fromCharCode(q)
}
if ("HNOJ@?RC" != I)
throw new Error("error magic number " + I);
m += 16;
parseInt("" + b[m] + b[m + 1], 16);
m += 8,
r = 0;
for (var w = 0; w < 4; w++) {
var S = m + 2 * w
, R = "" + b[S++] + b[S]
, x = parseInt(R, 16);
r += (3 & x) << 2 * w
}
m += 16,
m += 8;
var z = parseInt("" + b[m] + b[m + 1] + b[m + 2] + b[m + 3] + b[m + 4] + b[m + 5] + b[m + 6] + b[m + 7], 16)
, O = z
, E = m += 8
, j = v(b, m += z);
j[1];
m += 4,
i = {
p: [],
q: []
};
for (var A = 0; A < j; A++) {
for (var D = l(b, m), T = m += 2 * D[0], $ = i.p.length, P = 0; P < D[1]; P++) {
var U = l(b, T);
i.p.push(U[1]),
T += 2 * U[0]
}
m = T,
i.q.push([$, i.p.length])
}
var _ = {
5: 1,
6: 1,
70: 1,
22: 1,
23: 1,
37: 1,
73: 1
}
, k = {
72: 1
}
, M = {
74: 1
}
, H = {
11: 1,
12: 1,
24: 1,
26: 1,
27: 1,
31: 1
}
, J = {
10: 1
}
, N = {
2: 1,
29: 1,
30: 1,
20: 1
}
, B = []
, W = [];
function F(b, e, f) {
for (var a = e; a < e + f;) {
var d = y(b, a);
B[a] = d,
a += 2;
k[d] ? (W[a] = u(b, a),
a += 2) : _[d] ? (W[a] = s(b, a),
a += 4) : M[d] ? (W[a] = p(b, a),
a += 8) : H[d] ? (W[a] = y(b, a),
a += 2) : J[d] ? (W[a] = v(b, a),
a += 4) : N[d] && (W[a] = v(b, a),
a += 4)
}
}
return K(b, E, O / 2, [], e, f);
function G(b, e, f, a, c, l, m, I) {
null == l && (l = this);
var C, q, w, S = [], R = 0;
m && (C = m);
var x, z, O = e, E = O + 2 * f;
if (!I)
for (; O < E;) {
var j = parseInt("" + b[O] + b[O + 1], 16);
O += 2;
var A = 3 & (x = 13 * j % 241);
if (x >>= 2,
A < 1) {
A = 3 & x;
if (x >>= 2,
A > 2)
(A = x) > 10 ? S[++R] = void 0 : A > 1 ? (C = S[R--],
S[R] = S[R] >= C) : A > -1 && (S[++R] = null);
else if (A > 1) {
if ((A = x) > 11)
throw S[R--];
if (A > 7) {
for (C = S[R--],
z = v(b, O),
A = "",
P = i.q[z][0]; P < i.q[z][1]; P++)
A += String.fromCharCode(r ^ i.p[
关于js逆向某日头条参数_signature生成中jsvmp的补环境
最新推荐文章于 2026-04-07 18:23:39 发布
博客围绕JS逆向、爬虫展开,涉及jsvmp及_signature相关内容。JS逆向在爬虫领域有重要作用,_signature可能是关键验证信息,通过对其解析可突破网站反爬机制,获取所需数据。

5128

被折叠的 条评论
为什么被折叠?



