commit 97b98e6a3c3f3900b05e8d2d70cdf83407d6f1b9 Author: 3202307908 <3202307908@qq.com> Date: Thu May 8 09:26:14 2025 +0800 上传文件至 / diff --git a/day01.js b/day01.js new file mode 100644 index 0000000..71b6372 --- /dev/null +++ b/day01.js @@ -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) \ No newline at end of file diff --git a/day01.py b/day01.py new file mode 100644 index 0000000..9b9fbf5 --- /dev/null +++ b/day01.py @@ -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) \ No newline at end of file