Commit 2083f36f authored by wang's avatar wang

解密payload

parent 0d97dadf
......@@ -617,7 +617,7 @@ var i = function () {
function o(n) {
var r = t();
for (var c = i(n), u = "", l = 0; l < c.length; ++l) {
var s = "XsS5yUA".charCodeAt(l % 7);
var s = "flEpkiz".charCodeAt(l % 7);
u += String.fromCharCode(s ^ c.charCodeAt(l));
}
return u;
......@@ -632,7 +632,7 @@ traverse(ast, {
let {id, init} = declaration;
if (!init) return
if (!types.isIdentifier(init)) return;
if (init.name === 'o') {
if (init.name === 'i') {
let binding = scope.getBinding(id.name);
if (id.name === 'xs') {
debugger
......
This diff is collapsed.
This diff is collapsed.
......@@ -9,19 +9,19 @@
</head>
<body>
<script>
window._pxVid = '47d1b285-74b0-11ee-9718-870b11e7807d';
window._pxUuid = '20e84fe1-7040-1031-93e7-b12281ad7267';
window._pxVid = 'fe4b87f5-7706-11ee-bc81-9f60a73e65c2';
window._pxUuid = '7fd64821-7040-1031-9863-bcc2f26d0e1d';
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=20e84fe1-7040-1031-93e7-b12281ad7267&v=47d1b285-74b0-11ee-9718-870b11e7807d&m=0';
script.src = '//captcha.perimeterx.net/PXVb73hTEg/captcha.js?a=&u=7fd64821-7040-1031-9863-bcc2f26d0e1d&v=fe4b87f5-7706-11ee-bc81-9f60a73e65c2&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=20e84fe1-7040-1031-93e7-b12281ad7267&v=47d1b285-74b0-11ee-9718-870b11e7807d&m=0';
script.src = 'https://captcha.px-cloud.net/PXVb73hTEg/captcha.js?a=&u=7fd64821-7040-1031-9863-bcc2f26d0e1d&v=fe4b87f5-7706-11ee-bc81-9f60a73e65c2&m=0';
script.onerror = window._pxDisplayErrorMessage;
document.head.appendChild(script);
};
......
This diff is collapsed.
......@@ -27,6 +27,15 @@ def unsinged_right_shift(x, y):
class PxBypass():
# PX11431 o111ooo1
ts: str = ''
# PX15454 o111oooo
num1: int = ''
# PX11701 111o1o
num2: str = ''
# PX11701 111o1o
str1: str = ''
session = tls_client.Session(client_identifier='chrome_112')
# session = requests.Session()
session.proxies = {
......@@ -38,8 +47,10 @@ class PxBypass():
# '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",
# }
tag = "v8.7.2"
ft = "317"
def __init__(self, target_url):
self.target_url = target_url
self.log = logger.bind(module_name='px')
......@@ -135,6 +146,8 @@ class PxBypass():
t2 = t1 + random.randint(3, 12)
_uuid = self.__uuid()
self.uuid = _uuid
# "[{"t":"PX12095","d":{"PX11645":"https://www.flyfrontier.com/","PX12207":0,"PX12458":"MacIntel","PX11902":0,"PX11560":3781,"PX12248":3600,
# "PX11385":1698649702900,"PX12280":1698649702913,"PX11496":"1ce53d20-76f3-11ee-8971-a3e00c89b2ff","PX12564":null,"PX12565":-1,"PX11379":false}}]"
data = [{"t": "PX12095",
"d": {"PX11645": "https://www.flyfrontier.com/", "PX12207": 0, "PX12458": "MacIntel", "PX11902": 0,
"PX11560": random.randint(8549, 8549 * 3), "PX12248": 3600, "PX11385": t1, "PX12280": t2,
......@@ -146,16 +159,14 @@ class PxBypass():
payload = ctx.call('encodePayload', data_str, _uuid, '')
self.log.info(f'payload {payload}')
tag = "v8.6.6"
ft = "316"
pc = self.__gen_pc(data_str, f'{_uuid}:{tag}:{ft}')
pc = self.__gen_pc(data_str, f'{_uuid}:{self.tag}:{self.ft}')
print(pc)
body = {
"payload": payload,
"appId": "PXVb73hTEg",
"tag": tag,
"tag": self.tag,
"uuid": _uuid,
"ft": ft,
"ft": self.ft,
"seq": "0",
"en": "NTA",
"pc": pc,
......@@ -186,7 +197,7 @@ class PxBypass():
resp = response.json()
m = {}
if 'ob' in resp:
cookies = self.encrypt(base64.b64decode(resp['ob'].encode()), 866 % 128).decode()
cookies = self.encrypt(base64.b64decode(resp['ob'].encode()), self._decode_resp()).decode()
cks = cookies.split('~~~~')
pprint(cks)
pprint(len(cks))
......@@ -194,6 +205,31 @@ class PxBypass():
for i in cks:
tmp = i.split('|')
m[tmp[0]] = tmp[1]
if tmp[0] == 'o111ooo1':
self.ts = tmp[1]
if tmp[0] == 'o111oooo':
self.num1 = int(tmp[1])
if tmp[0] == '111o1o':
self.num2 = tmp[1]
if tmp[0] == '1oooo1':
self.str1 = tmp[1]
if tmp[0] == 'o1oo1o':
self.vid = tmp[1]
self.session.cookies.update({
'_pxvid': self.vid
})
if tmp[0] == 'o11o11':
self.sid = tmp[1]
if tmp[0] == '11o111':
self.cs = tmp[1]
if tmp[0] == 'o11o11oo':
self.cts = tmp[1]
self.session.cookies.update({
'pxcts': self.cts
})
if 'pxde' in i:
self.session.cookies.update({
'_pxde': tmp[3]
......@@ -241,7 +277,7 @@ class PxBypass():
def __token(self):
response = self.session.get(
'https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-08-30&ADT=1&umnr=false&mon=true',
'https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-11-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",
......@@ -265,28 +301,28 @@ class PxBypass():
def _step_2(self):
self.log.info(self.m)
self.log.info(self.uuid)
data_str = ctxStep2.call('genPayload2', self.m, self.uuid)
# sid, vid,ts, num1 ,num2,str1, uuid
data_str = ctxStep2.call('genPayload2', self.sid, self.vid, self.ts, self.num1, self.num2, self.str1, self.uuid)
self.log.info(f'data_str2 {data_str}')
payload = ctx.call('encodePayload', data_str, self.uuid, '')
self.log.info(f'payload {payload}')
tag = "v8.6.6"
ft = "316"
pc = self.__gen_pc(data_str, f'{self.uuid}:{tag}:{ft}')
pc = self.__gen_pc(data_str, f'{self.uuid}:{self.tag}:{self.ft}')
body = {
"payload": payload,
"appId": "PXVb73hTEg",
"tag": tag,
"tag": self.tag,
"uuid": self.uuid,
"ft": ft,
"ft": self.ft,
"seq": "1",
"en": "NTA",
"cs": self.m['00III0'],
"cs": self.cs,
"pc": pc,
"sid": self.m['I0I0II'],
"vid": self.m['I000I0'],
"cts": self.m['0III00I0'],
"sid": self.sid,
"vid": self.vid,
"cts": self.cts,
"rsc": "2"
}
url = "https://collector-PXVb73hTEg.px-cloud.net/api/v2/collector"
......@@ -312,7 +348,7 @@ class PxBypass():
resp = response.json()
m = {}
if 'ob' in resp:
cookies = self.encrypt(base64.b64decode(resp['ob'].encode()), 866 % 128).decode()
cookies = self.encrypt(base64.b64decode(resp['ob'].encode()), self._decode_resp()).decode()
pprint(cookies.split('~~~~'))
for i in cookies.split('~~~~'):
tmp = i.split('|')
......@@ -346,6 +382,10 @@ class PxBypass():
# self.m = m
self.log.info(self.m)
def _decode_resp(self):
a = int(self.tag.replace('v','').replace('.',''))
return a % 128
if __name__ == '__main__':
url = "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-08-30&ADT=1&umnr=false&mon=true"
......
......@@ -77,7 +77,7 @@ function createPx1(t) {
function getPX12573(a, b, c) {
let t = function (o, n, h) {
return o - 36454 + h.charCodeAt(12);
return o - 48292 + h.charCodeAt(34);
// }["apply"](null, ['0III0III', 'I000I0', 'uuid'])
}["apply"](null, [a, b, c])
return createPx1(t);
......@@ -93,29 +93,29 @@ function getNoPX(data) {
return res;
}
let ua = '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';
let ua = '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';
function genPayload2(m, uuid) {
let vid = m['I000I0']
let sid = m['I0I0II']
function genPayload2(sid, vid,ts, num1 ,num2,str1, uuid) {
// let vid = m['I000I0']
// let sid = m['I0I0II']
console.log(vid, sid)
let data = {
// "PX11431": 1692944411084, // 0III0III
"PX11431": m['0III0III'], //
"PX11431": ts, //
// "75602>44073>?2261175": "46531=77340=<1152246",
"PX12454": m['0III0II0'], // 0III0II0
"PX11701": m['I00III'], // I00III
"PX12454": num1, // 0III0II0
"PX11701": num2, // I00III
"PX11529": 102721973,// usedJSHeapSize
"PX11555": 4294705152,// jsHeapSizeLimit
"PX11833": 122502277,// totalJSHeapSize
// "PX11840": "Fri Aug 25 2023 14:20:11 GMT+0800 (中国标准时间)",
"PX11840": new Date() + '',
// "PX12573": "e29b74b1", // parseInt(0III0III/10)
"PX12573": getPX12573(m['0III0III'], m['I000I0'], uuid), // parseInt(0III0III/10)
"PX12573": getPX12573(parseInt(ts/10), vid, uuid), // parseInt(0III0III/10)
// "PX11804": "36f924a304c56d1ae9971c767ca7f510", //uuid 转换
"PX11804": createPx2(ua, uuid), //uuid 转换
"PX12118": m['IIII00'],// 第一步返回 0ll0ll
"PX12118": str1,// 第一步返回 0ll0ll
"PX11746": createPx2(ua, vid), //_pxvid // I000I0
"PX11371": createPx2(ua, sid), // pxsid sessionStorage // I0I0II
"PX12501": md5(vid), // vid md5
......@@ -183,14 +183,14 @@ function genPayload2(m, uuid) {
"PX11583": "en-US",
"PX12458": "MacIntel",
"PX11681": ["en-US", "en", "zh-CN", "ru"],
"PX11754": "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",
"PX11754": "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",
"PX12037": true,
"PX11390": -480,
"PX11621": 8,
"PX11657": 4,
"PX12081": "Gecko",
"PX11908": "20030107",
"PX12314": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12314": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36",
"PX11829": true,
"PX11464": true,
"PX12054": 2,
......@@ -209,7 +209,7 @@ function genPayload2(m, uuid) {
"PX12510": "",
"PX12511": "macOS",
"PX12512": "13.2.0",// platformVersion
"PX12513": "115.0.0.0", //Mu["uaFullVersion"]
"PX12513": "117.0.5938.149", //Mu["uaFullVersion"]
"PX12548": true,
"PX12555": {
"plugext": {
......@@ -239,11 +239,11 @@ function genPayload2(m, uuid) {
},
"PX12508": [{
"brand": "Not/A)Brand",
"version": "99"
"version": "8"
}, {
"brand": "Chromium", "version": "115"
"brand": "Chromium", "version": "117"
}, {
"brand": "Google Chrome", "version": "115"
"brand": "Google Chrome", "version": "117"
}],
"PX12549": true,
"PX11539": "64556c77", //Me(console.log)
......@@ -258,7 +258,7 @@ function genPayload2(m, uuid) {
"PX12520": true,
"PX12524": "4YC14YCd4YCd4YCV4YCe4YCX4YGS5J256aus7r266YaI5oCR7r27", // Pu = speechSynthesis.getVoices() is(Pu[161].voiceURI)
"PX12527": "3207084bd110f1ac964863e23aa78e04", // '1970/1/1'
"PX12260": "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",
"PX12260": "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",
"PX12249": false,
"PX11897": "90e65465", // 固定
"PX12597": 1,
......@@ -300,7 +300,7 @@ function genPayload2(m, uuid) {
"PX12576": "screen",
"PX12594": false,
"PX12566": false,
"PX12571": "46ef8eb2", // allowedFeatures();
"PX12571": "74d9c66", // allowedFeatures();
"PX12581": "default",
"PX12582": 3,
"PX12587": false,
......@@ -335,6 +335,10 @@ function genPayload2(m, uuid) {
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, 'b27158f9-7040-1031-909f-e91c71c371fd'))
console.log(genPayload2('687979f8-76f5-11ee-b39d-18b84cf7345b', '66f49836-76f5-11ee-b021-e9250e8fd63c', '1698650688711', 542, '14137203748753126909', 'ckvlkg3u7dreem2ha7r0', 'bd802a09-7040-1031-8afa-f6c8ad6726f3'))
// console.log(JSON.stringify(data))
// console.log(data[0].d.PX11804)
\ No newline at end of file
// console.log(data[0].d.PX11804)
console.log(createPx2('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',
'a6177960-76f7-11ee-b667-533223f88adb'))
\ No newline at end of file
......@@ -50,49 +50,24 @@ a = 'aUkQRhAIEGJqAwMHBgUQHhBWEAhJEGJqAwAGCwAQCBBRBwIHUQMCVwAEUwNQBVMFBQYDBgEFVlA
# except Exception as e:
# print(e)
a2 = "UAxQUAwMHD8QGFIcU1NQHAUZKlEpCg8JOTQHVC0KIg0tNCEULiQpUi4zUBgtNzYMLDQLGS0KKRQvJylSLiQICjk0C1AtNAwJKQkXCQQJKVYpDTUXLzQDGi40NgwsNDEZLgo1FC00Jgw6M1EILQoxUyw3Lg0uCggJLRopGi83KVAtGSkTKQ4xCS8KJVIvNClULhopGS0aNVUuCiETKQ0HCS8JKVIvJCYKOjc1Fy4aCA06CiYNLSQhUi4KIVEuNAQLLQ0lGi8nKVUvJDlRLQ0lUy03Mgs5NzlQOg01GS4kLgouDToJOiQqCi40AxgtGjVQOQ0tVC83JRgpDlBdHBQSFQUcU1BQHh4eHlBQUFBQUBwDFQ=="
a2 = "UFBQUFBQHAMVHh4eHlAMUFAMDBw/EBhSHFNTUBwFGSpRKQoPCTkKOVMtNCVULTQlFC4NLVEvI1AYLSQtGCw3JRo6JCUULgoLGS4nJVQ6CjYKORotGikJFwkECSlWKQoECS8kOVIvJAMaLDQxGi0NKRQtNCYMOjNRCS8kOggsNzoJOg0tFy4NKVE5GjUaOgkpEykOMQkvCiVSLzQpVS40BxctJAcZLSQlEykNBwkvCSlULQopUjkaC1Q5NAgKOQoMDTo3MVIvJClTLRomCy0kNRguJzlULzQyCi43NRktJAQLOic1FzkKKVM5CggLLicqCzokMgo5NAMaOjcuCy0KOgwuDSlVKQ5QXRwUEhUFHFNQUA=="
a2 ="WVkHBwdZFDcYEFoUW1tYFA0RIlkhAgcBMiw5XCUvPVglEikcJhILHyYBWBAlPz4EJDwPEjI8MRwlPzIAMjwtWyZaMR8lPA8SIQEfAQwBIV4hBSVaJSwtXSYvJgIkPAtaMgIDHCU8LgQyO1kAJQItWyQ/OREmWjFZJhImBCc8C1gnOyEbIQY5AScCMRElLCESJRIPXCUsKR8mER8BCSshXiECKgEyLCFbJgI5WiVaLgUmBT0QJhIyBDE8JgAyAgMfMQIyAiUSC10mLDkfMQIlWCU/OgEnLDkQJQI5ETECC1olPz1dJT8yAiUvJV0mPD4FMgI5XCUSAwEOOVVVFBwaHQ0UW1hYFhYWFgdZB1lZWRQLHQ=="
# {"u":"d480e430-7706-11ee-83e6-1fae177f0183","v":"c60194cc-76f9-11ee-a217-d27f573e9749","t":620233880007,"h":"0bd276463af6e176ea3af90b6c379440b341db841242b761e91fc0c955ff4839"}
# {"u":"79a58cb9-7040-1031-936e-b82734280cdd","v":"c0248383-7706-11ee-944a-012d3c57827c","t":1698658438539,"h":"a3099b233bfc0bbcce0a98bbfbcd5a5d14ea875858afb1b9f5c62478cdb29269"}
# a2 = "WVkHBwdZFDcYEFoUW1tYFA0RIlkhAgcBMT89EiUFIRExEikcJhIyBSYrWBAlPz4EJDwAAiUsLRwmPyIBJT8xHyUsLVgxAgwDIQEfAQwBIV4hBS4EMQI5XSYsDxIkPAtaMgI5HCU8LgQyO1hcMTwiBSQ8PVwxAg8SMgU6AyY8DxIyKyEbIQY5AScCMRElLCESJRIPXCUsKR8mER8BCSshXiECMVomPzIAJgI5ESUvOgIlWjFbMT8lWCU/JRInPyERJz8lECU8MgUxEiYAJzwpETE8IV0nPCkfJgI9Eic8KREmPzIFJS8mAyY8BAMmAioEJiw5XTI/LQEOOVVVFBwaHQ0UW1hYFhYWFgdZB1lZWRQLHQ=="
a2 = "UisrKytSUlIePRIaBgceUVFSHlQDU1BVAVcGWgQEAABaUFABWgABVlJbWlNaBgdXW1BUBgMDA1VRUgBRV1BTUwZbUFFWUwRaV1YBBFsAWlUBVgFYBxsoUgM1Uw4BUTAKADojCy0IJ1AtNi8bLTYFFSwIOxovGDhbHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBwrKysrK1IePRIaUB5RUVIeBxsoUysIDQstNStSLCYsCi8mARYsJjtSLAtSGi81NA4uNStWLSYBFiwlO1IsGAFXLCYnUy82OxgrCxULBgsrVCsPKxU4CCNWLBgzUS42M1AsJjsWLzYkDjgxUwovCAoOLjYzGC8mN1YsJTAILzYnVywxKxErDDMLLQgnUC02LxstNgUYLAg7GiwmLxErDwULLQsrGi02NAssUCQIOwgoCSwIBRUsNiQOOwg3Ujs1JA84CCNSOw8sCi8lL1AvDycVLAg3UC8YLxgsUDsbLxgzFTgmOA8tJTgJOw8nVzsYIAksJTdQOCYFVisMUl8eFhAXBx5RUlIcHBwcUisrK1IrUlIeUhwcHBxSKytSK1IeEQENEAceUh4ACwwDEBs="
a2 = "UisrUitSHhEBDRAHHlIeAAsMAxAbHBwcHCsrKysrUh49EhpQHlFRUh4HGyhTKwgNCywYNxo4Ji8VLyU3FiwmO1IsG1IaLzU0Di41JxUsNTMWLDY7Ujg2NxosJjtQLTYzVisLFQsGCytUKwgFViwYKAsvNg4LLjYzUCwmARYvNiQOODFSVi0lO1YuNiMaOCYBUiw1MAssGCdWLzErESsMMwstCCdQLTYvGy02BVAsCAVSLyYnESsPBQstCytTL1AnGi8IJ1YsJS8bLzUwDywPK1YvGCtWLzYKCC0mO1AsNTQPOCYvUjsIIA8sUDdXOw8oDi9QMxg7NjtXLSU7FS81LAssJTALLDU3FSwPMA4sGDQOKwxSXx4WEBcHHlFSUhwcHBxSKysrK1JSUh49EhoGBx5RUVIeAwdQVlZVA1dTVVpWU1YHUVQHWwcDAFRVVVJRUFRQVVBRUQFbWgBWAVAAAVBRV1VWA1pWAwdXBgQHWlBSAVsBUlgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgUYLAgFGC02MFseFhAXBx5RUlIcHBwcUlIrUitSHgEXHBwcHFIrKytSK1JSHlI="
a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLBg3GjgmLxUvJTcWLCY7UiwbUhovNTQOLjUnFSw1MxYsNjtSODY3GiwmO1AtNjNWKwsVCwYLK1QrCAVWLBgoCy82DgsuNjNQLCYBFi82JA44MVJWLSU7Vi42Ixo4JgFSLDUwCywYJ1YvMSsRKwwzCy0IJ1AtNi8bLTYFUCwIO1AtJiMRKw8FCy0LKAs4JjALOzYjVy8IOxU7NjQPLCYzUTglOxg7UDtXLCYoDzgIMxg4NiNTLBgBUDs2N1AsNSsaLFAsCS01JA4sCCNQOwgFViwYBVIsJigOLA8vGjsYN1crDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBxSKysrK1JSUh49EhoGBx5RUVIeA1NQVgBaAFdXV1pXAFFWV1RRA1pTV1VQWwAAAFFWVAMDA1IHU1EHU1ZVBlQHU1oGWgBXA1VWAwZWBFFVBgZTAVgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgUYLAg7UC0mIFseFhAXBx5RUlIcHBwcUisrUitSHhEBDRAHHlIeAAsMAxAb"
a2 = "UisrUitSHhEBDRAHHlIeAAsMAxAbHBwcHCsrKysrUh49EhpQHlFRUh4HGyhTKwgNCzsINA8sJjsYLA87FiwmO1IsG1IaLzU0Di41J1MsJSsWLBgjUiwYM1csJglSOwgBGysLFQsGCytUKw8zFS01M1ctNjNTLjYzUCwmARYvNiQOODFTCiw2MAsuNjMYLyYGCi9QJxg4NScaOCErESsMMwstCDcYLzYzUiwIMxUvIRULAyErVCsICg4tJiQPLwgnGi8lJxosJg4POxg3FTg2MA4tNTtTLAg3Vzg1Oxo7UDAJOCYzVzsYOA4vGCtRO1AnGDgIN1MsJicYLTUnGDsPM1IvGDgPO1A7Gi8YAQsEM19fHhYQFwceUVJSHBwcHFIrK1IrUh4RAQ0QBx5SHgALDAMQGxwcHBxSKysrK1JSUh49EhoGBx5RUVIeUVRRU1JRBlEAVFJUA1pQV1QEB1VXBgFXVAcHUQQHVVVUBFFRV1paV1VSAVYHVgRUAVdXAAFQAFoAWgdbUFEGBlgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgVTLBg3ViwIMFseFhAXBx5RUlIcHBwcUisrK1IrUlIeUhwcHBxSUitSK1IeARc="
a2 = "UlIrUitSHgEXHBwcHFIrKytSK1JSHlIcHBwcKysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLDUnUC02O1E4Ni8WLCYBFSwxUhovNTQOLjYOCDtQKxYsGAFSOxg3UywICVEsJjdTKwsVCwYLK1QrCDQKLAgJUDs1N1cuNjNRLyY3Fi82JA44MVJXO1AsCy42BVYvGDcbLwgvUi82Ixs7MSsRKwwzCy0IJ1AtNi8YLSYjGC8IK1IsNicRKw8FCy0LKAkvGAoILDUwDzgmCg47UDgPLSYgCSw1NAk4NTgLLBg4Cjs1K1AsNglWOxgKDzsIIAo4CCMYLDUoCDsPJxgsJisaLCYvUSw2J1MtJTdXOw8vUy82JA8rDFJfHhYQFwceUVJS"
a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LOzYrFS8YAVA4NiMWLBgvFS0xUhovNTQOLjUnVzgmIxYsDzAJLzYJVi0mOAk4NScVKwsVCwYLK1QrCC9SLyUkCjs2BVcuNgEYLyYzFi82JA44MVJXLBggCS41NAktJgUbODUzUDs2O1IvMSsRKwwzCy0IJ1AtNgUbLzYJVy8mMxUtJjsRKw8FCy0LKxosUDgKLwgvGy8lM1MsUDAIOzYoCzsICggvGCgJLyYrUS8YAVYtNTNROzYvGywYBggvNScYOCYKCC82AVAsNgFTOzYgCy82N1Y7UDdXLBgnVjs1JAorDFJfHhYQFwceUVJSHBwcHFIrKytSK1JSHlIcHBwcUisrUitSHhEBDRAHHlIeAAsMAxAbHBwcHFIrKysrUlJSHj0SGgYHHlFRUh5aWlFSWwBQVFFRVFZWVwQDUlRXVQEBAAQBUFEDVwdXWlpbUFZSVlRQV1dVVFAEWgFUAFBVUQBaUwAAAwEAAVZaWAcbKFIDNVMOAVEwCgA6IwstCCdQLTYFGy82CVAvJjMVLBgOWx4WEBcHHlFSUhwcHBxSKytSK1IeEQENEAceUx4ACwwDEBscHBwcUlIrUitSHgEX"
a2 = "UisrK1IrUlIeT1McHBwcKysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLBgGCjs1N1MvGCcWLBgjUi8hUhovJi8aLjUnUi9QNxY4NgUbOCYGCjsPNAosNSsYKwsVCwYLK1QrCCcaOAg3Giw1J1YuNgEYLzYBFi82JA44MVMKLyYkCS41MxU7NglTOxgJVi8IN1M4ISsRKwwzCy0IJ1AtNgUbLwg3VywYL1IsGAERKw8FCy0LKxgtJSsYOCYrGi8IJAsvDysVLSYOCywmJxUvGDtWLSUnVyw2CRUvJiQJLzYvGywlO1M4JiALLTYoCC8PL1YsJgYOOxg4CiwYBRUsNScYLCY4DywmBRUrDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFw=="
a2 = "UlIrUitSHgEXHBwcHFIrKytSK1JSHlIcHBwcKysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLA87USwPOA4vGCMWLBgvGi0xUhovNTQOLjYJGzgIJxYvCAlRLwg3US8ILxg4CAVSKwsVCwYLK1QrCAVWOCYFGyw2OxUuNgEYLyUzFi82JA44MVMLLDYzUS42J1IsDy8YLyYOCzglLAovCysRKwwzCy0IJ1AtNgUbLwg7UC02K1csCAURKw8FCy0LKxo4JSQKLw8oCDsIOA4sGAoOOCYnViwIL1MvNjdQLzUkDy82I1E7CC9TLzY4CzgIBVA7DyQOODYrUjg2L1AsCDdRLTU0CiwYAVAsNjQLL1AwCztQN1crDFJfHhYQFwceUVJS"
a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLyYKCC8mKAksJiMWLBgzVywbUhovNTQOLjYOCjglLxYsGCdTLyYrVy8PO1YtNS8bKwsVCwYLK1QrCCcaOAg3Giw1J1YuNgEYLzYBFi82JA44MVMKLyYkCS41MxU7NglTOxgJVi8IN1M4ISsRKwwzCy0IOxsvJisYLxgFVi8mIxUsGxULAyErVCsII1MvGDsaLBgJGiwmL1EvGDQILSYBGzg2M1I7NidROCYJFTg1O1IvJjNTLSYgDy82NxUtJjtXLzU7Uy02LAsvDy9XLyUkCDgmCRU7GAUVLBgnFTgmIwsEM19fHhYQFwceUVJSHBwcHFJSK1IrUh4BFw=="
a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLyYKCC8mKAksJiMWLBgzVywbUhovNTQOLjYOCjglLxYsGCdTLyYrVy8PO1YtNS8bKwsVCwYLK1QrCCcaOAg3Giw1J1YuNgEYLzYBFi82JA44MVMKLyYkCS41MxU7NglTOxgJVi8IN1M4ISsRKwwzCy0IJ1AtNgUYLTYjUSwmNxUvCAURKw8FCy0LK1Y7CCMaLCYBGCwII1M7NjsVLFAwCTs2IxgvJTsaLwgFVjs2LA4sNg4OOw8oDzsYAVcvJjMVLSYrUiwmIAgvCAYLLw87Vzs2JxotJjNSO1AvVzgPKAkrDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFw=="
a2 = "UisrK1IrUlIeUhwcHBxSKysrK1JSUh49EhoGBx5RUVIeWlEHWwcBVwQEVltWBFcGWwRbA1ABWwFaWgNbUAQEVFRUW1paW1cGUlAHAVABWloAAQdVWgRaBlFQUgFaV1RTVFgHGyhSAzVTDgFRMAoAOiMLLQgnUC02BVMtNidSLyY3Vi8mDlseFhAXBx5RUlIcHBwcKysrKytSHj0SGlEeUVFSHgQAB1NbUgcEAFdWBgQEAFIAUlNRW1QHWgEBWgEEVVEHA1tTBlRQV1VaAVRUV1BaVgZXB1MEU1YAVgBWVAQEUgZYTQ0FKAQNADoYKgtTNg4BDAwKLTdSMUlaDCc1MA43BVQDJSsRFhMaDTInNBdTKiQgLFRRIDMUWzQPEk0DVAhNJ00KTSU6D1YtDAUBFwAuARcbDVoSDwVfX1hTUlJSWColWlRQAzcVFSYKEC8IAA4TMlE2LTgzKxEjLzs7JQEkISQaURcEWlENDhUXSRUQLhsHFhQlBQYKMhUrCQ0pNjUaCRA3IDUmFwYrOxsNCg0TACcKEig2VFIuVhhJGhEwITsjDlBWEDJaSRQrNgcSVSNbFTIMAU0YIAsaODNXLlclFDQJDRAqWhc2Ji40DQMyEyMmBhcUMzQNKQEhVhYXIA8DE1cbOhExFwsTEBsVUzgTMTMUFjI7V1tVVFI6MCohKhYsI0lNLSpUEigUOlpVNi0SOgQwUxQ2Wy82ICQxFgUpIUkhKgEhJklQBQlfHhYQFwceUVJSHBwcHFJSK1IrUh4BFw=="
# a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLzYrUzs1Jxs7GCcWLBgjUi8hUhovJi8aLjYOCSwlJxYvJTcYLA8rFSwmIxU4JjcVKwsVCwYLK1QrDytTOxg7Uy0mK1cuNgEYLyY7Fi82JA44MVMLLDUoCC41O1AvJTgPLTYsCC8mMAkvGysRKwwzCy0IJ1AtNgUbLzYJViwmN1AsNjsRKw8FCy0LKA84JitQODUoDzsILxUvCCdQLDYBFTs2Dgo7GAEVLSU3Gi8YJ1MvUDNQLTUsCjs2JAssDycbLDUvFS0mAVcsCCQILDY7FS0mI1EvNjAILSU3Gi0lO1YrDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBxSKysrUitSUh5PUw"
# 0III0I00 判断是否通过
b2 = base64.b64decode(a2.encode())
for i in bytes(encrypt(b2, 98)).decode().split('~~~~'):
print('0III0I00' in i, i)
print(b2)
for i in bytes(encrypt(b2, 872 % 128)).decode().split('~~~~'):
print('o11o111o' in i, i)
'''
I00II0|1|14e8b370-46df-11ee-9636-9d314c873224|8721|1627b0d797dbd3f6b58b265bcbe1d06f1982137a1c5b07061977272fce900d5f87bbf14528372ba6de2e9a2adb2e6667be0a672b1cfd53ff0d1cbee2d0700f5e_<<=:|0|NA
IIIII0|_px2|330|eyJ1IjoiYjIyYWI2MTEtNmM1OC0xMDMxLTlhNDAtZjU0MDBjNjdkNjMwIiwidiI6ImY0NmNhZmE1LTQ2ZGUtMTFlZS05MWM0LTRiYWRkZmE1YjNlMyIsInQiOjE2OTMzNjM3NDM3NTEsImgiOiJjMmY1ZjQ5Y2JhNjRhODBjN2I5ZWRlYzU3YjVlZDJkY2IxZjMzMDc1MTJhZTQ3NzIyYzlhY2VjZTQ0YjgyYmVkIn0=|true|300
I0I0I0|1|3f843d1f8022e5c954c8356388d1264949df69eccba81acf1447ff2ac806|606ac27aab15093b4bc5a307f293804843fc22ccd81c128cdce88448b7bc42c7|17|false
I00III|15041159139452913395
00I0I0|cu
IIII0I|ccc:300
IIIIII|cc|60|U2FtZVNpdGU9TGF4Ow==
0III00I0|14e5e081-46df-11ee-be3b-6b4862687642|true
IIIIII|rf|60|1
0III0II0|7500
0III0III|1693363443751
IIII00|cjnapsvd4thn7uq9lgm0
I0I0II|14e5dd68-46df-11ee-be3b-6b4862687642
IIIIII|fp|60|1
00III0|86809e0cf02a54019055668b6cd60d5f437718e85c33cbadb17c156f134514b5
cs 76873d4d057ac0dd8994181324b5ccae4e40db09ff250771ce27da0cded7c668
pc 6436453416678071
sid a6689d3e-76f1-11ee-86c3-f32ba2ba6487󠄱󠄶󠄹󠄸󠄶󠄴󠄹󠄰󠄷󠄴󠄶󠄳󠄳
vid a668952e-76f1-11ee-86c3-0367edfc9861
cts a668a00e-76f1-11ee-86c3-f32ba2ba6487
'''
import tls_client
session = tls_client.Session(client_identifier='chrome_112')
session.proxies = {
'http': 'http://127.0.0.1:7890',
'https': 'http://127.0.0.1:7890',
}
r = 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",
headers = {
"authority": "booking.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",
"sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"",
"sec-ch-ua": "\"Google Chrome\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "none",
"sec-fetch-site": "same-origin",
"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"
})
print(r.text)
\ No newline at end of file
"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"
}
cookies = {
"_pxhd": "22d212df719dee891560a19dd1fcf693763a5313e14dceaceeffeadd74c1ed9a:a668952e-76f1-11ee-86c3-0367edfc9861",
"ASP.NET_SessionId": "jeqduql3iyaomqpqad3blyfw",
"pxcts": "c601a88a-76f9-11ee-a217-123ca718c5c4",
"_pxvid": "c60194cc-76f9-11ee-a217-d27f573e9749",
"_gcl_au": "1.1.172898835.1698653064",
"_gid": "GA1.2.1894558624.1698653067",
"_pin_unauth": "dWlkPU1URXhNVFZsTWpBdE9ETTFOQzAwWVdJeExXRmhNVE10TXpobFpUVTRNR0pqTnpnMw",
"wisepops": "%7B%22csd%22%3A1%2C%22popups%22%3A%7B%7D%2C%22sub%22%3A0%2C%22ucrn%22%3A24%2C%22cid%22%3A%2278471%22%2C%22v%22%3A4%2C%22bandit%22%3A%7B%22recos%22%3A%7B%7D%7D%7D",
"_tt_enable_cookie": "1",
"_ttp": "_fzLoXXlmYl-CRlM2RC1A9KkABZ",
"_fbp": "fb.1.1698653068494.1798735043",
"_up": "1.2.744732504.1698653069",
"__RequestVerificationToken": "SiL39TrXCORrOWYMGAn1m9r_PJmUiaCgG2cBScexdb-e38HOXLlF5mufYteJfduU2GuMiP1lLsdu2s8E2DoMspPe5YlaeF2W0mUMzrXyxBslr1p1eWNnlR7IJSs9tJv1m-JWjQ2",
"dtCookie": "v_4_srv_-2D67_sn_C7GPTED5QRUELR1DT5M6B2TGBJC1TIGH",
"rxVisitor": "16986574689549LQJ2AUNM8FF9OIQ2DTEJ0CL31BEBTJC",
"ORA_FPC": "id=d20240f3-351a-458f-a5a2-3e2173f3b116",
"WTPERSIST": "sha_hash=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"_gat_UA-2678252-1": "1",
"wisepops_visits": "%5B%222023-10-30T09%3A22%3A07.664Z%22%2C%222023-10-30T09%3A21%3A52.139Z%22%2C%222023-10-30T08%3A04%3A24.343Z%22%5D",
"wisepops_session": "%7B%22arrivalOnSite%22%3A%222023-10-30T09%3A22%3A07.664Z%22%2C%22mtime%22%3A1698657728144%2C%22pageviews%22%3A1%2C%22popups%22%3A%7B%7D%2C%22bars%22%3A%7B%7D%2C%22sticky%22%3A%7B%7D%2C%22countdowns%22%3A%7B%7D%2C%22src%22%3Anull%2C%22utm%22%3A%7B%7D%2C%22testIp%22%3Anull%7D",
"_ga_XXXX": "GS1.1.1698657468.2.1.1698657741.0.0.0",
"_ga_P2WLKWBNNW": "GS1.1.1698657468.2.1.1698657741.31.0.0",
"_ga": "GA1.2.822368327.1698653065",
"_uetsid": "326c5540770511ee94eb6568dc6aa1cb",
"_uetvid": "326c6070770511eea482d557d68a6269",
"rxvt": "1698659544101|1698657468956",
"_px2": 'eyJ1IjoiNjRiM2YyNjktNzA0MC0xMDMxLTkwOGQtNWFhNDkxNmZkMDlhIiwidiI6ImVmMDBlNGRiLTc3MDUtMTFlZS1iZmNjLWZjNWIzYWViMGFjMiIsInQiOjE2OTg2NTgwODcxNDMsImgiOiIyM2Q2NTY5YzZjYTI0MmUwMWY2NDJjNWY1M2YyNDQ2YTcwMjM5MzU5OWNjM2RkMDkxZTk5MjA1ZWZhMmYxMzBlIn0=',
"dtPC": "-67$57741890_72h1vFCNWPCKTBACEANENRPBAFKIQDNFPFHUJ-0e0",
"dtSa": "true%7CC%7C-1%7C%2419Mon%2012%2F4%7C-%7C1698657744630%7C57741890_72%7Chttps%3A%2F%2Fbooking.flyfrontier.com%2FFlight%2FSelect%7C%7C%7C%7C"
}
url = "https://booking.flyfrontier.com/Flight/InternalSelect"
params = {
"s": "true",
"o1": "DEN",
"d1": "LAS",
"dd1": "2023-12-01",
"dd2": "0001-01-01",
"mon": "true",
"adt": "1"
}
response = session.get(url, headers=headers, cookies=cookies, params=params)
print(response.text)
print(response)
\ No newline at end of file
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