上传文件至 /
commit
97b98e6a3c
|
@ -0,0 +1,966 @@
|
|||
function get_a_bogus(ua, page) {
|
||||
// time1
|
||||
time1 = Date.now();
|
||||
|
||||
|
||||
var customBase64Chars = 'ckdp1h4ZKsUB80/Mfvw36XIgR25+WQAlEi7NLboqYTOPuzmFjJnryx9HVGDaStCe';
|
||||
|
||||
function customBase64Encode(input) {
|
||||
// 将字符串转换为字节数组
|
||||
const bytes = [];
|
||||
for (let i = 0; i < input.length; i++) {
|
||||
bytes.push(input.charCodeAt(i));
|
||||
}
|
||||
|
||||
let result = '';
|
||||
let buffer = 0; // 用于存储多个字节组合
|
||||
let bitsInBuffer = 0; // buffer中的比特数
|
||||
|
||||
for (let i = 0; i < bytes.length; i++) {
|
||||
// 将当前字节左移,加入buffer
|
||||
buffer = (buffer << 8) | bytes[i];
|
||||
bitsInBuffer += 8;
|
||||
|
||||
// 每当buffer中有8位以上,就处理6位一组
|
||||
while (bitsInBuffer >= 6) {
|
||||
bitsInBuffer -= 6;
|
||||
// 从buffer中提取6个比特
|
||||
const index = (buffer >> bitsInBuffer) & 0x3F; // 0x3F为6个bit掩码
|
||||
result += customBase64Chars[index];
|
||||
}
|
||||
}
|
||||
|
||||
// 处理剩余部分,补充0
|
||||
if (bitsInBuffer > 0) {
|
||||
const index = (buffer << (6 - bitsInBuffer)) & 0x3F;
|
||||
result += customBase64Chars[index];
|
||||
}
|
||||
|
||||
// 可选:添加等号作为填充(这里不用,完全自定义编码)
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// sm3 算法
|
||||
function sm3(sm3_str) {
|
||||
function se(t) {
|
||||
return se = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
|
||||
return typeof t
|
||||
}
|
||||
: function (t) {
|
||||
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
|
||||
}
|
||||
,
|
||||
se(t)
|
||||
}
|
||||
|
||||
function le(t) {
|
||||
var e = function (t, e) {
|
||||
if ("object" != se(t) || !t)
|
||||
return t;
|
||||
var r = t[Symbol.toPrimitive];
|
||||
if (void 0 !== r) {
|
||||
var n = r.call(t, e || "default");
|
||||
if ("object" != se(n))
|
||||
return n;
|
||||
throw new TypeError("@@toPrimitive must return a primitive value.")
|
||||
}
|
||||
return ("string" === e ? String : Number)(t)
|
||||
}(t, "string");
|
||||
return "symbol" == se(e) ? e : e + ""
|
||||
}
|
||||
|
||||
function fe(t, e) {
|
||||
for (var r = 0; r < e.length; r++) {
|
||||
var n = e[r];
|
||||
n.enumerable = n.enumerable || !1,
|
||||
n.configurable = !0,
|
||||
"value" in n && (n.writable = !0),
|
||||
Object.defineProperty(t, le(n.key), n)
|
||||
}
|
||||
}
|
||||
|
||||
function we(t, e) {
|
||||
return (t << (e %= 32) | t >>> 32 - e) >>> 0
|
||||
}
|
||||
|
||||
function xe(t) {
|
||||
return 0 <= t && t < 16 ? 2043430169 : 16 <= t && t < 64 ? 2055708042 : void console.error("invalid j for constant Tj")
|
||||
}
|
||||
|
||||
function Se(t, e, r, n) {
|
||||
return 0 <= t && t < 16 ? (e ^ r ^ n) >>> 0 : 16 <= t && t < 64 ? (e & r | e & n | r & n) >>> 0 : (console.error("invalid j for bool function FF"),
|
||||
0)
|
||||
}
|
||||
|
||||
function Oe(t, e, r, n) {
|
||||
return 0 <= t && t < 16 ? (e ^ r ^ n) >>> 0 : 16 <= t && t < 64 ? (e & r | ~e & n) >>> 0 : (console.error("invalid j for bool function GG"),
|
||||
0)
|
||||
}
|
||||
|
||||
be = function () {
|
||||
function t() {
|
||||
if (function (t, e) {
|
||||
if (!(t instanceof e))
|
||||
throw new TypeError("Cannot call a class as a function")
|
||||
}(this, t),
|
||||
!(this instanceof t))
|
||||
return new t;
|
||||
this.reg = new Array(8),
|
||||
this.chunk = [],
|
||||
this.size = 0,
|
||||
this.reset()
|
||||
}
|
||||
|
||||
return function (t, e, r) {
|
||||
e && fe(t.prototype, e),
|
||||
r && fe(t, r),
|
||||
Object.defineProperty(t, "prototype", {
|
||||
writable: !1
|
||||
})
|
||||
}(t, [{
|
||||
key: "reset",
|
||||
value: function () {
|
||||
this.reg[0] = 1937774191,
|
||||
this.reg[1] = 1226093241,
|
||||
this.reg[2] = 388252375,
|
||||
this.reg[3] = 3666478592,
|
||||
this.reg[4] = 2842636476,
|
||||
this.reg[5] = 372324522,
|
||||
this.reg[6] = 3817729613,
|
||||
this.reg[7] = 2969243214,
|
||||
this.chunk = [],
|
||||
this.size = 0
|
||||
}
|
||||
}, {
|
||||
key: "write",
|
||||
value: function (t) {
|
||||
var e = "string" == typeof t ? function (t) {
|
||||
var e = encodeURIComponent(t).replace(/%([0-9A-F]{2})/g, (function (t, e) {
|
||||
return String.fromCharCode("0x" + e)
|
||||
}
|
||||
))
|
||||
, r = new Array(e.length);
|
||||
return Array.prototype.forEach.call(e, (function (t, e) {
|
||||
r[e] = t.charCodeAt(0)
|
||||
}
|
||||
)),
|
||||
r
|
||||
}(t) : t;
|
||||
this.size += e.length;
|
||||
var r = 64 - this.chunk.length;
|
||||
if (e.length < r)
|
||||
this.chunk = this.chunk.concat(e);
|
||||
else
|
||||
for (this.chunk = this.chunk.concat(e.slice(0, r)); this.chunk.length >= 64;)
|
||||
this._compress(this.chunk),
|
||||
r < e.length ? this.chunk = e.slice(r, Math.min(r + 64, e.length)) : this.chunk = [],
|
||||
r += 64
|
||||
}
|
||||
}, {
|
||||
key: "sum",
|
||||
value: function (t, e) {
|
||||
t && (this.reset(),
|
||||
this.write(t)),
|
||||
this._fill();
|
||||
for (var r = 0; r < this.chunk.length; r += 64)
|
||||
this._compress(this.chunk.slice(r, r + 64));
|
||||
var n, o, i, u = null;
|
||||
if ("hex" == e) {
|
||||
u = "";
|
||||
for (r = 0; r < 8; r++)
|
||||
u += (n = this.reg[r].toString(16),
|
||||
o = 8,
|
||||
i = "0",
|
||||
n.length >= o ? n : i.repeat(o - n.length) + n)
|
||||
} else
|
||||
for (u = new Array(32),
|
||||
r = 0; r < 8; r++) {
|
||||
var c = this.reg[r];
|
||||
u[4 * r + 3] = (255 & c) >>> 0,
|
||||
c >>>= 8,
|
||||
u[4 * r + 2] = (255 & c) >>> 0,
|
||||
c >>>= 8,
|
||||
u[4 * r + 1] = (255 & c) >>> 0,
|
||||
c >>>= 8,
|
||||
u[4 * r] = (255 & c) >>> 0
|
||||
}
|
||||
return this.reset(),
|
||||
u
|
||||
}
|
||||
}, {
|
||||
key: "_compress",
|
||||
value: function (t) {
|
||||
if (t < 64)
|
||||
console.error("compress error: not enough data");
|
||||
else {
|
||||
for (var e = function (t) {
|
||||
for (var e = new Array(132), r = 0; r < 16; r++)
|
||||
e[r] = t[4 * r] << 24,
|
||||
e[r] |= t[4 * r + 1] << 16,
|
||||
e[r] |= t[4 * r + 2] << 8,
|
||||
e[r] |= t[4 * r + 3],
|
||||
e[r] >>>= 0;
|
||||
for (var n = 16; n < 68; n++) {
|
||||
var o = e[n - 16] ^ e[n - 9] ^ we(e[n - 3], 15);
|
||||
o = o ^ we(o, 15) ^ we(o, 23),
|
||||
e[n] = (o ^ we(e[n - 13], 7) ^ e[n - 6]) >>> 0
|
||||
}
|
||||
for (n = 0; n < 64; n++)
|
||||
e[n + 68] = (e[n] ^ e[n + 4]) >>> 0;
|
||||
return e
|
||||
}(t), r = this.reg.slice(0), n = 0; n < 64; n++) {
|
||||
var o = we(r[0], 12) + r[4] + we(xe(n), n)
|
||||
, i = ((o = we(o = (4294967295 & o) >>> 0, 7)) ^ we(r[0], 12)) >>> 0
|
||||
, u = Se(n, r[0], r[1], r[2]);
|
||||
u = (4294967295 & (u = u + r[3] + i + e[n + 68])) >>> 0;
|
||||
var c = Oe(n, r[4], r[5], r[6]);
|
||||
c = (4294967295 & (c = c + r[7] + o + e[n])) >>> 0,
|
||||
r[3] = r[2],
|
||||
r[2] = we(r[1], 9),
|
||||
r[1] = r[0],
|
||||
r[0] = u,
|
||||
r[7] = r[6],
|
||||
r[6] = we(r[5], 19),
|
||||
r[5] = r[4],
|
||||
r[4] = (c ^ we(c, 9) ^ we(c, 17)) >>> 0
|
||||
}
|
||||
for (var a = 0; a < 8; a++)
|
||||
this.reg[a] = (this.reg[a] ^ r[a]) >>> 0
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: "_fill",
|
||||
value: function () {
|
||||
var t = 8 * this.size
|
||||
, e = this.chunk.push(128) % 64;
|
||||
for (64 - e < 8 && (e -= 64); e < 56; e++)
|
||||
this.chunk.push(0);
|
||||
for (var r = 0; r < 4; r++) {
|
||||
var n = Math.floor(t / 4294967296);
|
||||
this.chunk.push(n >>> 8 * (3 - r) & 255)
|
||||
}
|
||||
for (r = 0; r < 4; r++)
|
||||
this.chunk.push(t >>> 8 * (3 - r) & 255)
|
||||
}
|
||||
}]),
|
||||
t
|
||||
}();
|
||||
|
||||
sm31 = new be()
|
||||
return sm31.sum(sm3_str)
|
||||
}
|
||||
|
||||
function sm3_ua(ua) {
|
||||
// 初始化长度为256的数组,并赋值
|
||||
let a256 = new Array(256)
|
||||
for (let i = 0; i < 256; i++) {
|
||||
a256[i] = 255 - i
|
||||
}
|
||||
|
||||
let change_index = 0
|
||||
for (let index = 0; index < 256; index++) {
|
||||
index_val = a256[index]
|
||||
// *
|
||||
let t1 = change_index * index_val
|
||||
// +
|
||||
let t2 = change_index + t1
|
||||
// %
|
||||
let t3 = index % 3
|
||||
// charCodeAt [null,[0.00390625,1,0]]
|
||||
let t4 = String.fromCharCode.apply(null, [0.00390625, 1, 0])
|
||||
let t4_charCodeAt = t4.charCodeAt(t3)
|
||||
// +
|
||||
let t5 = t2 + t4_charCodeAt
|
||||
// %
|
||||
change_index = t5 % 256
|
||||
|
||||
a256[index] = a256[change_index]
|
||||
a256[change_index] = index_val
|
||||
|
||||
}
|
||||
|
||||
let change_indexs = 0
|
||||
let ua_str = ''
|
||||
for (let index = 1; index <= ua.length; index++) {
|
||||
// ua.charCodeAt(index)
|
||||
// let t1 = ua.charCodeAt(index)
|
||||
let index_val = a256[index]
|
||||
let t1 = change_indexs + index_val
|
||||
change_indexs = t1 % 256
|
||||
a256[index] = a256[change_indexs]
|
||||
a256[change_indexs] = index_val
|
||||
|
||||
let t2 = ua.charCodeAt(index - 1)
|
||||
let t3 = (a256[index] + a256[change_indexs]) % 256
|
||||
let t4 = t2 ^ a256[t3]
|
||||
|
||||
let ua_Char = String.fromCharCode(t4)
|
||||
ua_str += ua_Char
|
||||
}
|
||||
// ua_hex = sm3(customBase64Encode(ua_str))
|
||||
// return ua_hex
|
||||
ua_dict = {
|
||||
'ua_str': customBase64Encode(ua_str),
|
||||
'ua_hex': sm3(customBase64Encode(ua_str))
|
||||
}
|
||||
return ua_dict
|
||||
}
|
||||
|
||||
// time2
|
||||
ink_time = Date.now() - 1;
|
||||
|
||||
|
||||
url = 'industry_id=4&level=3&time_range_id=2&sort_id=2&sort_type=2&page=' + page + '&page_size=10'
|
||||
url_dhzx = url + 'dhzx'
|
||||
// url + dhzx 二次 sm3加密
|
||||
url_sm3 = sm3(sm3(url_dhzx))
|
||||
// dhzx 二次 sm3加密
|
||||
dhzx_sm3 = sm3(sm3('dhzx'))
|
||||
|
||||
ua_dict = sm3_ua(ua)
|
||||
ua_str = ua_dict['ua_str']
|
||||
ua_sm3 = ua_dict['ua_hex']
|
||||
|
||||
|
||||
function get_browser() {
|
||||
data = '1536|742|1536|864|1536|864|1536|864|Win32';
|
||||
let sum = []
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
sum.push(data.charCodeAt(i))
|
||||
}
|
||||
return sum
|
||||
}
|
||||
|
||||
// 根据浏览器屏幕大小 生成数组
|
||||
browser_list = get_browser()
|
||||
// time3
|
||||
let time3 = Date.now();
|
||||
|
||||
// 时间戳 转数组
|
||||
// 根据时间戳生成数组
|
||||
function get_timestamp() {
|
||||
// let t1 = new Date().getTime();
|
||||
let t1 = time3;
|
||||
let t2 = `${(t1 + 3) & 255},`;
|
||||
let sum = []
|
||||
for (let i = 0; i < t2.length; i++) {
|
||||
sum.push(t2.charCodeAt(i))
|
||||
}
|
||||
return sum
|
||||
}
|
||||
|
||||
timestamp_list = get_timestamp()
|
||||
// console.log('timestamp_list', timestamp_list.length);
|
||||
|
||||
while (timestamp_list.length < 4) {
|
||||
time3 = Date.now();
|
||||
timestamp_list = get_timestamp();
|
||||
}
|
||||
console.log('timestamp_list', timestamp_list.length);
|
||||
|
||||
// 随机数 前四位
|
||||
function get_random_One() {
|
||||
// let t1 = 0.2864784487307924;
|
||||
let t1 = Math.random();
|
||||
let t2 = t1 * 65535;
|
||||
let t3 = t2 & 255;
|
||||
let t4 = t2 >> 8;
|
||||
|
||||
return [
|
||||
(t3 & 170) | 1,
|
||||
(t3 & 85) | 0,
|
||||
(t4 & 170) | 0,
|
||||
(t4 & 85) | 0
|
||||
];
|
||||
}
|
||||
|
||||
random_One = get_random_One()
|
||||
|
||||
// 随机数 后四位
|
||||
function get_random_Two() {
|
||||
// let t1 = 0.18044114207007;
|
||||
// let t4 = 0.9722776057681594;
|
||||
|
||||
let t1 = Math.random();
|
||||
let t4 = Math.random();
|
||||
|
||||
let t3 = Math.floor(t1 * 240) >> 0;
|
||||
|
||||
let t6 = Math.floor(t4 * 255) >> 0;
|
||||
|
||||
let t11 = (((t6 & 77) | 2) | 16 | 32 | 128);
|
||||
|
||||
return [
|
||||
(t3 & 170) | 1,
|
||||
(t3 & 85) | 0,
|
||||
(t11 & 170) | 20,
|
||||
(t11 & 85) | 0
|
||||
];
|
||||
}
|
||||
|
||||
random_Two = get_random_Two()
|
||||
|
||||
// 随机数合并数组
|
||||
random_One_Two = random_One.concat(random_Two)
|
||||
|
||||
One_list = [34, 44, 56, 61, 73, 29, 70, 45, 35, 49, 38, 66, 51, 68, 28, 48, 64, 47, 30, 71, 26, 55, 31, 69, 59, 40, 62, 63, 27, 72, 41, 74, 57, 52, 42, 39, 33, 67, 53, 43, 65, 46, 36, 24, 60, 32, 79, 80, 84, 85]
|
||||
|
||||
|
||||
params = [
|
||||
[
|
||||
{
|
||||
"5": {
|
||||
"aid": 2631,
|
||||
"pageId": 22740,
|
||||
"boe": false,
|
||||
"ddrt": 3,
|
||||
"paths": {
|
||||
"include": [
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{}
|
||||
],
|
||||
"exclude": [
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{},
|
||||
{}
|
||||
]
|
||||
},
|
||||
"track": {
|
||||
"mode": 1,
|
||||
"delay": 300,
|
||||
"paths": []
|
||||
},
|
||||
"slU": "",
|
||||
"dump": true,
|
||||
"rpU": "",
|
||||
"ic": 0
|
||||
}
|
||||
},
|
||||
{},
|
||||
"dhzx",
|
||||
time1, // Date.now() time1
|
||||
36,
|
||||
{
|
||||
"name": "Chrome"
|
||||
},
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
{
|
||||
"0": 1,
|
||||
"1": 0,
|
||||
"2": 8,
|
||||
"3": "industry_id=4&level=3&time_range_id=2&sort_id=2&sort_type=2&page=3&page_size=10",
|
||||
"4": "",
|
||||
"5": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",
|
||||
"6": 22740,
|
||||
"7": 2631,
|
||||
"8": "1.0.1.20"
|
||||
},
|
||||
1,
|
||||
0,
|
||||
8,
|
||||
"industry_id=4&level=3&time_range_id=2&sort_id=2&sort_type=2&page=3&page_size=10",
|
||||
"",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",
|
||||
22740,
|
||||
2631,
|
||||
"1.0.1.20",
|
||||
{
|
||||
"ink": ink_time // Date.now() 1746156240396 - 1 // time2
|
||||
},
|
||||
3,
|
||||
{
|
||||
"value": "0X21",
|
||||
"writable": false,
|
||||
"enumerable": true,
|
||||
"configurable": true
|
||||
},
|
||||
time3, // Date.now() // time3
|
||||
{
|
||||
"reg": [
|
||||
1937774191,
|
||||
1226093241,
|
||||
388252375,
|
||||
3666478592,
|
||||
2842636476,
|
||||
372324522,
|
||||
3817729613,
|
||||
2969243214
|
||||
],
|
||||
"chunk": [],
|
||||
"size": 0
|
||||
},
|
||||
1,
|
||||
0,
|
||||
url_sm3,
|
||||
dhzx_sm3,
|
||||
ua_str,
|
||||
[
|
||||
146,
|
||||
25,
|
||||
242,
|
||||
214,
|
||||
165,
|
||||
224,
|
||||
90,
|
||||
51,
|
||||
120,
|
||||
225,
|
||||
15,
|
||||
54,
|
||||
146,
|
||||
232,
|
||||
26,
|
||||
249,
|
||||
8,
|
||||
22,
|
||||
124,
|
||||
46,
|
||||
178,
|
||||
166,
|
||||
195,
|
||||
64,
|
||||
175,
|
||||
83,
|
||||
199,
|
||||
83,
|
||||
190,
|
||||
103,
|
||||
210,
|
||||
4
|
||||
],
|
||||
ink_time,
|
||||
[
|
||||
3,
|
||||
82
|
||||
],
|
||||
41,
|
||||
[
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
20
|
||||
],
|
||||
(new Date().getTime() - 1721836800000) / 1000 / 60 / 60 / 24 / 14 >> 0, // new Date().getTime() (1746156264789 - 1721836800000) / 1000 / 60 / 60 / 24 / 14 >> 0 = 20
|
||||
6, // 固定
|
||||
time3 - time1 + 3 & 255, // time3 - time1 // 1746156240437 - 1746156240375 + 3 & 255 = 65
|
||||
time3 & 255, // time3 & 255 // 1746156240437 & 255 = 53
|
||||
time3 >> 8 & 255, // time3 >> 8 // 1746156240437 >> 8 & 255 = 190
|
||||
time3 >> 16 & 255, // time3 >> 16 // 1746156240437 >> 16 & 255 = 5
|
||||
time3 >> 24 & 255, // time3 >> 24 // 1746156240437 >> 24 & 255 = 143
|
||||
time3 / 256 / 256 / 256 / 256 & 255, // time3 / 255 // 1746156240437 / 256 / 256 / 256 / 256 & 255 = 150
|
||||
1, // 固定
|
||||
1, // 固定
|
||||
0, // 固定
|
||||
[
|
||||
71,
|
||||
0,
|
||||
0,
|
||||
3,
|
||||
1
|
||||
], // 轨迹可固定
|
||||
1, // [71,0,0,3,1].4 & 255 = 1
|
||||
0, // [71,0,0,3,1].4 >> 8 & 255 = 0
|
||||
71, // [71,0,0,3,1].0 = 71
|
||||
0, // [71,0,0,3,1].1 = 0
|
||||
0, // [71,0,0,3,1].2 = 0
|
||||
3, // [71,0,0,3,1].3 = 3
|
||||
0, // 固定
|
||||
0, // 固定
|
||||
0, // 固定
|
||||
0, // 固定
|
||||
url_sm3[9], // url_sm3 加密 // url_sm3_x2[9] = 139
|
||||
url_sm3[18], // url_sm3 加密 // url_sm3_x2[18] = 225
|
||||
3, // 固定
|
||||
url_sm3[4], // url_sm3 加密 // url_sm3_x2[4] = 223
|
||||
dhzx_sm3[10], // dhzx_sm3 加密 // dhzx_sm3_x2[10] = 82
|
||||
dhzx_sm3[19], // dhzx_sm3 加密 // dhzx_sm3_x2[19] = 177
|
||||
4, // 固定
|
||||
dhzx_sm3[4], // dhzx_sm3 加密 // dhzx_sm3_x2[4] = 44
|
||||
ua_sm3[11], // ua_sm3 加密 // ua_sm3_x5[11] = 54
|
||||
ua_sm3[21], // ua_sm3 加密 // ua_sm3_x5[21] = 166
|
||||
5, // 固定
|
||||
ua_sm3[5], // ua_sm3 加密 // ua_sm3_x5[5] = 224
|
||||
ink_time & 255, // ink_time // t2 & 255 // 1746156240395 & 255 = 11
|
||||
ink_time >> 8 & 255, // ink_time // t2 >> 8 // 1746156240395 >> 8 & 255 = 190
|
||||
ink_time >> 16 & 255, // ink_time // t2 >> 16 // 1746156240395 >> 16 & 255 = 5
|
||||
ink_time >> 24 & 255, // ink_time // t2 >> 24 // 1746156240395 >> 24 & 255 = 143
|
||||
ink_time / 256 / 256 / 256 / 256 & 255, // ink_time // t2 / 256 // 1746156240395 / 256 / 256 / 256 / 256 & 255 = 150
|
||||
1, // 固定
|
||||
3, // 固定
|
||||
212, // 22740 & 255
|
||||
88, // 22740 >> 8
|
||||
0, // 22740 >> 16
|
||||
0, // 22740 >> 24
|
||||
71, // 2631 & 255
|
||||
10, // 2631 >> 8
|
||||
0, // 2631 >> 16
|
||||
0, // 2631 >> 24
|
||||
{
|
||||
"innerWidth": 1536,
|
||||
"innerHeight": 742,
|
||||
"outerWidth": 1536,
|
||||
"outerHeight": 864,
|
||||
"availWidth": 1536,
|
||||
"availHeight": 864,
|
||||
"sizeWidth": 1536,
|
||||
"sizeHeight": 864,
|
||||
"platform": "Win32"
|
||||
},
|
||||
"1536|742|1536|864|1536|864|1536|864|Win32",
|
||||
ua_sm3,
|
||||
41,
|
||||
41,
|
||||
0,
|
||||
"56,",
|
||||
timestamp_list,
|
||||
3,
|
||||
3,
|
||||
0,
|
||||
random_One_Two,
|
||||
];
|
||||
|
||||
var d = []
|
||||
for (var i = 0; i < One_list.length; i++) {
|
||||
d.push(params[One_list[i]])
|
||||
}
|
||||
var t = random_One_Two.concat(d)
|
||||
|
||||
One_str = t[0];
|
||||
for (var i = 1; i < t.length; i++) {
|
||||
One_str = One_str ^ t[i];
|
||||
}
|
||||
|
||||
|
||||
fifty = []
|
||||
for (var i = 0; i < One_list.length; i++) {
|
||||
fifty.push(params[One_list[i]])
|
||||
}
|
||||
fifty_two = fifty.concat(browser_list).concat(timestamp_list).concat(One_str);
|
||||
console.log('fifty', fifty)
|
||||
console.log('fifty_two', fifty_two.length)
|
||||
|
||||
function get_random_Three() {
|
||||
let sum = []
|
||||
// let t1 = 0.975894115403338;
|
||||
let t1 = Math.random();
|
||||
|
||||
let t2 = t1 * 65535; // 35770.29097534439
|
||||
|
||||
let t3 = t2 & 255; // 186
|
||||
let t4 = t2 >> 8; // 139
|
||||
|
||||
let t5 = t4 & 255; // 139
|
||||
// let t6 = 0.3068013562471279
|
||||
let t6 = Math.random()
|
||||
let t7 = t6 * 40 // 9.40080089474482
|
||||
let t8 = t7 >> 0 // 9
|
||||
|
||||
let t9 = t3 & 170; // 170
|
||||
let t10 = t9 | 1; // 171
|
||||
sum.push(t10)
|
||||
|
||||
let t11 = t3 & 85; // 16
|
||||
let t12 = t11 | 2; // 18
|
||||
sum.push(t12)
|
||||
|
||||
let t13 = t8 & 170 // 8
|
||||
let t14 = t13 | 80 // 88
|
||||
sum.push(t14)
|
||||
|
||||
let t15 = t8 & 85 // 1
|
||||
let t16 = t15 | 2 // 129
|
||||
sum.push(t16)
|
||||
console.log(t16)
|
||||
return sum
|
||||
}
|
||||
|
||||
random_Three_list = get_random_Three()
|
||||
|
||||
random_Three_str = ''
|
||||
|
||||
for (let i = 0; i < random_Three_list.length; i++) {
|
||||
random_Three_str += String.fromCharCode(random_Three_list[i])
|
||||
}
|
||||
|
||||
|
||||
function get_random_Four(fifty_two_list) {
|
||||
key_sz_6 = [145, 110, 66, 189, 44, 211]
|
||||
var a = [];
|
||||
for (var i = 0; i < 94; i += 3) {
|
||||
var b = fifty_two_list[i];
|
||||
var c = fifty_two_list[i + 1];
|
||||
var d = fifty_two_list[i + 2];
|
||||
var e = (Math.random() * 1000) & 255;
|
||||
a.push((e & key_sz_6[0]) | (b & key_sz_6[1]));
|
||||
a.push((e & key_sz_6[2]) | (c & key_sz_6[3]));
|
||||
a.push((e & key_sz_6[4]) | (d & key_sz_6[5]));
|
||||
a.push(((b & key_sz_6[0]) | (c & key_sz_6[2])) | (d & key_sz_6[4]));
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
// function get_random_Four(fifty_two){
|
||||
// const key_sz_6 = [145, 110, 66, 189, 44, 211];
|
||||
// const xxx = [
|
||||
// 0.5001855154164976, 0.8693081215246656, 0.48964835883706914,
|
||||
// 0.6465947657489978, 0.7407817805702142, 0.6870897768940973,
|
||||
// 0.25654594037443534, 0.31840452542270337, 0.5915374193591335,
|
||||
// 0.1574194350410706, 0.16331024045337295, 0.12353052111144802,
|
||||
// 0.9165946082010487, 0.9497722415808253, 0.6915963480965821,
|
||||
// 0.07578209848434458, 0.6571124840171964, 0.15305729044561667,
|
||||
// 0.33013985844815674, 0.08468668443122951, 0.9972597055134754,
|
||||
// 0.29405756371353486, 0.6145293905185871, 0.3315457715485992,
|
||||
// 0.007516119798453014, 0.5637211526565238, 0.3746243484124355,
|
||||
// 0.027865860882615445, 0.3144481222749852, 0.7592799166406725,
|
||||
// 0.1056789798058807, 0.8934407522120362
|
||||
// ];
|
||||
// const a = [];
|
||||
// let xxxIndex = 0;
|
||||
//
|
||||
// for (let i = 0; i < 94; i += 3) {
|
||||
// const b = fifty_two[i];
|
||||
// const c = fifty_two[i + 1];
|
||||
// const d = fifty_two[i + 2];
|
||||
// const e = (xxx[xxxIndex] * 1000) & 255;
|
||||
// a.push((e & key_sz_6[0]) | (b & key_sz_6[1]));
|
||||
// a.push((e & key_sz_6[2]) | (c & key_sz_6[3]));
|
||||
// a.push((e & key_sz_6[4]) | (d & key_sz_6[5]));
|
||||
// a.push(((b & key_sz_6[0]) | (c & key_sz_6[2])) | (d & key_sz_6[4]));
|
||||
//
|
||||
// // 循环取用xxx里的数字
|
||||
// xxxIndex = (xxxIndex + 1) % xxx.length;
|
||||
// }
|
||||
// return a;
|
||||
// }
|
||||
fifty_twos = get_random_Four(fifty_two)
|
||||
// console.log('fifty_twos', fifty_twos)
|
||||
|
||||
console.log('fifty_twos', fifty_twos.length)
|
||||
|
||||
|
||||
cons = random_One_Two.concat(fifty_twos)
|
||||
|
||||
function get_list_str(one_list) {
|
||||
var s = '';
|
||||
for (var i = 0; i < one_list.length; i++) {
|
||||
s += String.fromCharCode(one_list[i]);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
conss = get_list_str(cons)
|
||||
|
||||
// console.log(JSON.stringify(conss))
|
||||
|
||||
function get_lm_g_ab(lm_g_lm_n) {
|
||||
|
||||
var fixed_sz256_n = [194, 249, 255, 165, 114, 67, 251, 187, 174, 231, 164, 237, 124, 235, 68, 83, 206, 79, 142, 167, 30, 77, 0, 93, 118, 29, 32, 161, 2, 171, 243, 179, 42, 170, 223, 119, 98, 222, 219, 57, 245, 135, 197, 13, 186, 202, 88, 184, 214, 12, 76, 185, 116, 74, 54, 53, 104, 208, 158, 163, 82, 173, 253, 240, 172, 63, 191, 207, 25, 15, 201, 203, 215, 236, 183, 233, 145, 127, 72, 6, 16, 10, 228, 35, 232, 159, 66, 168, 108, 71, 217, 75, 33, 155, 112, 128, 36, 24, 138, 50, 211, 23, 107, 14, 247, 137, 175, 242, 234, 157, 199, 49, 139, 85, 81, 17, 180, 86, 120, 78, 51, 205, 169, 148, 181, 3, 94, 106, 252, 220, 150, 47, 151, 84, 212, 18, 149, 182, 100, 123, 121, 156, 154, 152, 126, 204, 60, 133, 132, 248, 7, 91, 58, 59, 20, 97, 113, 117, 131, 46, 250, 224, 21, 73, 146, 31, 193, 69, 140, 125, 9, 39, 89, 5, 65, 141, 218, 80, 1, 70, 64, 166, 87, 189, 55, 147, 22, 26, 143, 61, 144, 99, 92, 44, 129, 130, 227, 103, 90, 192, 198, 244, 136, 101, 246, 153, 56, 38, 4, 178, 221, 162, 134, 37, 111, 28, 216, 96, 102, 210, 254, 196, 195, 230, 241, 62, 11, 122, 52, 40, 41, 229, 226, 225, 48, 45, 160, 105, 8, 115, 34, 43, 209, 95, 239, 190, 188, 109, 27, 19, 176, 213, 200, 238, 177, 110];
|
||||
// var fixed_sz256_n = get_sz256();
|
||||
var z = 0;
|
||||
var st = "";
|
||||
for (var i = 0; i < lm_g_lm_n.length; i++) {
|
||||
var a = (i + 1) % 256;
|
||||
var c = fixed_sz256_n[a];
|
||||
z = (z + c) % 256;
|
||||
var e = fixed_sz256_n[z];
|
||||
fixed_sz256_n[a] = e;
|
||||
fixed_sz256_n[z] = c;
|
||||
var g = (e + c) % 256;
|
||||
var h = lm_g_lm_n.charCodeAt(i);
|
||||
var j = fixed_sz256_n[g];
|
||||
var k = h ^ j;
|
||||
var l = String.fromCharCode(k);
|
||||
st += l;
|
||||
}
|
||||
return st;
|
||||
}
|
||||
|
||||
consss = get_lm_g_ab(conss)
|
||||
// console.log(consss)
|
||||
|
||||
conssss = random_Three_str + consss
|
||||
var info_dic = {
|
||||
"s0": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
|
||||
"s1": "Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=",
|
||||
"s2": "Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=",
|
||||
"s3": "ckdp1h4ZKsUB80/Mfvw36XIgR25+WQAlEi7NLboqYTOPuzmFjJnryx9HVGDaStCe",
|
||||
"s4": "Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe"
|
||||
}
|
||||
|
||||
function get_raw_ab(lm_get_ab_n, key_str = info_dic.s4) {
|
||||
var s = "", bw = 0;
|
||||
for (var i = 0; i < lm_get_ab_n.length; i += 3) {
|
||||
var cl = 16;
|
||||
var tcz = 0;
|
||||
var sof = 16515072;
|
||||
for (var j = i; j < i + 3; j++) {
|
||||
if (j < lm_get_ab_n.length) {
|
||||
var tlcy = lm_get_ab_n.charCodeAt(j) & 255;
|
||||
tcz = tcz | (tlcy << cl);
|
||||
cl -= 8;
|
||||
} else {
|
||||
bw += 1;
|
||||
}
|
||||
}
|
||||
for (var h = 18; h >= (6 * bw); h -= 6) {
|
||||
var tsz = tcz & sof;
|
||||
s += key_str[tsz >> h];
|
||||
sof = sof / 64;
|
||||
}
|
||||
s += '='.repeat(bw);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
a_bogus = get_raw_ab(conssss)
|
||||
return a_bogus
|
||||
}
|
||||
|
||||
// ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36';
|
||||
// a_bogus = get_a_bogus(ua)
|
||||
// console.log(a_bogus)
|
||||
// console.log(a_bogus.length)
|
|
@ -0,0 +1,48 @@
|
|||
import requests
|
||||
import execjs
|
||||
import time
|
||||
|
||||
|
||||
headers = {
|
||||
"accept": "application/json, text/plain, */*",
|
||||
"accept-language": "zh-CN,zh;q=0.9",
|
||||
"cache-control": "no-cache",
|
||||
"pragma": "no-cache",
|
||||
"priority": "u=1, i",
|
||||
"referer": "https://buyin.jinritemai.com/dashboard/inspiration-center/hot-video?pre_universal_page_params_id=&universal_page_params_id=006e74e0-314e-4d78-8987-90bb020ed52b",
|
||||
"sec-ch-ua": "\"Google Chrome\";v=\"135\", \"Not-A.Brand\";v=\"8\", \"Chromium\";v=\"135\"",
|
||||
"sec-ch-ua-mobile": "?0",
|
||||
"sec-ch-ua-platform": "\"Windows\"",
|
||||
"sec-fetch-dest": "empty",
|
||||
"sec-fetch-mode": "cors",
|
||||
"sec-fetch-site": "same-origin",
|
||||
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
|
||||
}
|
||||
cookies = {
|
||||
"SASID": "SID2_7499461659310096677",
|
||||
|
||||
}
|
||||
ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36';
|
||||
|
||||
url = "https://buyin.jinritemai.com/api/anchor/creative/search_videos"
|
||||
for page in range(1, 11):
|
||||
time.sleep(1)
|
||||
a_bogus = execjs.compile(open('day01.js','r',encoding='utf-8').read()).call('get_a_bogus',ua,page)
|
||||
print(a_bogus)
|
||||
print(len(a_bogus))
|
||||
params = {
|
||||
"industry_id": "4",
|
||||
"level": "3",
|
||||
"time_range_id": "2",
|
||||
"sort_id": "2",
|
||||
"sort_type": "2",
|
||||
"page": str(page),
|
||||
"page_size": "10",
|
||||
"a_bogus": a_bogus,
|
||||
# "verifyFp": "verify_m9zpgzxs_9rZzTJwA_YZDx_48P8_A5t2_1w8FcwOKRsLf",
|
||||
# "fp": "verify_m9zpgzxs_9rZzTJwA_YZDx_48P8_A5t2_1w8FcwOKRsLf"
|
||||
}
|
||||
response = requests.get(url, headers=headers, cookies=cookies, params=params)
|
||||
|
||||
print(response.text)
|
||||
print(response)
|
Loading…
Reference in New Issue