Commit 22cc0a63 authored by wang's avatar wang

nk token 测试

parent 568058bb
const acorn = require('acorn')
const fs = require('fs');
const types = require("@babel/types");
const parser = require("@babel/parser");
const traverse = require("@babel/traverse").default;
const generator = require("@babel/generator").default;
//js混淆代码读取
process.argv.length > 2 ? encodeFile = process.argv[2] : encodeFile = "./main.js";
process.argv.length > 3 ? decodeFile = process.argv[3] : decodeFile = "./decodeResult.js";
let sourceCode = fs.readFileSync(encodeFile, {encoding: "utf-8"});
const ast = acorn.parse(sourceCode, {
sourceType:"script"
})
function walkNode(node, callback) {
callback(node)
// 有 type 字段的我们认为是一个节点
Object.keys(node).forEach((key) => {
const item = node[key]
if (Array.isArray(item)) {
item.forEach((sub) => {
sub.type && walkNode(sub, callback)
})
}
item && item.type && walkNode(item, callback)
})
}
walkNode(ast, function (e){
console.log(e)
})
\ No newline at end of file
(function Sf(r, u, v, n) {
for (var t = void 0, z = r; z <= u; z++) {
(t = function pf(r) {
// debugger;
var u = r.index,
v = r.puzzleHelperVars,
n = r.targetHash,
t = v.fullNibbleMask,
z = v.zeroPad,
f = v.fullNibblesMissing,
e = v.partialNibble,
w = v.leftPartOfSolution,
L = (z + (u & t).toString(16)).slice(-f),
s = w + (e + (u >> (f << 2))).toString(16) + L;
if (function (r) {
var u = "0123456789abcdef".split(""),
v = [-2147483648, 8388608, 32768, 128],
n = [24, 16, 8, 0],
t = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298],
z = [];
function f() {
z[0] = z[16] = z[1] = z[2] = z[3] = z[4] = z[5] = z[6] = z[7] = z[8] = z[9] = z[10] = z[11] = z[12] = z[13] = z[14] = z[15] = 0;
this.blocks = z;
this.h0 = 1779033703;
this.h1 = 3144134277;
this.h2 = 1013904242;
this.h3 = 2773480762;
this.h4 = 1359893119;
this.h5 = 2600822924;
this.h6 = 528734635;
this.h7 = 1541459225;
this.block = this.start = this.bytes = this.hBytes = 0;
this.finalized = this.hashed = false;
this.first = true;
}
return f.prototype.update = function (r) {
if (!this.finalized && "string" == typeof r) {
for (var u = void 0, v = 0, t = void 0, z = r.length, f = this.blocks; v < z;) {
for (this.hashed && (this.hashed = false, f[0] = this.block, f[16] = f[1] = f[2] = f[3] = f[4] = f[5] = f[6] = f[7] = f[8] = f[9] = f[10] = f[11] = f[12] = f[13] = f[14] = f[15] = 0), t = this.start; v < z && t < 64; ++v) {
(u = r.charCodeAt(v)) < 128 ? f[t >> 2] |= u << n[3 & t++] : u < 2048 ? (f[t >> 2] |= (192 | u >> 6) << n[3 & t++], f[t >> 2] |= (128 | 63 & u) << n[3 & t++]) : u < 55296 || u >= 57344 ? (f[t >> 2] |= (224 | u >> 12) << n[3 & t++], f[t >> 2] |= (128 | u >> 6 & 63) << n[3 & t++], f[t >> 2] |= (128 | 63 & u) << n[3 & t++]) : (u = 65536 + ((1023 & u) << 10 | 1023 & r.charCodeAt(++v)), f[t >> 2] |= (240 | u >> 18) << n[3 & t++], f[t >> 2] |= (128 | u >> 12 & 63) << n[3 & t++], f[t >> 2] |= (128 | u >> 6 & 63) << n[3 & t++], f[t >> 2] |= (128 | 63 & u) << n[3 & t++]);
}
this.lastByteIndex = t;
this.bytes += t - this.start;
t >= 64 ? (this.block = f[16], this.start = t - 64, this.hash(), this.hashed = true) : this.start = t;
}
return this.bytes > 4294967295 && (this.hBytes += this.bytes / 4294967296 << 0, this.bytes = this.bytes % 4294967296), this;
}
}, f.prototype.finalize = function () {
if (!this.finalized) {
this.finalized = true;
var r = this.blocks,
u = this.lastByteIndex;
r[16] = this.block;
r[u >> 2] |= v[3 & u];
this.block = r[16];
u >= 56 && (this.hashed || this.hash(), r[0] = this.block, r[16] = r[1] = r[2] = r[3] = r[4] = r[5] = r[6] = r[7] = r[8] = r[9] = r[10] = r[11] = r[12] = r[13] = r[14] = r[15] = 0);
r[14] = this.hBytes << 3 | this.bytes >>> 29;
r[15] = this.bytes << 3;
this.hash();
}
}, f.prototype.hash = function () {
var r = this.h0,
u = this.h1,
v = this.h2,
n = this.h3,
z = this.h4,
f = this.h5,
e = this.h6,
w = this.h7,
L = void 0,
s = void 0,
o = void 0,
g = void 0,
K = void 0,
D = void 0,
i = void 0,
q = void 0,
c = void 0,
y = this.blocks;
for (L = 16; L < 64; ++L) {
s = ((K = y[L - 15]) >>> 7 | K << 25) ^ (K >>> 18 | K << 14) ^ K >>> 3;
o = ((K = y[L - 2]) >>> 17 | K << 15) ^ (K >>> 19 | K << 13) ^ K >>> 10;
y[L] = y[L - 16] + s + y[L - 7] + o << 0;
}
for (c = u & v, L = 0; L < 64; L += 4) {
this.first ? (D = 704751109, w = (K = y[0] - 210244248) - 1521486534 << 0, n = K + 143694565 << 0, this.first = false) : (s = (r >>> 2 | r << 30) ^ (r >>> 13 | r << 19) ^ (r >>> 22 | r << 10), g = (D = r & u) ^ r & v ^ c, w = n + (K = w + (o = (z >>> 6 | z << 26) ^ (z >>> 11 | z << 21) ^ (z >>> 25 | z << 7)) + (z & f ^ ~z & e) + t[L] + y[L]) << 0, n = K + (s + g) << 0);
s = (n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10);
g = (i = n & r) ^ n & u ^ D;
e = v + (K = e + (o = (w >>> 6 | w << 26) ^ (w >>> 11 | w << 21) ^ (w >>> 25 | w << 7)) + (w & z ^ ~w & f) + t[L + 1] + y[L + 1]) << 0;
s = ((v = K + (s + g) << 0) >>> 2 | v << 30) ^ (v >>> 13 | v << 19) ^ (v >>> 22 | v << 10);
g = (q = v & n) ^ v & r ^ i;
f = u + (K = f + (o = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7)) + (e & w ^ ~e & z) + t[L + 2] + y[L + 2]) << 0;
s = ((u = K + (s + g) << 0) >>> 2 | u << 30) ^ (u >>> 13 | u << 19) ^ (u >>> 22 | u << 10);
g = (c = u & v) ^ u & n ^ q;
z = r + (K = z + (o = (f >>> 6 | f << 26) ^ (f >>> 11 | f << 21) ^ (f >>> 25 | f << 7)) + (f & e ^ ~f & w) + t[L + 3] + y[L + 3]) << 0;
r = K + (s + g) << 0;
}
this.h0 = this.h0 + r << 0;
this.h1 = this.h1 + u << 0;
this.h2 = this.h2 + v << 0;
this.h3 = this.h3 + n << 0;
this.h4 = this.h4 + z << 0;
this.h5 = this.h5 + f << 0;
this.h6 = this.h6 + e << 0;
this.h7 = this.h7 + w << 0;
}, f.prototype.hex = function () {
this.finalize();
var r = this.h0,
v = this.h1,
n = this.h2,
t = this.h3,
z = this.h4,
f = this.h5,
e = this.h6,
w = this.h7;
return u[r >> 28 & 15] + u[r >> 24 & 15] + u[r >> 20 & 15] + u[r >> 16 & 15] + u[r >> 12 & 15] + u[r >> 8 & 15] + u[r >> 4 & 15] + u[15 & r] + u[v >> 28 & 15] + u[v >> 24 & 15] + u[v >> 20 & 15] + u[v >> 16 & 15] + u[v >> 12 & 15] + u[v >> 8 & 15] + u[v >> 4 & 15] + u[15 & v] + u[n >> 28 & 15] + u[n >> 24 & 15] + u[n >> 20 & 15] + u[n >> 16 & 15] + u[n >> 12 & 15] + u[n >> 8 & 15] + u[n >> 4 & 15] + u[15 & n] + u[t >> 28 & 15] + u[t >> 24 & 15] + u[t >> 20 & 15] + u[t >> 16 & 15] + u[t >> 12 & 15] + u[t >> 8 & 15] + u[t >> 4 & 15] + u[15 & t] + u[z >> 28 & 15] + u[z >> 24 & 15] + u[z >> 20 & 15] + u[z >> 16 & 15] + u[z >> 12 & 15] + u[z >> 8 & 15] + u[z >> 4 & 15] + u[15 & z] + u[f >> 28 & 15] + u[f >> 24 & 15] + u[f >> 20 & 15] + u[f >> 16 & 15] + u[f >> 12 & 15] + u[f >> 8 & 15] + u[f >> 4 & 15] + u[15 & f] + u[e >> 28 & 15] + u[e >> 24 & 15] + u[e >> 20 & 15] + u[e >> 16 & 15] + u[e >> 12 & 15] + u[e >> 8 & 15] + u[e >> 4 & 15] + u[15 & e] + (u[w >> 28 & 15] + u[w >> 24 & 15] + u[w >> 20 & 15] + u[w >> 16 & 15] + u[w >> 12 & 15] + u[w >> 8 & 15] + u[w >> 4 & 15] + u[15 & w]);
}, f.prototype.toString = f.prototype.hex, new f().update(r).hex();
}(s) === n) {
return s;
}
}({
index: z,
puzzleHelperVars: v,
targetHash: n
})) && (console.log(JSON.stringify({
index: z,
puzzleHelperVars: v,
targetHash: n
}), t), postMessage(t));
}
postMessage(false);
}).apply(null, [209716,419431,{"fullNibbleMask":1048575,"zeroPad":"00000","fullNibblesMissing":5,"partialNibble":6,"leftPartOfSolution":"b51b821e337645dcdb6ce3ce2302aa3f8bcdfafac4698aa7c2f64968d9","startTime":3103.2000000476837},"37e24d5d1ec249d273d4a208ff99e1ffa86030e433f9e35d5caadd04e59428ef"])
\ No newline at end of file
......@@ -595,7 +595,7 @@ try {
return Math.round(+new Date() / 1e3);
}
function Mt(t) {
debugger;
// debugger;
pt = t;
}
var xt;
......@@ -3259,7 +3259,7 @@ try {
var e = i;
if (Zc) {
var n;
debugger;
// debugger;
if (Zc = !1, jc.length > 0 || lu.length > 0) Rf(e("YRRJB3YGVg"), (u(n = {}, e("YRRJB3IDXw"), jc), u(n, e("YRRJB3MAXw"), t), u(n, e("YRRJBHsEWw"), is), u(n, e("YRRJB3MBXw"), zc), u(n, e("YRRJBHoAWg"), Rs), u(n, e("YRRJBHoDWw"), qc), u(n, e("YRRJB3YBWg"), Pc), u(n, e("YRRJBHEOXA"), lu.join("|")), u(n, e("YRRJB3YAXw"), kt()), u(n, e("YRRJBHUDWA"), hu.length > 0 ? hu : void 0), u(n, e("YRRJBHQOVw"), Ru.length > 0 ? Ye(Ru) : void 0), u(n, e("YRRJBHQAVg"), p.body && p.body.offsetWidth + "x" + p.body.offsetHeight || ""), n));
Au(!1);
}
......@@ -3888,7 +3888,9 @@ try {
}
}
if (0 !== E[Sf(437)]) {
for (var C = Ol(E), S = C[Sf(491)]("&"), W = {}, O = 0; O < E[Sf(437)]; O++) {
console.log('encbefore', E)
console.log('encafter', Ol(E))
for (var C = Ol(E), S = C['join']("&"), W = {}, O = 0; O < E[Sf(437)]; O++) {
var _ = E[O];
if (_) {
if (_.t === A(Sf(440))) {
......@@ -3906,7 +3908,7 @@ try {
_.t === A(Sf(446)) && (W[A(Sf(446))] = !0);
}
}
W[Sf(482)] = S, Xc() && W[A(Sf(440))] && (W[Mn] = function (t, e) {
W['postData'] = S, Xc() && W[A(Sf(440))] && (W[Mn] = function (t, e) {
!function (t, e) {
rl++, vR(t) && (rl < ml ? setTimeout(El[Sf(513)](this, e), 200 * rl) : (wl(), Wc($i)));
}(t, e);
......@@ -4087,6 +4089,7 @@ try {
console.log(JSON.stringify(t))
console.log(w)
var A = mf(t, w);
console.log('payload===', A)
var E = [Wf + A, Of + Bl[Hn], _f + Bl[Tn], Mf + Rs, Vf + Bl[Xn], Pf + al++, Lf + qf];
var I = Ns();
I && E[Sf(501)](xf + I), J && E[Sf(501)](Ff + J), b && E[Sf(501)](Nf + b);
......@@ -4416,14 +4419,20 @@ try {
Bl[Hn] === d[rR(483)] && xc(t, e, n, r), fs[rR(450)](rR(488), n, t, e, a);
}
function YR(t, e) {
console.log('tttt', t)
if (t) {
for (var R, h = [], v = 0; v < t[rR(481)]; v++) {
var d = t[v];
if (d) {
var p;
var m;
console.log(d)
console.log('return',d)
// console.log(la)
var g = d[rR(484)]("|");
if (g[0] === '0III0I00'){
console.log('验证码结果', g[1])
debugger;
}
var y = g[rR(440)]();
var B = e ? iR[y] : sR[y];
if (g[0] === la[je]) {
......@@ -5004,7 +5013,7 @@ try {
function wh() {
var t = i;
return new T(function (e) {
debugger;
// debugger;
m.storage && m.storage.estimate || e(u({}, t("YRRJB3EBXQ"), G("no_fp"))), m.storage.estimate().then(function (n) {
e(u({}, t("YRRJB3EBXQ"), G(n && n.quota || "no_fp")));
}).catch(function () {
......
This diff is collapsed.
This diff is collapsed.
......@@ -60,10 +60,10 @@ class PxBypass():
self._step_2()
self._step_3()
c = self.__token()
if c == 403:
self._step_1()
self._step_2()
self._step_3()
# if c == 403:
# self._step_1()
# self._step_2()
# self._step_3()
self.log.info(self.session.cookies.get_dict())
......@@ -430,12 +430,15 @@ class PxBypass():
def _step_3(self):
# self.log.info(self.m)
# self.log.info(self.uuid)
time.sleep(5)
# time.sleep(5)
data_str = ctxStep3.call('genPayload', self.uuid, self.vid, self.hash, self.hash2, self.hashv, self.token, self.ci, self.init_time)
self.log.info(f'data_str2 {data_str}')
data_str = json.dumps(data_str)
self.log.info(f'captchaBody {data_str}')
payload = ctx.call('encodePayload', data_str, self.uuid, self.sts)
self.log.info(f'payload {payload}')
tag = "v8.6.6"
......
......@@ -97,18 +97,23 @@ function createPX1132(hash, hash2, hashv) {
puzzleHelperVars: u,
targetHash: v
})
console.log({
index: e,
puzzleHelperVars: u,
targetHash: v
})
if (t) return t;
}
}).apply(null, [0, 52428, {
}).apply(null, [0, 155804, {
"fullNibbleMask": w,
"zeroPad": "0000",
"fullNibblesMissing": q,
"partialNibble": D,
// "leftPartOfSolution": I0I0I0[1][":-1"],
"leftPartOfSolution": hash.slice(0, hash.length - 1),
"startTime": 4797.700000047684
"startTime": 3026.5
}, hash2])
}
......@@ -125,10 +130,10 @@ function createPX11393() {
// "-4,2,490256|-2,1,490257|-3,1,490257|-4,2,490259|-1,1,490260|-2,1,490261|-2,1,490265|-4,2,490266|-1,1,490267|-3,1,490268"
let t = Math.floor(40256 + (1000 * Math.random()))
let res = [];
for (let i = 0; i < 10; i++) {
res.push(`${randomInt(-4, 2)},${randomInt(1, 2)},${t}`)
t += randomInt(0, 2)
}
// for (let i = 0; i < 10; i++) {
// res.push(`${randomInt(-4, 2)},${randomInt(1, 2)},${t}`)
// t += randomInt(0, 2)
// }
return res.join('|')
}
......@@ -139,13 +144,13 @@ function createPX11698() {
// let res = [];
let x = randomInt(868, 890);
let y = randomInt(295, 310);
let t = performanceNow(200)
for (let i = 0; i < randomInt(50, 80); i++) {
PX11698Temp.push([x, y, t].join(','))
x += randomInt(-3, 3)
y += randomInt(-4, 4)
t += randomInt(2, 4)
}
// let t = performanceNow(200)
// for (let i = 0; i < randomInt(50, 80); i++) {
// PX11698Temp.push([x, y, t].join(','))
// x += randomInt(-3, 3)
// y += randomInt(-4, 4)
// t += randomInt(2, 4)
// }
return PX11698Temp
}
......@@ -350,7 +355,7 @@ function genPayload(uuid, vid, hash, hash2, hashv, token, ci, init_time) {
"PX12307": "PX11745",
"PX11668": "pxhc",
"PX12348": false,
"PX11645": "https://www.flyfrontier.com/"
"PX11645": "https://booking.flyfrontier.com/Flight/Select"
};
let PX12123 = {
"PX12108": startX,
......@@ -577,6 +582,8 @@ function genPayload(uuid, vid, hash, hash2, hashv, token, ci, init_time) {
return data;
}
console.log(createPX11393())
console.log(createPX11698())
console.log(JSON.stringify(genPayload('uuid', 'vid', 'hash', 'hash2', '12', 'token', 'ci')[2]))
\ No newline at end of file
// console.log(createPX11393())
// console.log(createPX11698())
// console.log(JSON.stringify(genPayload('5af66531-7040-1031-a4fe-f4f13a20ca16', '8a1cf585-731d-11ee-a049-4540749b826f', 'e489057d4871bdb110166705657e4c9df363995fabd20e45ccc1d1937400', '6bb20b8e2f18a4e623671f46447476f4fc4b69adcd5f9743c8eaa72f623d2875', '18', '23d4886f5746682304c4bb56cc4741f6260c78f48924ffdb988454b469bd0cff47b4c0b7cf548728e4ba57210ecbd16569ce6e877d8258a72aed61c5bd0a689d', '89?8', 1698228126238)[2]))
console.log(createPX1132("ac9e3049cb2f7f391f38d2426d3e07be19cd069a490b05aea023f2cc5681", "6bb20b8e2f18a4e623671f46447476f4fc4b69adcd5f9743c8eaa72f623d2875", "18"))
\ No newline at end of file
......@@ -9,19 +9,19 @@
</head>
<body>
<script>
window._pxVid = '2f5d0d79-4719-11ee-bc23-5a0cace3b0d3';
window._pxUuid = '2f5d09c5-4719-11ee-bc23-4f7477666252';
window._pxVid = 'aefda276-7321-11ee-aabf-80d82c45ee3e';
window._pxUuid = 'af560e12-7321-11ee-abb0-acc0dff385c0';
window._pxAppId = 'PXVb73hTEg';
window._pxHostUrl = 'https://collector-PXVb73hTEg.perimeterx.net';
window._pxCustomLogo = '';
window._pxJsClientSrc = '//client.perimeterx.net/PXVb73hTEg/main.min.js';
window._pxFirstPartyEnabled = 'false';
var script = document.createElement('script');
script.src = '//captcha.perimeterx.net/PXVb73hTEg/captcha.js?a=&u=2f5d09c5-4719-11ee-bc23-4f7477666252&v=2f5d0d79-4719-11ee-bc23-5a0cace3b0d3&m=0';
script.src = '//captcha.perimeterx.net/PXVb73hTEg/captcha.js?a=&u=af560e12-7321-11ee-abb0-acc0dff385c0&v=aefda276-7321-11ee-aabf-80d82c45ee3e&m=0';
document.head.appendChild(script);
script.onerror = function () {
script = document.createElement('script');
script.src = 'https://captcha.px-cloud.net/PXVb73hTEg/captcha.js?a=&u=2f5d09c5-4719-11ee-bc23-4f7477666252&v=2f5d0d79-4719-11ee-bc23-5a0cace3b0d3&m=0';
script.src = 'https://captcha.px-cloud.net/PXVb73hTEg/captcha.js?a=&u=af560e12-7321-11ee-abb0-acc0dff385c0&v=aefda276-7321-11ee-aabf-80d82c45ee3e&m=0';
script.onerror = window._pxDisplayErrorMessage;
document.head.appendChild(script);
};
......
This diff is collapsed.
from pprint import pprint
import base64
import ctypes
import json
......@@ -29,13 +30,13 @@ class PxBypass():
session = tls_client.Session(client_identifier='chrome_112')
# session = requests.Session()
session.proxies = {
'http': 'http://127.0.0.1:8890',
'https': 'http://127.0.0.1:8890',
'http': 'http://127.0.0.1:7890',
'https': 'http://127.0.0.1:7890',
}
# session.proxies = {
# 'http': "http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600",
# 'https': "http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600",
# 'http': "http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:11125",
# 'https': "http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:11125",
# }
def __init__(self, target_url):
......@@ -46,19 +47,28 @@ class PxBypass():
self._init()
self._step_1()
self._step_2()
# self._step_2()
self.__token()
def _init(self):
headers = {
res = self.session.get(
'https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-08-30&ADT=1&umnr=false&mon=true',
headers={
"authority": "www.flyfrontier.com",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6",
"cache-control": "no-cache",
"pragma": "no-cache",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
}
res = self.session.get(self.target_url, headers=headers, allow_redirects=True)
"sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "none",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
}, allow_redirects=True)
self.log.info(f"初始化请求 res {res.status_code}")
self.params = {}
for k, v in self.session.cookies.items():
......@@ -149,7 +159,7 @@ class PxBypass():
"seq": "0",
"en": "NTA",
"pc": pc,
"pxhd": self.params['_pxhd'],
# "pxhd": self.params['_pxhd'],
"rsc": "1"
}
print(body)
......@@ -169,7 +179,7 @@ class PxBypass():
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "cross-site",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
}
response = self.session.post(url, headers=headers, data=body)
self.log.info(f'collector1 {response.text}')
......@@ -177,8 +187,11 @@ class PxBypass():
m = {}
if 'ob' in resp:
cookies = self.encrypt(base64.b64decode(resp['ob'].encode()), 866 % 128).decode()
print(cookies.split('~~~~'))
for i in cookies.split('~~~~'):
cks = cookies.split('~~~~')
pprint(cks)
pprint(len(cks))
print()
for i in cks:
tmp = i.split('|')
m[tmp[0]] = tmp[1]
if 'pxde' in i:
......@@ -243,7 +256,7 @@ class PxBypass():
"sec-fetch-site": "none",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
}, allow_redirects=True)
print(response.status_code)
with open('index.html', 'w') as f:
......@@ -274,7 +287,7 @@ class PxBypass():
"sid": self.m['I0I0II'],
"vid": self.m['I000I0'],
"cts": self.m['0III00I0'],
"rsc": "1"
"rsc": "2"
}
url = "https://collector-PXVb73hTEg.px-cloud.net/api/v2/collector"
headers = {
......@@ -292,7 +305,7 @@ class PxBypass():
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "cross-site",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
}
response = self.session.post(url, headers=headers, data=body)
self.log.info(f'collector2 {response.text}')
......@@ -300,7 +313,7 @@ class PxBypass():
m = {}
if 'ob' in resp:
cookies = self.encrypt(base64.b64decode(resp['ob'].encode()), 866 % 128).decode()
print(cookies.split('~~~~'))
pprint(cookies.split('~~~~'))
for i in cookies.split('~~~~'):
tmp = i.split('|')
m[tmp[0]] = tmp[1]
......@@ -329,8 +342,8 @@ class PxBypass():
self.session.cookies.update({
tmp[0]: tmp[1]
})
self.log.info(f'cookies2 {self.session.cookies.keys()}')
self.m = m
self.log.info(f'cookies2 {self.session.cookies.get_dict()}')
# self.m = m
self.log.info(self.m)
......
......@@ -97,9 +97,21 @@ function $C_sXR(t, e, n, r, i, a) {
}
function genPc(t, e, n) {
return $C_vZD(t, e, n);
n = $C_vZD(t, e, n);
try {
for (var r = function (t) {
for (var e = "", n = "", r = 0; r < t.length; r++) {
var a = t.charCodeAt(r);
a >= 48 && a <= 57 ? e += t[r] : n += a % 10;
}
return e + n;
}(n), a = "", o = 0; o < r.length; o += 2) a += r[o];
return a;
} catch (t) {}
}
let t = '[{"t":"PX12095","d":{"PX11645":"https://www.flyfrontier.com/","PX12207":0,"PX12458":"MacIntel","PX11902":0,"PX11560":2415,"PX12248":3600,"PX11385":1693058324224,"PX12280":1693058324227,"PX11496":"ab7f61e0-4418-11ee-87a1-e51213af1917","PX12564":null,"PX12565":-1,"PX11379":false}}]'
let e = 'ab7f61e0-4418-11ee-87a1-e51213af1917:v8.6.4:314'
console.log(genPc(t, e))
\ No newline at end of file
t = '[{"t":"PX12095","d":{"PX11645":"https://www.flyfrontier.com/","PX12207":0,"PX12458":"MacIntel","PX11902":0,"PX11560":3408,"PX12248":3600,"PX11385":1698224059765,"PX12280":1698224059783,"PX11496":"15d14340-7314-11ee-976b-3781c82989e7","PX12564":null,"PX12565":-1,"PX11379":false}}]'
let e = '15d14340-7314-11ee-976b-3781c82989e7:v8.6.6:316'
// console.log(genPc(t, e))
\ No newline at end of file
......@@ -332,22 +332,9 @@ function genPayload2(m, uuid) {
}
let m = {
'0III00I0': 'f8ca58ff-4706-11ee-8ad9-614247755465',
'00III0': 'cad902e272e8962eb647a943dcd3e2b33a51b2dd2984c00116b0e63df1ce9fd8',
'IIII00': 'cjnevo1ushun7urncgfg',
'IIIIII': 'fp',
'I00III': '15030756842869753411',
'I0I0II': 'f8ca555c-4706-11ee-8ad9-614247755465',
'0III0III': '1693380576466',
'IIII0I': 'ccc:300',
'0III0II0': '7651',
'I00II0': '1',
'I0I0I0': '1',
'IIIII0': '_px2',
'00I0I0': 'cu'
}
let m = {'I000I0': 'f77f4880-730c-11ee-89ce-1f0257db8d6d', '0III0III': '1698221005741', '00III0': '7a94eea652321d1f15b9949b7760940864b636985deb2c6d1af33be0ce32acc7', 'IIIIII': 'cc', '00I0I0': 'cu', '0III00I0': 'f9769bf8-730c-11ee-a323-1f59abe38ec0', 'I0I0II': 'f9769497-730c-11ee-a323-1f59abe38ec0', 'IIII00': 'ckscnj90nsf2vve67e20', '0III0II0': '7161', 'I00III': '10697662696482325601', 'IIIII0': '_px2'}
console.log(genPayload2(m, 'f3920367-4706-11ee-b994-674b47685845'))
// console.log(genPayload2(m, 'b27158f9-7040-1031-909f-e91c71c371fd'))
// console.log(JSON.stringify(data))
// console.log(data[0].d.PX11804)
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment