Commit 0b6ca83c authored by wangmingming's avatar wangmingming

Merge remote-tracking branch 'origin/f9' into f9

# Conflicts:
#	ast/decode2.js
#	ast/decodeResult.js
#	ast/decodeResult22.js
#	ast/main.js
#	ast/main_ok.js
#	ast/px3_V1.8.7_OK.js
#	ast/yuchuli.js
#	captcha.py
#	index.html
#	js/encodepayload.js
#	main.py
#	pc.js
#	step2.js
#	test.py
#	test_url.py
parents aaf44abc c8cfb704
...@@ -272,7 +272,7 @@ function i(n) { ...@@ -272,7 +272,7 @@ function i(n) {
u = o[n]; u = o[n];
} else { } else {
for (var c = a(n), u = "", f = 0; f < c["length"]; ++f) { for (var c = a(n), u = "", f = 0; f < c["length"]; ++f) {
var s = "bhDTSyS"["charCodeAt"](f % 7); var s = "UX7j1xE"["charCodeAt"](f % 7);
u += String["fromCharCode"](s ^ c["charCodeAt"](f)); u += String["fromCharCode"](s ^ c["charCodeAt"](f));
} }
o[n] = u; o[n] = u;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -3549,7 +3549,6 @@ try { ...@@ -3549,7 +3549,6 @@ try {
}) : r[u] = v, r; }) : r[u] = v, r;
} }
function pf(r) { function pf(r) {
// debugger;
var u = r.index, var u = r.index,
v = r.puzzleHelperVars, v = r.puzzleHelperVars,
n = r.targetHash, n = r.targetHash,
...@@ -3570,15 +3569,7 @@ try { ...@@ -3570,15 +3569,7 @@ try {
index: z, index: z,
puzzleHelperVars: v, puzzleHelperVars: v,
targetHash: n targetHash: n
})) })) && postMessage(t);
if (t){
debugger;
console.log(JSON.stringify({
index: z,
puzzleHelperVars: v,
targetHash: n
}), t),'hash==', postMessage(t)
};
} }
postMessage(false); postMessage(false);
} }
...@@ -3635,7 +3626,6 @@ try { ...@@ -3635,7 +3626,6 @@ try {
}(r, "application/javascript"), }(r, "application/javascript"),
w = new Worker(e); w = new Worker(e);
return w["onmessage"] = function (r) { return w["onmessage"] = function (r) {
console.log('onmessage', r)
return u(r); return u(r);
}, w["onerror"] = function (r) { }, w["onerror"] = function (r) {
var u = v; var u = v;
...@@ -3822,14 +3812,10 @@ try { ...@@ -3822,14 +3812,10 @@ try {
} }
return f < r && (z[z["length"] - 1]["end"] = r), z; return f < r && (z[z["length"] - 1]["end"] = r), z;
})(D, se = 1 === c ? 1 : c / 2)["forEach"](function (u) { })(D, se = 1 === c ? 1 : c / 2)["forEach"](function (u) {
var t = ue( var t = ue(function (r, u) {
function (r, u) {
var n = v; var n = v;
return u = u || [], "(" + r["toString"]() + ").apply(null, " + JSON["stringify"](u) + ")"; return u = u || [], "(" + r["toString"]() + ").apply(null, " + JSON["stringify"](u) + ")";
}(Sf, [u["start"], u["end"], i, r]) }(Sf, [u["start"], u["end"], i, r])["replace"](pf["name"], pf["toString"]())["replace"](kf["name"], function (r) {
["replace"](pf["name"], pf["toString"]())["replace"](kf["name"], function (r) {
var u = "0123456789abcdef".split(""), var u = "0123456789abcdef".split(""),
v = [-2147483648, 8388608, 32768, 128], v = [-2147483648, 8388608, 32768, 128],
n = [24, 16, 8, 0], n = [24, 16, 8, 0],
......
const fs = require('fs'); const fs = require('fs');
const types = require("@babel/types"); const types = require("@babel/types");
const parser = require("@babel/parser"); const parser = require("@babel/parser");
const template = require("@babel/template").default; const template = require("@babel/template").default;
...@@ -8,6 +8,7 @@ const generator = require("@babel/generator").default; ...@@ -8,6 +8,7 @@ const generator = require("@babel/generator").default;
//js混淆代码读取 //js混淆代码读取
process.argv.length > 2 ? encodeFile = process.argv[2] : encodeFile = "./main.js"; //默认的js文件 process.argv.length > 2 ? encodeFile = process.argv[2] : encodeFile = "./main.js"; //默认的js文件
process.argv.length > 2 ? encodeFile = process.argv[2] : encodeFile = "./decodeResult22.js"; //默认的js文件
process.argv.length > 3 ? decodeFile = process.argv[3] : decodeFile = encodeFile.replace(".js", "") + "_ok.js"; process.argv.length > 3 ? decodeFile = process.argv[3] : decodeFile = encodeFile.replace(".js", "") + "_ok.js";
//将源代码解析为AST //将源代码解析为AST
......
This diff is collapsed.
This diff is collapsed.
<htmllang="en"> <head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="px-captcha">
<title>Access to this page has been denied</title>
</head>
<body>
<script>
window._pxAppId='PXkp4CLSb5';
window._pxJsClientSrc='/kp4CLSb5/init.js';
window._pxFirstPartyEnabled=true;
window._pxCustomLogo='https://content.spirit.com/a/1679';
window._pxVid='';
window._pxUuid='e60a6da5-82d9-11ee-b328-fb725799391b';
window._pxHostUrl='/kp4CLSb5/xhr';
window._pxBlockScript='/kp4CLSb5/captcha/kp4CLSb5/captcha.js?a=c&u=e60a6da5-82d9-11ee-b328-fb725799391b&v=&m=0';
window._pxAltBlockScript='https://captcha.px-cloud.net/PXkp4CLSb5/captcha.js?a=c&u=e60a6da5-82d9-11ee-b328-fb725799391b&v=&m=0';
</script>
<script src="https://www.spirit.com/pxns/c.js"></script>
</body>
</html>
No preview for this file type
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
import random
import requests
import tls_client
session = tls_client.Session(client_identifier='chrome_117')
import json
h = {"authority": "www.spirit.com", "x-dtpc": "8$216560782_634h19vKIAKIMFGTUTKRWPPLDKCSORJAIECKGLH-0e0", "accept": "application/json, text/plain, */*", "cache-control": "no-cache", "content-type": "application/json", "origin": "https://www.spirit.com", "sec-ch-ua-mobile": "?0", "sec-fetch-dest": "empty", "sec-fetch-site": "same-origin", "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkb3RSZXpXZWIiLCJqdGkiOiI1ZDVjMzMwYi0zY2Y5LTk2OGYtYzczMC00YWQzMjQxOGQwNWEiLCJpc3MiOiJkb3RSRVogQVBJIn0.HpPtd8CGO_q68CzE9ZWoWE90DBHijl-oNij-LyWlo4I", "cookie": "userCountryLocation=AR; userGeolocation=-60.05, -26.93; _pxhd=15b0ff658780101e092b98c6aceae11673b227ca11674ff492f70664c1ec63bf:d393e8ff-839b-11ee-a10d-8a5d926cbf1e; _abck=59FF424FECF1548CE4CA3273E2AC3F7F~-1~YAAQJGdNaLYSprOLAQAAUVZg0gq/wtHFjxoACRuTBoFMhvKmaDaRKxymtaN/B0mS6LPXzXzqK3iEzb+eyrCqEkr2JBjBbJptIBRuSN7x9OPpj0LSPlAKCSUuSZp0nYODhXImF5dBYkZfU865128iwvkS+AFD+FmiiXI256Kg4bJUhUcrwcbRqdNnhZHBZyTfnJ8eX/K10NuT2yVPcKudgCbqLXG+xR5RR6s7UIC5X7cy09KtGd7yjuRQIZBwqu1YgOmHNwoRLwtuMydvj1mOrTqZIHthyvf4O2jOSMyUBx+870DuPb5bRR/wW3WfqtXPuRU26CpuqXNuZD65RjBdIy42Yq6qbNFDKcrWJCdwa4rZnsC10A3Lfxg7IoE/QreMPJ1+D5426IaN13A1DJJRvXwChwDDDwiYJw==~0~-1~1700045170; ak_bmsc=16F872B284D7D742D9B440904D6EA8A4~000000000000000000000000000000~YAAQXv4ZuFAAG66LAQAAvtpf0hU2r0zOeWQG5RyW0r/pzvM4bnWCM8hssZ5GqvIio/0B7JLo1SP23y0gDrS+6pYwQx8jKwbMA85JsRz2+mDO3wbMDo0W5Efcy2HAhYyUrdgaVs9dfTJ3nknuc/3ncQ1J1gKKYCVPS+bIc/ycddble1Qaazt+W3gmQvoUP2doOdGvB2k96pk6ckz++AeCFdYksw8VifpCxZcKpqu4QH3Rr/8t6E+OCOJFHi5YniuAkTRQiywd/CUMRMfDRGrp3mAgPBNPR8GKEnmRkrC3D4w4fASAA/BwTBzVEcJ3WZQDTgtW3XvOUCjwj+9B+s//Kv0HwZaW6jphGkzLR3zobtkfaWuXBOWF3KdeqWYoJByhztwsn6qwtmqRJ7ZrB5uY8ElEUDmIGDEXJgWOd5A6N8+h; bm_sz=41D6A48AB3A675E3129F11F8629811A1~YAAQXv4ZuFIAG66LAQAAv9pf0hUt8DdIKXHR/qb2oB4CYFt3B7Cf5UygYX/z1yirMll3l8nyheKWMaQHSMZGtLN5mmkFPtCl16BB3WoQjaGmxkZxZ/VW9xZ4FPRL9BRu1IYCQoqFuaM1UpoDuuhOwpEVAu1MiWpypNEEVG9Dwn6OIlIs2rBGR6Nd4ky+QjB6gZG4Zy0xICm76xV/kdbGXAPJL3J19+/zwSkRX6vm2Qb9jS9edWNuo2TV3qn7WPNObNFrsKPamGfI9WsQ6CyY8faXjKiP3l/cyl3EDnQIa2RNbK4=~3551800~3617861; bm_mi=64A697FE32B0A492C0FB99C37CEF7C15~YAAQXv4ZuOEAG66LAQAAfCJg0hVmmg3DZLj/sgYb7PfTXLRMbqCBYyaNpcWuG+jiOnmUHcCGo7KuvcBHv0gspebyECw5g45XgA93Zbf3RqG1KM2duItD3BAxIt0uips+6TkKIKT5ocejTu8BwAHk596WrKDUfA8sWIUjBhdgdiK/7NhmPhhqHTfliDC9/3Iec0pxzDCBlpJqQxpyBGASJcVO2bDQvpUesHkfCBDo983wkvMDopzE9fYOPTG4GuiL2F7zg9hpeG5G1bb08bc/R9bdOHmKdaEBe4pGhyzmq4TeDQAc2IcYlFG9wWC7OFJBp1Z0+Nt3~1; bm_sv=7441A40BE0D728C8E6CF542453E15853~YAAQXv4ZuCIBG66LAQAA1EJg0hU+T+fSZWalU5WEg8eI7jsbaeHmkUuu+rBtUZ6Swo09x+IkRJD9fiTH6jkQAmWcZiwHIPu3UNWzXmdcAKRLnzHAUHaAB8/zGeRfG7eLeIN10VpaHSHMYQg30ycMV9vkC7oTjGnNfeBxk17d+Qw2vb0i6llEtuVUnKYOlsiznYyjfW2wYSWL2KyWiEsiS/ygNTiVnEuOXISwJDbO0OaZ0u4gM8WfxWrj7B/Tt87r~1; _pxde=565ab764e281018491e165254b15ec4fa4b0dfe3fe89b301a514b42fbcfbce0e:eyJ0aW1lc3RhbXAiOjE3MDAwNDE2MDc0MDB9; _pxvid=d393e8ff-839b-11ee-a10d-8a5d926cbf1e; pxcts=e3e68da1-839b-11ee-948d-0a2043fa075e; _px2=eyJ1IjoiZjFjZDM2MDctM2NkMi00ZGRkLTg1MTQtOGMwZjNjYWYxYzFmIiwidiI6ImQzOTNlOGZmLTgzOWItMTFlZS1hMTBkLThhNWQ5MjZjYmYxZSIsInQiOjE3MDAwNDE5MDczOTksImgiOiJjOWYzOGM4M2U4Nzk0NzI1ZTBkOTkwMzBmYmUxMDg0ODkyOGUwNTQ1MTdhOWRjM2FjOTNhMDcxMjJhNGNkZDIyIn0=", "sec-ch-ua": "\"Google Chrome\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"", "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", "accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6", "ocp-apim-subscription-key": "dc6844776fe84b1c8b68affe7deb7916", "pragma": "no-cache", "referer": "https://www.spirit.com/", "sec-ch-ua-platform": "\"macOS\"", "sec-fetch-mode": "cors"}
url = "https://www.spirit.com/api/prod-availability/api/availability/search"
data = {
"includeWifiAvailability": True,
"criteria": [
{
"stations": {
"originStationCodes": [
"SJC"
],
"destinationStationCodes": [
"BNA"
],
"searchDestinationMacs": False,
"searchOriginMacs": False
},
"dates": {
"beginDate": "2023-11-17",
"endDate": "2023-11-17"
},
"filters": {
"filter": "Default"
}
}
],
"passengers": {
"types": [
{
"type": "ADT",
"count": 1
}
]
},
"codes": {
"currency": "USD"
},
"fareFilters": {
"loyalty": "MonetaryOnly",
"types": [],
"classControl": 1
},
"taxesAndFees": "TaxesAndFees",
"originalJourneyKeys": [],
"originalBookingRecordLocator": None,
"infantCount": 0,
"birthDates": []
}
data = json.dumps(data, separators=(',', ':'))
prox = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
prox = 'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:10395'
prox = 'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:10855'
prox = 'http://user-uni001-region-us-sessid-1058-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
response = requests.post('http://52.52.23.116/tls/forward',
json=dict(url=url,method="POST", data=data, proxy=prox, headers=h, debug=True)
)
# response = session.post(url, headers=h, data=data, proxy={
# # 'http':'http://127.0.0.1:7890',
# # 'https':'http://127.0.0.1:7890',
# 'http': prox,
# 'https':prox,
# })
print(response.text)
print(response)
import requests import random
import tls_client import tls_client
session = tls_client.Session(client_identifier='chrome_117') session = tls_client.Session(client_identifier='chrome_112')
session.proxies = {
'http': 'http://127.0.0.1:7890',
'https': 'http://127.0.0.1:7890', prox = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
} cks = '_pxvid=8a03a16b-8521-11ee-a3bf-ecacdfb43743; pxcts=8a03b045-8521-11ee-a3bf-e922253e740e; _px2=eyJ1IjoiOTg0ZjIzYjItYmMyOC00MmZjLTgyODAtYzE2YTY3ODdkYWJlIiwidiI6IjhhMDNhMTZiLTg1MjEtMTFlZS1hM2JmLWVjYWNkZmI0Mzc0MyIsInQiOjYyMDIzMzg4MDAwNCwiaCI6IjVlZmNkMjRjMjA1NDNlZjMxMTEzODhiZWFjNjcwNDhjNTM4ZWVjYTQxMTg4YzNhYTFlNDhkNDRjYWUxZGYyNzkifQ=='
prox = 'http://user-uni001-region-us-sessid-1111-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
prox = 'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:9000'
# prox = 'http://127.0.0.1:7890' url = 'https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-11-30&ADT=1&umnr=false&mon=true'
session.proxies = { response = session.post('http://52.52.23.116/tls/forward',
'http': prox, json=dict(url=url, headers={
'https': prox,
}
# session.proxies = {
# 'http': "http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:11400",
# 'https': "http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:11400",
# }
headers = {
"authority": "booking.flyfrontier.com", "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": "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", "accept-language": "en-US,en;q=0.9",
"cache-control": "no-cache", "cache-control": "no-cache",
"pragma": "no-cache", "pragma": "no-cache",
"sec-ch-ua": "\"Google Chrome\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"", "sec-ch-ua": "\"Google Chrome\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"",
...@@ -29,49 +23,14 @@ headers = { ...@@ -29,49 +23,14 @@ headers = {
"sec-ch-ua-platform": "\"macOS\"", "sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "document", "sec-fetch-dest": "document",
"sec-fetch-mode": "navigate", "sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin", "sec-fetch-site": "none",
"sec-fetch-user": "?1", "sec-fetch-user": "?1",
"upgrade-insecure-requests": "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" "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",
} "cookie": cks
}, method="GET", proxy=prox, debug=True
headers['cookie'] = '__RequestVerificationToken=Ojq1p9eTSWblC7ZnyRX6nlnf6e1lu5_7_5wqCdvIWuGfAzclsdRZjLxjG6zLhsr87tvksSGOVqrf8PAmVebX0iFOtMWHX3qkgLQHoD4lmP0SjMTz8mkgz0a9h5EGsVb4zVBZ8Q2; _pxhd=1973aceac036e1fbc45c49fbdb15b150db31b37e409c3f405c28f488a2374d02%3A8ca0ee3a-82d3-11ee-a6dd-c3ba265ec622; pxcts=8eae10ff-82d3-11ee-ac21-5e6cfda4af37; _pxvid=8ca0ee3a-82d3-11ee-a6dd-c3ba265ec622; _px2=eyJ1IjoiOGRmNGUwMTAtODJkMy0xMWVlLThiNTQtYjkxZjM2ODI5MzUwIiwidiI6IjhjYTBlZTNhLTgyZDMtMTFlZS1hNmRkLWMzYmEyNjVlYzYyMiIsInQiOjYyMDIzMzg4MDAwNCwiaCI6IjMwYzU4OTBlMDdmNjFkZmE5NTk3YWMzZmRkY2UzZjg1ZDg1NDQ0NTQzNzg3YTJkYzAyOTJjZDUwODYwOTc2N2UifQ%3D%3D'
# cks = {'_px2': 'eyJ1IjoiOTY0ODdjMzAtNzk4OC0xMWVlLTgxYTktMjUyZjY0MDdjMTYxIiwidiI6Ijk3NmYxYzBlLTc5ODgtMTFlZS1iODYwLTAyNTVmY2JmZTU2MCIsInQiOjYyMDIzMzg4MDAwNCwiaCI6ImViY2U4ZmQ2ZjA3ZGIxNTkxY2YzMmI0MTg3OTcwZWI5NGY5ZDZkN2I2YjY4NGUxZjJiMjE2MGZlZjQxYWI0MzQifQ==', '_pxvid': '976f1c0e-7988-11ee-b860-0255fcbfe560', 'pxcts': '976f338c-7988-11ee-b860-865043e6e7b4'}
# cks = {}
# cookies.update(
# # {'_pxhd': '728b2d129b5a075513034298f8e2d4ce004425c1f307bd2baa8e9525fa6bb510:4290832e-77db-11ee-bdfb-76e73743688f', '_pxvid': '4290832e-77db-11ee-bdfb-76e73743688f', '_px2': 'eyJ1IjoiYjllMjlkNjEtNzA0MC0xMDMxLTk3ZjUtMjVlOTU0YzUxNGU5IiwidiI6IjQyOTA4MzJlLTc3ZGItMTFlZS1iZGZiLTc2ZTczNzQzNjg4ZiIsInQiOjE2OTg3NDk3MTE3OTksImgiOiIwZmZiOTUwNjRhODJiNzg4Yjg5YzQ1NDMzZThhMWQ5ZjQwNTY3NzcxNjU5MGY5Mjc0ZGNmYWIxY2MwN2RhMzZhIn0=', 'pxcts': '43453788-77db-11ee-a37b-78e6fe245189'}
#
# )
url = "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-11-30&ADT=1&umnr=false&mon=true"
# , cookies=cks
response = requests.post('http://52.52.23.116/tls/forward', json=dict(url=url,headers=headers, method="GET", proxy=prox, debug=True
# ,allow_redirects=True # ,allow_redirects=True
)) ))
response = response.json()
# response = session.get(url, headers=headers, params=params print(response['status_code'])
# # , cookies= print(response['text'])
# # { \ No newline at end of file
# # '_pxhd': 'e33ffa239c65b81580fac5ff09060127bd0d0473a764327efb3b6fe47e696b6b:7750d29f-81d0-11ee-bcac-2b37f29a1872',
# # 'pxcts': '78fa88a4-81d0-11ee-9190-18bd99a3852f',
# # '_pxvid': '7750d29f-81d0-11ee-bcac-2b37f29a1872',
# # '_px2': 'eyJ1IjoiNzc3OGYzMjAtODFkMC0xMWVlLTkyMGItOGZjZTQ5ZmUwMzRhIiwidiI6Ijc3NTBkMjlmLTgxZDAtMTFlZS1iY2FjLTJiMzdmMjlhMTg3MiIsInQiOjYyMDIzMzg4MDAwNCwiaCI6IjkwMWYwZDNiMzU0ZjA0ZDMwZjQxNTVmODgxNjcyMjBjOWNjZDY0MTg4YzNiNDhmZDZiZWU1OWJkMjBkODM1MzYifQ=='}
#
# , allow_redirects=False)
print(response.text)
print(response.url)
print(response.json()['status_code'])
print(response.json()['text'])
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