Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
L
lcc-reese84
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangmingming
lcc-reese84
Commits
9cc8f860
Commit
9cc8f860
authored
Dec 01, 2023
by
wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test
parent
defc73d8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
50 deletions
+51
-50
reese84_bypass.py
src/reese84_bypass.py
+39
-24
test.py
test.py
+10
-25
test_tmx.py
test_tmx.py
+2
-1
No files found.
src/reese84_bypass.py
View file @
9cc8f860
...
...
@@ -82,32 +82,47 @@ class Reese84ByPass(object):
def
_repare_js
(
self
):
self
.
_session
.
cookies
.
clear
()
t1
=
time
.
time
()
r1
=
self
.
_session
.
get
(
'https://makeabooking.flyscoot.com/rtaliuery-Doct-The-Then-throngling-Was-Son-Hes-I'
)
self
.
log
.
log
(
'REQU'
,
f
'jsURL: {"https://makeabooking.flyscoot.com/rtaliuery-Doct-The-Then-throngling-Was-Son-Hes-I"}'
)
self
.
log
.
log
(
'REQU'
,
f
'JSURL: code:{r1.status_code} cost:{(time.time() - t1):.3f}s'
)
cache_md5
=
md5
(
r1
.
text
)
if
self
.
_cache_md5
!=
cache_md5
:
self
.
_cache_md5
=
cache_md5
self
.
log
.
log
(
'VMJS'
,
f
'JS变化'
)
envCode
=
open
(
work_dir
+
'src/run.js'
,
'r'
)
.
read
()
with
open
(
work_dir
+
f
'src/vm_env_{self.thread_name}.js'
,
'w'
)
as
f
:
f
.
write
(
envCode
+
r1
.
text
)
a
,
filename
=
tempfile
.
mkstemp
()
t2
=
time
.
time
()
p
=
subprocess
.
Popen
([
'node'
,
f
'{work_dir}src/vm_env_{self.thread_name}.js'
,
filename
],
stdin
=
subprocess
.
PIPE
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
output
,
err
=
p
.
communicate
(
timeout
=
10
)
if
p
.
returncode
==
0
:
datas
=
output
.
decode
()
.
split
(
'
\n
'
)
else
:
raise
Exception
(
"执行 JS 超时"
)
self
.
log
.
log
(
'VMJS'
,
f
'执行JS: cost:{(time.time() - t2):.3f}s'
)
data
=
json
.
loads
(
open
(
filename
,
'r'
)
.
read
())
#
r1 = self._session.get(
#
'https://makeabooking.flyscoot.com/rtaliuery-Doct-The-Then-throngling-Was-Son-Hes-I')
#
self.log.log('REQU', f'jsURL: {"https://makeabooking.flyscoot.com/rtaliuery-Doct-The-Then-throngling-Was-Son-Hes-I"}')
#
self.log.log('REQU', f'JSURL: code:{r1.status_code} cost:{(time.time() - t1):.3f}s')
#
cache_md5 = md5(r1.text)
#
if self._cache_md5 != cache_md5:
#
self._cache_md5 = cache_md5
#
self.log.log('VMJS', f'JS变化')
#
envCode = open(work_dir + 'src/run.js', 'r').read()
#
with open(work_dir + f'src/vm_env_{self.thread_name}.js', 'w') as f:
#
f.write(envCode + r1.text)
#
#
a, filename = tempfile.mkstemp()
#
t2 = time.time()
#
p = subprocess.Popen(['node', f'{work_dir}src/vm_env_{self.thread_name}.js', filename], stdin=subprocess.PIPE,
#
stdout=subprocess.PIPE,
#
stderr=subprocess.PIPE)
#
output, err = p.communicate(timeout=10)
#
if p.returncode == 0:
#
datas = output.decode().split('\n')
#
else:
#
raise Exception("执行 JS 超时")
#
self.log.log('VMJS', f'执行JS: cost:{(time.time() - t2):.3f}s')
#
data = json.loads(open(filename, 'r').read())
# print(len(data['solution']['interrogation']['p']))
from
pynocaptcha
import
IncapsulaReese84Cracker
cracker
=
IncapsulaReese84Cracker
(
user_token
=
"05e33e08-2b53-492a-96ec-7cd5e312fa6d"
,
href
=
"https://makeabooking.flyscoot.com/rtaliuery-Doct-The-Then-throngling-Was-Son-Hes-I"
,
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"
,
debug
=
True
,
submit
=
True
,
# check_useful=False,
)
ret
=
cracker
.
crack
()
data
=
ret
t3
=
time
.
time
()
url
=
"https://makeabooking.flyscoot.com/rtaliuery-Doct-The-Then-throngling-Was-Son-Hes-I?d=makeabooking.flyscoot.com"
response
=
self
.
_session
.
post
(
url
,
headers
=
{
...
...
test.py
View file @
9cc8f860
...
...
@@ -26,30 +26,15 @@ session.proxies = {
# 'https': 'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:9000',
# }
# headers, cookies = \
headers
=
{
"Host"
:
"makeabooking.flyscoot.com"
,
"content-type"
:
"application/json"
,
"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"
,
"authority"
:
"makeabooking.flyscoot.com"
,
"cache-control"
:
"no-cache"
,
"pragma"
:
"no-cache"
,
"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-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"
}
cookies
=
{
"reese84"
:
"3:Si0Up4jkEM8fUeP91T1GQw==:ofLeQ/PsemSvgokV6nkqxuV5Z8hFIb4cIyBjMpuM9Q3s+D2dV02OZN76u4UYMJrgyUvYmgofdQmXNCMKcqJuBqkf4qzBFXIDGH0Iz5guYndg+5l20GH0aJkh4QtzwZtpPiOnyKJWjOZ6aN0RHIY2WVZenCJEPlBcILh8Z/JlwBFmGyQx1Wbi4HLUpXYaAU2hEqJp575+QGdeO6j+0o0ytSYWyUaxQQF/dRzqw0xO9gNmpMMiC0F+y8XuSKIYi7iNeRDlOawqZSYQ/56polcPz+sXDJX3bo0c0uIfP00GbaGOzGZ3YxKpDxvrWsU6mOdUN2Jc4+zQP78Uzw0tYVZxAgFiF1G3PC/dJ/GXOqvLnxd6u8WtP0EzN9pWYEu6MXbaYS2UNYPq9j8uFZegHsfRa6RuAjj4CgM4ho3Qd/dCoksEV79/Qc6/WI96Nmo56dgjIjYQcdrnET+WKb5LVrPtHw==:1Z+cYm5mj56uXonP1/bIPDpixbdTZEGjGNUTo/ilSd4="
,
"incap_ses_138_2444946"
:
"G/EtdmXm+xOa3k4gVUbqAYKYaWUAAAAAw9g/RVtiYKVh7YCEuPjgBA=="
,
"nlbi_2444946_2147483392"
:
"bIV6XlnXlHuGXnNBbmwDOgAAAAAUVoWrKQNbR12uLWe6DC/h"
,
"visid_incap_2444946"
:
"dCfsyHpnRGODIDByjrHguoKYaWUAAAAAQUIPAAAAAABEhkcJLPVjhQoVYLUOYfmg"
}
# ({'Host': 'makeabooking.flyscoot.com', 'accept-language': 'en-US,en;q=0.9', 'authority': 'makeabooking.flyscoot.com', 'cache-control': 'no-cache', 'pragma': 'no-cache', '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-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'}, {'visid_incap_2444946': 'BSqf8bocQXiPwEIFZdVWGaqkaWUAAAAAQUIPAAAAAAB2vvhNfmyPKy49qEYMa0Ri', 'nlbi_2444946_2147483392': 'TZwkZ1OdhmMnYHXMbmwDOgAAAABr9MCw98DVUmufxdAUnqcj', 'incap_ses_1046_2444946': 'FW2yIPtA3Dej7MBxfCSEDqqkaWUAAAAAtqo1AK7pCn9HhYbF8GtyMw==', 'nlbi_2444946': 'ai4VMZcijlfrD8+WbmwDOgAAAACyedacSTPF7RVxxMsvJ6AF', 'reese84': '3:Kkaf2dq6kZYrDGbhRotjrw==:cBlSSPrKIhbD0QxS/F6Hn8LdDLfbkQ2bEoSGpbroXBbpaImFKoVvWyEVi3wkDcVe/hp+MXBsr3SY9lACpcrg0a5YoYVgOVG55Bc2eKpnAlub4i6mMgrv0zkh5KWG9VFbEKPB42/erjaOmYIwuYb7J6WUBf0A96MQ6I3qsvvYcii/+1Ex2Pim9PA9g6Oj8O9CYUzAQnSCud5HmaGo2zXkZK/gBc2a+2XkRpMYO1zL1DJ5wm5nqjQL0YGbXpcKrXUbwvRGZ/6Wm+l9k5G2UUlU4cuhoeUpIoUZzccA9Q+0MDYcaiR0HuL0R1s4TvEby0AhkkazkzQLFiCz5cRLhhG0YCiO1knXyiGloIQm3C+sb/GCZeXfWXVSX8FDFS5XTwBic/2sqNwaIWiTA3+IRnIguFiS0UhqmiegyOJy0lY9971Kbt2ob4fq4cEbnkp2s1fKOXW1J+5qacpjYv//RNux3w==:7bsmhFEO5taZ/G0/vV7QyGD4Nw7o1adzpVrwxbh0vWI=', 'ASP.NET_SessionId': '4yosbuu2dhvagimx024cwfcw', '__RequestVerificationToken': 'oPWeafRQpbIAuat_6yaOYBrXTTtLmsLHmH7YE44Rf4A8Aah-ZPrPiPYDOjz7rE5dtI58-kN-Ug58MtIv7CakYEqLWnwUC0T2l2oDM2l0l0RyNwPhI1VHOjfbI7M_D5zow55yz-LJpylaAnj4qqjsrA2', 'SyKF4Lu6WkahTEFlA7FDKERTXLh48jE9bvb9aHeCggEiSi4kNMQ6AVTRguR3wzk': '638370190627342223', 'dotrez': '!99bP1pXleYxtvy6cSTMDvJJyoMoTwcfWxfyQcU6gBiRrWAKnOC6eIVgCDv0q6eRN/fyG4cnNxowET3Y='})
headers
=
{
"sec-ch-ua-mobile"
:
"?0"
,
"sec-fetch-site"
:
"none"
,
"upgrade-insecure-requests"
:
"1"
,
"Host"
:
"makeabooking.flyscoot.com"
,
"accept-language"
:
"en-US,en;q=0.9"
,
"sec-fetch-user"
:
"?1"
,
"sec-ch-ua"
:
"
\"
Google Chrome
\"
;v=
\"
117
\"
,
\"
Not;A=Brand
\"
;v=
\"
8
\"
,
\"
Chromium
\"
;v=
\"
117
\"
"
,
"sec-ch-ua-platform"
:
"
\"
macOS
\"
"
,
"sec-fetch-dest"
:
"document"
,
"authority"
:
"makeabooking.flyscoot.com"
,
"cache-control"
:
"no-cache"
,
"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"
:
"visid_incap_2444946=kM7jmWvDQXq4a6S7pvX+re2kaWUAAAAAQUIPAAAAAADNUdkeK6R1HSHVL3VC2aXN; nlbi_2444946_2147483392=3yX2O9PD1xDIChsnbmwDOgAAAADHvboadoOon4z6QR9tXquh; incap_ses_7225_2444946=LNpzS83xmVW4ZiiQKlxEZO6kaWUAAAAAvNFrM6Cn0dssoA2EdP1sgQ==; reese84=3:vJo/m6yUrbv0GXE9jiWGAw==:RzFAp65bfU/G/UX9FTYGIQPg+zgLXryBtQU6k4S/O3zUZhqdDAbI0Lj7vl6xiIKGIMPPyNaFNiIEJo18hFV4OKxnAu3enD3YXSKwyvZRQNx39y6Fl5ILxQHP1Gd9rE8CyVc9s831tvHEJyNrOt4+Vz1aXNeU86CyWp3xMQKs8t3RA48Ol9Wu+/pHW1pv5JEnwdR/6K9yLwRTbYW33U/ZOuV3blPdv+RgDIsJv0X580VMsMrQfbVCxYKkA7G1FgCbGXIHeaWWqPY1l+53wkqyX9DLOgNFC32DQQQZCRnda97KEClQgCKxdDVATxB/x3syeW8AvyByIEqp4Xt499DHkLnMy5vXq3z9PfG8IxKvPC9GQylodMovwXu4y6Gv4vvmpEPE28kcqkqhXFu0dq51Li3dtDZEt5i7jn8KdRzAw/qsUfnuo29MiqItoWMtAsCM8D1/2s4//6jOjE4aWgOknw==:bBea5wc+1uVzyab1t/VbY1qnXXN9i/2nUzxDXE2wqFw="
,
"pragma"
:
"no-cache"
,
"sec-fetch-mode"
:
"navigate"
}
url
=
"https://makeabooking.flyscoot.com/Book/Flight?culture=en-SG&type=oneway&dst1=SIN&ast1=ADL&dst2=ADL&ast2=SIN&dd=2023-12-15&rd=null&adt=1&chd=0&inf=0#"
url
=
"https://makeabooking.flyscoot.com/Book/Flight"
...
...
@@ -66,7 +51,7 @@ params = {
"chd"
:
"0"
,
"inf"
:
"0"
}
response
=
session
.
get
(
url
,
headers
=
headers
,
cookies
=
cookies
,
params
=
params
)
response
=
session
.
get
(
url
,
headers
=
headers
,
params
=
params
)
print
(
response
.
url
)
print
(
response
.
text
)
print
(
response
)
...
...
test_tmx.py
View file @
9cc8f860
...
...
@@ -58,7 +58,8 @@ def test():
print
(
response
.
status_code
)
h
=
PyQuery
(
response
.
text
)
print
(
h
.
find
(
'iframe[id="main-iframe"]'
)
.
attr
(
'src'
))
session
.
get
(
'https://makeabooking.flyscoot.com'
+
h
.
find
(
'iframe[id="main-iframe"]'
)
.
attr
(
'src'
),
headers
=
headers
)
r1
=
session
.
get
(
'https://makeabooking.flyscoot.com'
+
h
.
find
(
'iframe[id="main-iframe"]'
)
.
attr
(
'src'
),
headers
=
headers
)
print
(
r1
.
text
)
r2
=
session
.
get
(
url
,
headers
=
headers
)
print
(
r2
.
text
)
return_header
(
header
[
'data'
])
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment