Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
P
px3
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
px3
Commits
0a086961
Commit
0a086961
authored
Jan 07, 2024
by
wangmingming
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/f92' into f92
parents
2bf7c721
1338b4ca
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
178 additions
and
36 deletions
+178
-36
captcha.js
src/captcha.js
+33
-7
px.js
src/px.js
+141
-25
run.js
src/run.js
+3
-3
test.py
test.py
+1
-1
No files found.
src/captcha.js
View file @
0a086961
...
...
@@ -75,7 +75,7 @@ class PxBypass {
}
this
.
url
=
'https://booking.flyfrontier.com/Flight/
Select
'
;
this
.
url
=
'https://booking.flyfrontier.com/Flight/
InternalSelect?o1=DEN&d1=LAS&dd1=2023-12-30&ADT=1&umnr=false&mon=true
'
;
this
.
log
.
level
=
'debug'
this
.
uuid
=
''
;
...
...
@@ -427,7 +427,7 @@ class PxBypass {
// let data = genPayload2(this.url, this.sid, this.vid, this.ts, this.num1, this.num2,
// this.str1, this.uuid,
// this.startTs, this.startTs2, this.performanceNow, this.px12280)
this
.
pxenv
=
new
PxEnv
(
''
,
this
.
url
,
this
.
sid
,
this
.
vid
,
this
.
ts
,
this
.
num1
,
this
.
num2
,
this
.
pxenv
=
new
PxEnv
(
this
.
env
,
this
.
url
,
this
.
sid
,
this
.
vid
,
this
.
ts
,
this
.
num1
,
this
.
num2
,
this
.
str1
,
this
.
uuid
,
this
.
startTs
,
this
.
startTs2
,
this
.
performanceNow
,
this
.
px12280
,
this
.
ci
,
this
.
token
,
this
.
token2
,
this
.
hash
,
this
.
hash2
,
this
.
hashv
)
...
...
@@ -456,8 +456,8 @@ class PxBypass {
}
async
step4
()
{
this
.
performanceNow
=
parseInt
(
Date
.
now
()
-
this
.
startTs
)
//
this.performanceNow = randint(10000, 11000)
//
this.performanceNow = parseInt(Date.now() - this.startTs)
this
.
performanceNow
=
randint
(
10000
,
11000
)
this
.
px12280
=
Date
.
now
()
// let data = genPayload4(this.url, this.sid, this.vid, this.ts, this.num1, this.num2,
// this.str1, this.uuid,
...
...
@@ -465,7 +465,7 @@ class PxBypass {
this
.
pxenv
.
performanceNow
=
this
.
performanceNow
this
.
pxenv
.
performanceNow2
=
this
.
pxenv
.
performanceNow
;
this
.
log
.
info
(
'performanceNow'
,
this
.
pxenv
.
performanceNow
)
this
.
pxenv
=
new
PxEnv
(
''
,
this
.
url
,
this
.
sid
,
this
.
vid
,
this
.
ts
,
this
.
num1
,
this
.
num2
,
this
.
pxenv
=
new
PxEnv
(
this
.
env
,
this
.
url
,
this
.
sid
,
this
.
vid
,
this
.
ts
,
this
.
num1
,
this
.
num2
,
this
.
str1
,
this
.
uuid
,
this
.
startTs
,
this
.
startTs2
,
this
.
performanceNow
,
this
.
px12280
,
this
.
ci
,
this
.
token
,
this
.
token2
,
this
.
hash
,
this
.
hash2
,
this
.
hashv
)
...
...
@@ -557,6 +557,31 @@ class PxBypass {
this
.
uuid
=
reges
[
1
]
}
}
async
step5
()
{
this
.
performanceNow
=
randint
(
10000
,
11000
)
this
.
px12280
=
Date
.
now
()
// let data = genPayload4(this.url, this.sid, this.vid, this.ts, this.num1, this.num2,
// this.str1, this.uuid,
// this.startTs, this.startTs2, this.performanceNow, this.px12280)
this
.
pxenv
.
performanceNow
=
this
.
performanceNow
this
.
pxenv
.
performanceNow2
=
this
.
pxenv
.
performanceNow
;
this
.
log
.
info
(
'performanceNow'
,
this
.
pxenv
.
performanceNow
)
this
.
pxenv
=
new
PxEnv
(
this
.
env
,
this
.
url
,
this
.
sid
,
this
.
vid
,
this
.
ts
,
this
.
num1
,
this
.
num2
,
this
.
str1
,
this
.
uuid
,
this
.
startTs
,
this
.
startTs2
,
this
.
performanceNow
,
this
.
px12280
,
this
.
ci
,
this
.
token
,
this
.
token2
,
this
.
hash
,
this
.
hash2
,
this
.
hashv
)
this
.
pxenv
.
cap
=
true
let
data
=
[
this
.
pxenv
.
get_px12523
()
]
// let px11280 = Date.now();
// for (let i = 0; i < data.length; i++) {
// data[i].d['PX11280'] = px11280
// }
// await this.sleep(5000)
let
res
=
await
this
.
do_collector
(
data
)
}
}
async
function
run
()
{
...
...
@@ -566,10 +591,11 @@ async function run() {
await
px
.
step2
()
await
px
.
sleep
(
1500
)
await
px
.
step3
()
await
px
.
sleep
(
4
000
)
await
px
.
sleep
(
8
000
)
await
px
.
step4
()
// await px.sleep(1500)
await
px
.
step5
()
await
px
.
sleep
(
3000
)
if
(
!
px
.
result
)
{
await
px
.
step1
()
...
...
src/px.js
View file @
0a086961
...
...
@@ -4720,9 +4720,9 @@ export class PxEnv {
}
if
(
env
)
{
this
.
ENV
=
env
}
//
if (env) {
//
this.ENV = env
//
}
this
.
screen
=
this
.
ENV
.
screenparams
;
this
.
navigator
=
this
.
ENV
.
navigatorparams
;
...
...
@@ -5094,7 +5094,7 @@ export class PxEnv {
"PX12260"
:
this
.
navigator
.
useragent
,
"PX12249"
:
false
,
"PX11897"
:
"90e65465"
,
// 固定
"PX12597"
:
2
,
//
"PX12597": 2,
"PX11526"
:
false
,
...
...
@@ -5128,7 +5128,9 @@ export class PxEnv {
"PX12218"
:
"65d826e0"
,
"PX12481"
:
"a9269e00"
,
"PX11780"
:
"50a5ec55"
,
"PX12588"
:
"unknown"
,
"PX12588"
:
"webkit"
,
"
\
u0018nSxTq}"
:
1
,
"PX12551"
:
"https:"
,
"PX12553"
:
"Asia/Shanghai"
,
"PX12567"
:
"w3c"
,
...
...
@@ -5137,7 +5139,7 @@ export class PxEnv {
// "PX12577": "function query() { [native code] }",
"PX12594"
:
false
,
"PX12566"
:
false
,
"PX12571"
:
"
74d9c66
"
,
// allowedFeatures();
"PX12571"
:
"
263f213d
"
,
// allowedFeatures();
"PX12581"
:
"default"
,
"PX11303"
:
false
,
...
...
@@ -5184,7 +5186,6 @@ export class PxEnv {
"PX12408"
:
[],
"PX12477"
:
true
,
"PX11564"
:
0
,
})
}
...
...
@@ -5246,7 +5247,6 @@ export class PxEnv {
get_px11547
()
{
return
{
"t"
:
"PX11547"
,
"d"
:
{
// "PX11564": 0,
"PX12492"
:
"78f763eab3a2082c63c66cf47f9e05a0"
,
"PX12570"
:
"78f763eab3a2082c63c66cf47f9e05a0"
,
//canvasfp
"PX11352"
:
"e33f269aa1afe2b5d424247c9c75ddb7"
,
// webglVendor
...
...
@@ -5729,6 +5729,121 @@ export class PxEnv {
}
}
}
get_px12523
()
{
let
t
=
randint
(
1887
,
2200
);
let
touchX
=
parseFloat
((
randint
(
440
,
493
)
+
Math
.
random
()).
toFixed
(
2
))
let
touchScreenX
=
parseFloat
((
randint
(
2668
,
2695
)
+
Math
.
random
()).
toFixed
(
6
))
let
touchY
=
parseFloat
((
randint
(
280
,
300
)
+
Math
.
random
()).
toFixed
(
2
))
let
touchScreenY
=
parseFloat
((
randint
(
640
,
660
)
+
Math
.
random
()).
toFixed
(
6
))
let
downTime
=
randint
(
5000
,
5100
)
let
upTime
=
this
.
performanceNow
-
randint
(
1000
,
2000
)
downTime
=
upTime
-
randint
(
7800
,
8200
)
let
r
=
call_12590_12610
(
this
.
uuid
,
this
.
hash
,
this
.
hash2
,
this
.
hashv
)
let
px1132
=
r
[
0
]
let
px12590
=
r
[
1
]
let
px12610
=
r
[
2
]
console
.
log
(
'hashwasmRes'
,
r
);
let
PX11357
=
ie
(
this
.
token2
,
10
)
let
PX11360
=
randint
(
312
,
380
);
return
{
"t"
:
"PX12523"
,
"d"
:
{
"PX12040"
:
{
"PX11926"
:
[
{
"PX12343"
:
"mouseover"
,
"PX11652"
:
0
,
"PX11699"
:
t
,
"PX12270"
:
"true"
},
{
"PX12343"
:
"contextmenu"
,
"PX11652"
:
0
,
"PX11699"
:
t
,
"PX12270"
:
"true"
}
],
"PX11749"
:
[
{
"PX12343"
:
"touchcancel"
,
"PX11699"
:
randint
(
9485
,
9485
+
1000
),
"PX12270"
:
"true"
,
"PX11652"
:
0
,
"PX11425"
:
[]
}
],
"PX11698"
:
[
"254,496,4680"
]
},
"PX12160"
:
[
""
],
"PX11427"
:
randint
(
458
,
458
+
30
),
"PX12208"
:
0
,
"PX11824"
:
randint
(
410
,
450
),
"PX11631"
:
randint
(
51
,
66
),
"PX11843"
:
this
.
screen
.
width
,
"PX11781"
:
this
.
screen
.
height
,
"PX11906"
:
[
"getAttribute"
,
"className"
,
"nodeName"
,
"nodeName"
],
"PX11343"
:
[
"ontouchstart"
,
"ontouchmove"
],
"PX11945"
:
touchX
,
"PX12174"
:
touchY
,
"PX11882"
:
"pointerdown"
,
"PX11642"
:
touchScreenX
,
"PX11313"
:
touchScreenY
,
"PX11772"
:
downTime
,
"PX11529"
:
this
.
memory
().
usedJSHeapSize
,
// usedJSHeapSize
// "PX11529": 74208842,// usedJSHeapSize
"PX11555"
:
this
.
memory
().
jsHeapSizeLimit
,
// jsHeapSizeLimit
"PX11833"
:
this
.
memory
().
totalJSHeapSize
,
// totalJSHeapSize
// # 松开的
"PX12024"
:
touchX
,
"PX11759"
:
touchY
,
"PX11896"
:
"touchcancel"
,
"PX11633"
:
parseFloat
((
touchScreenX
+
Math
.
random
()).
toFixed
(
6
)),
"PX11445"
:
touchScreenY
,
"PX12417"
:
upTime
,
"PX12382"
:
[
parseInt
(
upTime
-
downTime
)
-
randint
(
3
,
10
)],
// todo
"PX11360"
:
PX11360
,
"PX11735"
:
true
,
"PX11874"
:
"en"
,
"PX12205"
:
this
.
token
,
"PX11357"
:
parseInt
(
PX11357
),
"PX11321"
:
randint
(
9650
,
9650
+
500
),
"PX11351"
:
false
,
"PX11919"
:
false
,
"PX11710"
:
false
,
"PX12407"
:
false
,
"PX12411"
:
this
.
window
.
innerheight
,
"PX11494"
:
this
.
window
.
innerwidth
,
"PX12265"
:
1
,
"PX11706"
:
"PX12374"
,
"PX12489"
:
"v1.9.8"
,
"PX12499"
:
false
,
"PX12500"
:
false
,
"PX12521"
:
true
,
"PX12522"
:
false
,
"PX12529"
:
true
,
"PX12616"
:
null
,
"PX12617"
:
null
,
"PX12538"
:
true
,
"PX12537"
:
5
,
"PX11454"
:
"visible"
,
"PX11902"
:
4
,
"PX11560"
:
this
.
performanceNow
,
"PX12280"
:
this
.
px11280
,
"PX11496"
:
this
.
uuid
,
"PX12564"
:
null
,
"PX12565"
:
-
1
,
// "PX11379": false,
// "PX12307": "PX11745",
// "PX11668": "pxhc",
// "PX12348": false,
// "PX11645": "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-12-30&ADT=1&umnr=false&mon=true"
}
}
}
}
...
...
@@ -5747,25 +5862,26 @@ if (import.meta.url === `file://${process.argv[1]}`) {
let
res
=
$C_kKK
(
atob
(
a2
),
878
%
128
).
split
(
'~~~~'
)
let
vid
,
sid
,
uuid
,
ts
,
num1
,
num2
,
str1
,
startTs
,
startTs2
,
token
,
ci
,
hash
,
hash2
,
hashv
,
cts
,
token2
,
px755
;
uuid
=
'
3ded95a0-a937-11ee-8e13-77090082c114
'
uuid
=
'
f8c4bb70-ab75-11ee-82e2-35baf7eebf0a
'
res
=
[
"o11o1o11|1704176522974"
,
"o1oo11|1|276e7abbd80dba9fbe42265bbbaa11b6a3c88a9962ca82615fdfa6107cced|1ad87eb8a84f105fc539e8380e3827b54ac19cb04d067a5e28a7d963acb0cd51|12|false"
,
"o1o111|cu"
,
"111oo1|rf|60|1"
,
"11o111|b3a7bb45c959fe6026a8e607d511a79e14c7f2e6c1872c15711cd4ba1380ffa8"
,
"11oo1o|1|3e5e7fe0-a937-11ee-b2c3-1f9c090b4d2c|2175|1e71b3b997fa839537f387419afbd7ac3ed992026e7dc1023cb2d536a01fd33db80770db690113f7572fce07dea964908c3586ad27570e65f4b43020dd3ba7f9_8:2<|0|NA"
,
"11ooo1|_px2|330|eyJ1IjoiZjhjNGJiNzAtYWI3NS0xMWVlLTgyZTItMzViYWY3ZWViZjBhIiwidiI6ImY4ZDA5NzU2LWFiNzUtMTFlZS04MzAwLTU3MGNmNDRhZTU4YyIsInQiOjE3MDQ0MjM2Njg4MjIsImgiOiI2MGVhMzdmMjZlMWJkNDMyNGZkNWE2MGFmYmEyZTI4OTBmYzQzMDY1NDMyOGJiNWRhZDY1ZWUwMDM0Y2YzYTJhIn0=|true|300"
,
"111oo1|cc|60|U2FtZVNpdGU9TGF4Ow=="
,
"o1oo11|1|ae3015841eb58d4ab91f18b4a3e07cbb8667c3dbcd1cf88db840b03a71891|d8479028db5ba834e176c45c6ff30dba49f3bc3cd0d98475e1a73af80da4e127|12|false"
,
"o11o11|3e59b1ef-a937-11ee-bd87-009e5a8938cd"
,
"o11o1o1o|3354"
,
"111o1o|74976468413301265627"
,
"o1o111|cu"
,
"o11oo11o|3e59b681-a937-11ee-bd87-009e5a8938cd|true"
,
"o1oo1o|3e59971c-a937-11ee-bd87-31af454163dc|31536000|true"
,
"o1oo1o|f8d09756-ab75-11ee-8300-570cf44ae58c|31536000|true"
,
"o11oo11o|f9f6211d-ab75-11ee-9a9d-5958fe3350fe|true"
,
"o11o11|f9f61da6-ab75-11ee-9a9d-5958fe3350fe"
,
"11oo1o|1|f9f5c160-ab75-11ee-ae5d-3946f9f7497c|9938|d888a548727328acf6b526d757c1cfd18e2f27662c0f68dcefa2f1258ba9ba3a8232190ce1a9e74dd502473b1919d19d6c1089b1caf52443fcdc7971a278f61a_?9?=|0|NA"
,
"1oooo1|cmbmvi6ranatl49v4470"
,
"11o111|78450921096a8e9e60347ecaf54ae2edd188fdc464b389bf31dab93b1c6d5ae4"
,
"o11o1o1o|5278"
,
"o11o1o11|1704423368822"
,
"111oo1|fp|60|1"
,
"1o1oo1|ccc:0"
,
"1oooo1|cm9qn2mhfqpdl4bfn480"
,
"111oo1|fp|60|1"
]
"111o1o|25839790450315782422"
]
console
.
log
(
res
)
res
.
forEach
(
e
=>
{
...
...
src/run.js
View file @
0a086961
...
...
@@ -38,8 +38,8 @@ class PxBypass {
prox
=
`http://user-uni001-region-us-sessid-
${
randint
(
1000
,
5000
)}
-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600`
// prox = `http://uni00001_custom_zone_US_sid_${randint(67336718, 67336728)}_time_5:q39CEBTs5A@us.foxyip.com:7778`
// prox = `http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:${randint(10000, 13500)}`
// prox = 'http://127.0.0.1:900
0'
//
tlsUrl = 'http://127.0.0.1:58000/tls/forward'
prox
=
'http://127.0.0.1:789
0'
tlsUrl
=
'http://127.0.0.1:58000/tls/forward'
constructor
()
{
this
.
log
=
log4js
.
getLogger
(
'px'
)
...
...
@@ -51,7 +51,7 @@ class PxBypass {
// selectId = 'd3e94c1cb84038031357a52f'
this
.
log
.
info
(
'select env'
,
selectId
)
this
.
env
=
env
[
selectId
]
this
.
ua
=
this
.
env
.
navigatorparams
.
useragent
//
this.ua = this.env.navigatorparams.useragent
this
.
log
.
info
(
'ua'
,
this
.
ua
)
...
...
test.py
View file @
0a086961
...
...
@@ -57,7 +57,7 @@ a2 = "UisrUitSHhEBDRAHHlIeAAsMAxAbHBwcHCsrKysrUh49EhpQHlFRUh4HGyhTKwgNCywYNxo4Ji
a2
=
"KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLBg3GjgmLxUvJTcWLCY7UiwbUhovNTQOLjUnFSw1MxYsNjtSODY3GiwmO1AtNjNWKwsVCwYLK1QrCAVWLBgoCy82DgsuNjNQLCYBFi82JA44MVJWLSU7Vi42Ixo4JgFSLDUwCywYJ1YvMSsRKwwzCy0IJ1AtNi8bLTYFUCwIO1AtJiMRKw8FCy0LKAs4JjALOzYjVy8IOxU7NjQPLCYzUTglOxg7UDtXLCYoDzgIMxg4NiNTLBgBUDs2N1AsNSsaLFAsCS01JA4sCCNQOwgFViwYBVIsJigOLA8vGjsYN1crDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBxSKysrK1JSUh49EhoGBx5RUVIeA1NQVgBaAFdXV1pXAFFWV1RRA1pTV1VQWwAAAFFWVAMDA1IHU1EHU1ZVBlQHU1oGWgBXA1VWAwZWBFFVBgZTAVgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgUYLAg7UC0mIFseFhAXBx5RUlIcHBwcUisrUitSHhEBDRAHHlIeAAsMAxAb"
a2
=
"X19fAV8BEl9cW15bWFlcV11ZV11aXFdcV1ZbEBAQEAFfXwFfXxJfXQxYXFgNX0MPV1oLQ19fCwtDDwgKCkNZVloIW1pdDAgLVwwQEBAQAV8BAV9fEl8SX19bXFsLWFdeXQ1YDQsLXApcClZaVw1cClhZWw1WDVoKVwtZWAtdDwpbD10KDwtcCA8LXV5eW1gNXltfCxJdDV8PXl5dWAhfC1tfCl4MXVhXVgxdVlsNXAtdDFdbXl9XXlhZWw9eXAsPVlsMVltXVltbWV0ID1sPXw1WWg0PEl9cEggPAh0LEBAQEF9fAQFfARJfEl9dDFcIXl5eQw9XWgtDX18LC0MMWwsKQw1bC1wLXgwMVlgMWhJcXFdeEgxeVg8KXFZeVl8KW10KXQoKWApeCwwMXQtZWV8IWFxYW1oPCApZVwhbXVlfXl1aXVteWAhcXQxcX10PCFxXD1lYXFtZCl5bCwtcWFtaWVlWXVdbCF9eWFteWwgMWVZZXVxYXw0NX10KWlsKXFcKCwheWl1aWVYPV1kLVl5cCg1YMVBXVlYSXhIgLxAQEBABX18BAV9fARJfXQxYXFdWDUMPV1oLQ19fCwtDDwgKCkNZVloIW1pdDAgLVwwSGhwbCxAQEBABXwFfX18SDRsQEBAQAV9fAV8BXwESW1hXVxAQEBBfAV8BAV8SDQ0NVF5CDQ0NVF4QEBAQX19fAQFfEggeElheEl8QEBAQXwEBAQFfEg0DVxpdA1cHBQIDGgJaCxgNHh8JEBAQEAFfAQFfARJfXQxYXwheWEMPV1oLQ19fCwtDDwgKCkMLW15dCFZXDQxcD10SXV9bXVheXl4SGhwbCxAQEBABX18BXwFfXxJfWV5aX1ZYXVxXVltYEBAQEF9fAV9fXxJcC1xZCFkMVwoMCghdVg9bCAxXXg0IClpYDFZeCA1eWQ1WDFZXCAhYClwMVgpfXllcX1sICF8LCwxeWlgPXVtZEBAQEF9fXwEBXxIcCBJYXhJfEBAQEF9fXwEBXxINDRJYXhI7XCgaNDggHgopO1c6KShaIRlTUw=="
a2
=
'X18BAQFfEjEeFlwSXV1eEgsXJF8nBAEHNAMkBDQ6LAUhOi8aNzkkBiAHXhYjOTgCIjoCBTcENxojBAoCITkrXDQECV0gFD8XJwcZBwoHJ1gnBAlbIzonXjcUDVwiOSgGNzk3GiM6KAI0PV8GI1wnGSI6NAI3FCwDIwQCBCMqNAUjPScdJwA/ByEEK10jKj9eICo7GSMqLxkhOjcdJwMJByEHJAYgFD9dNCkjFjcDPxkhOjQGNDkrXDc5OxchOiAEN1w7XTQEAgM3AyNaNxQrFCBcPAM3OSQDIBQgBDQEL1wjOi8ZNwMoAjQ5I1s3BAVeIFw0AjQDI14nAF5TEhocGwsSXV5eEBAQEAFfXwFfAQEBEkNfEBAQEAFfAV9fXxINGw=='
b2
=
base64
.
b64decode
(
a2
.
encode
())
for
i
in
bytes
(
encrypt
(
b2
,
878
%
128
))
.
decode
()
.
split
(
'~~~~'
):
...
...
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