Commit 7fafcbcd authored by wang's avatar wang

更换环境 测试并发

parent 74ee2a61
......@@ -5,36 +5,59 @@
<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>
<style>
.dot {
width: 4px;
height: 4px;
background-color: black;
border-radius: 50%;
position: absolute;
}
</style>
</head>
<body>
<script>
window._pxVid = '';
window._pxUuid = '9c844622-9347-11ee-b3c3-39cbe6f9cabc';
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=c&u=9c844622-9347-11ee-b3c3-39cbe6f9cabc&v=&m=0';
<script>
window._pxVid = '';
window._pxUuid = '56239aaf-93e1-11ee-8770-fb8be1abd679';
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=c&u=56239aaf-93e1-11ee-8770-fb8be1abd679&v=&m=0';
document.head.appendChild(script);
script.onerror = function () {
script = document.createElement('script');
script.src = 'https://captcha.px-cloud.net/PXVb73hTEg/captcha.js?a=c&u=56239aaf-93e1-11ee-8770-fb8be1abd679&v=&m=0';
script.onerror = window._pxDisplayErrorMessage;
document.head.appendChild(script);
script.onerror = function () {
script = document.createElement('script');
script.src = 'https://captcha.px-cloud.net/PXVb73hTEg/captcha.js?a=c&u=9c844622-9347-11ee-b3c3-39cbe6f9cabc&v=&m=0';
script.onerror = window._pxDisplayErrorMessage;
document.head.appendChild(script);
};
window._pxDisplayErrorMessage = function () {
var style = document.createElement('style');
style.innerText = '@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);body{background-color:#fafbfc}@media (max-width:480px){body{background-color:#fff}}.px-captcha-error-container{position:fixed;height:328px;background-color:#fff;font-family:Roboto,sans-serif}.px-captcha-error-header{color:#f0f1f2;font-size:29px;margin:67px 0 33px;font-weight:500;line-height:.83;text-align:center}.px-captcha-error-message{color:#f0f1f2;font-size:18px;margin:0 0 29px;line-height:1.33;text-align:center}div.px-captcha-error-button{text-align:center;line-height:50px;width:253px;margin:auto;border-radius:25px;border:solid 1px #f0f1f2;font-size:20px;color:#f0f1f2}div.px-captcha-error-wrapper{margin:23px 0 0}div.px-captcha-error{margin:auto;text-align:center;width:400px;height:30px;font-size:12px;background-color:#fcf0f2;color:#ce0e2d}img.px-captcha-error{margin:6px 10px -2px 0}@media (min-width:620px){.px-captcha-error-container{width:528px;top:50%;left:50%;margin-top:-164px;margin-left:-264px;border-radius:3px;box-shadow:0 2px 9px -1px rgba(0,0,0,.13)}}@media (min-width:481px) and (max-width:620px){.px-captcha-error-container{width:85%;top:50%;left:50%;margin-top:-164px;margin-left:-42.5%;border-radius:3px;box-shadow:0 2px 9px -1px rgba(0,0,0,.13)}}@media (max-width:480px){.px-captcha-error-container{width:528px;top:50%;left:50%;margin-top:-164px;margin-left:-264px}}';
document.head.appendChild(style);
var div = document.createElement('div');
div.className = 'px-captcha-error-container';
div.innerHTML = '<div class="px-captcha-error-header">Before we continue...</div><div class="px-captcha-error-message">Press & Hold to confirm you are<br>a human (and not a bot).</div><div class="px-captcha-error-button">Press & Hold</div><div class="px-captcha-error-wrapper"><div class="px-captcha-error"><img class="px-captcha-error" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAQCAMAAADDGrRQAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABFUExURUdwTNYELOEGONQILd0AONwALtwEL+AAL9MFLfkJSNQGLdMJLdQJLdQGLdQKLtYFLNcELdUGLdcBL9gFL88OLdUFLNEOLglBhT4AAAAXdFJOUwC8CqgNIRgRoAS1dWWuR4RTjzgryZpYblfkcAAAAI9JREFUGNNdj+sWhCAIhAdvqGVa1r7/oy6RZ7eaH3D4ZACBIed9wlOOMtUnSrEmZ6cHa9YAIfsbCkWrdpi/c50Bk2CO9mNLdMAu03wJA3HpEnfpxbyOg6ruyx8JJi6KNstnslp1dbPd9GnqmuYq7mmcv1zjnbQw8cV0xzkqo+fX1zkjUOO7wnrInUTxJiruC3vtBNRoQQn2AAAAAElFTkSuQmCC">Please check your network connection or disable your ad-blocker.</div></div>';
document.body.appendChild(div);
};
</script>
<script src=''></script>
};
window._pxDisplayErrorMessage = function () {
var style = document.createElement('style');
style.innerText = '@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);body{background-color:#fafbfc}@media (max-width:480px){body{background-color:#fff}}.px-captcha-error-container{position:fixed;height:328px;background-color:#fff;font-family:Roboto,sans-serif}.px-captcha-error-header{color:#f0f1f2;font-size:29px;margin:67px 0 33px;font-weight:500;line-height:.83;text-align:center}.px-captcha-error-message{color:#f0f1f2;font-size:18px;margin:0 0 29px;line-height:1.33;text-align:center}div.px-captcha-error-button{text-align:center;line-height:50px;width:253px;margin:auto;border-radius:25px;border:solid 1px #f0f1f2;font-size:20px;color:#f0f1f2}div.px-captcha-error-wrapper{margin:23px 0 0}div.px-captcha-error{margin:auto;text-align:center;width:400px;height:30px;font-size:12px;background-color:#fcf0f2;color:#ce0e2d}img.px-captcha-error{margin:6px 10px -2px 0}@media (min-width:620px){.px-captcha-error-container{width:528px;top:50%;left:50%;margin-top:-164px;margin-left:-264px;border-radius:3px;box-shadow:0 2px 9px -1px rgba(0,0,0,.13)}}@media (min-width:481px) and (max-width:620px){.px-captcha-error-container{width:85%;top:50%;left:50%;margin-top:-164px;margin-left:-42.5%;border-radius:3px;box-shadow:0 2px 9px -1px rgba(0,0,0,.13)}}@media (max-width:480px){.px-captcha-error-container{width:528px;top:50%;left:50%;margin-top:-164px;margin-left:-264px}}';
document.head.appendChild(style);
var div = document.createElement('div');
div.className = 'px-captcha-error-container';
div.innerHTML = '<div class="px-captcha-error-header">Before we continue...</div><div class="px-captcha-error-message">Press & Hold to confirm you are<br>a human (and not a bot).</div><div class="px-captcha-error-button">Press & Hold</div><div class="px-captcha-error-wrapper"><div class="px-captcha-error"><img class="px-captcha-error" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAQCAMAAADDGrRQAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABFUExURUdwTNYELOEGONQILd0AONwALtwEL+AAL9MFLfkJSNQGLdMJLdQJLdQGLdQKLtYFLNcELdUGLdcBL9gFL88OLdUFLNEOLglBhT4AAAAXdFJOUwC8CqgNIRgRoAS1dWWuR4RTjzgryZpYblfkcAAAAI9JREFUGNNdj+sWhCAIhAdvqGVa1r7/oy6RZ7eaH3D4ZACBIed9wlOOMtUnSrEmZ6cHa9YAIfsbCkWrdpi/c50Bk2CO9mNLdMAu03wJA3HpEnfpxbyOg6ruyx8JJi6KNstnslp1dbPd9GnqmuYq7mmcv1zjnbQw8cV0xzkqo+fX1zkjUOO7wnrInUTxJiruC3vtBNRoQQn2AAAAAElFTkSuQmCC">Please check your network connection or disable your ad-blocker.</div></div>';
document.body.appendChild(div);
};
</script>
<script src=''></script>
</body>
</html>
\ No newline at end of file
</html>
<script>
document.addEventListener('mousemove', function (event) {
drawDot(event.clientX, event.clientY);
});
// 在页面上绘制一个点
function drawDot(x, y) {
var dot = document.createElement('div');
dot.className = 'dot';
dot.style.left = x + 'px';
dot.style.top = y + 'px';
document.body.appendChild(dot);
}
</script>
\ No newline at end of file
import {ie, randint, randomFloat, sha256} from './utils.js'
import {createPx2, getNoPX, getPaths, getPX12573} from './pxenvutils.js'
import {createPx2, getNoPX, getPaths, getPX12573, mousePath} from './pxenvutils.js'
import md5 from "md5";
import {call_12590_12610} from "./pxwasm.js";
......@@ -4770,14 +4770,18 @@ export class PxEnv {
createMouse() {
this.startPoint = {
"x": randint(750, 800),
"y": randint(600, 650),
"x": randint(600, 620),
"y": randint(480, 510),
}
this.endPoint = {
"x": this.startPoint.x + randint(10, 20),
"y": this.startPoint.y + randint(10, 20),
}
let paths = getPaths(this.startPoint, this.endPoint)
let controlPoint = {
"x": this.startPoint.x + 50,
"y": this.startPoint.y,
}
let paths = mousePath(this.startPoint,controlPoint, this.endPoint)
let startTime = randint(18249, 18259);
for (let i = 0; i < paths.length; i++) {
let mouse = {
......@@ -4992,10 +4996,10 @@ export class PxEnv {
"PX12318": true,
"PX11384": true,
"PX11886": true,
"PX11583": "en-US",
"PX11583": "en",
"PX12458": this.navigator.platform,
"PX11681": [
"en-US"],
"en"],
"PX11754": this.navigator.useragent,
"PX12037": true,
"PX11390": -480,
......@@ -5325,10 +5329,10 @@ export class PxEnv {
// "PX11494": window.innerwidth, // v["innerWidth"]
// "PX12411": window.innerheight, // v["innerHeight"]
"PX11849": "10207b2f",
"PX11583": "en-US",
"PX11583": "en",
"PX12458": this.navigator.platform,
"PX11681": [
"en-US"],
"en"],
"PX11754": this.navigator.useragent,
"PX12037": true,
"PX11621": 8,
......@@ -5430,7 +5434,7 @@ export class PxEnv {
"PX12382": [7889], // todo
"PX11735": true,
"PX11874": "en-US",
"PX11874": "en",
// token
"PX12205": this.token,
"PX11357": parseInt(PX11357),
......@@ -5492,7 +5496,7 @@ export class PxEnv {
"PX755": this.px755,
"PX12057": "pxCaptcha",
"PX11490": "booking.flyfrontier.com",
"PX11874": "en-US",
"PX11874": "en",
"PX12049": false,
"PX12489": "v1.8.7",
"PX11902": 7,
......@@ -5714,14 +5718,13 @@ if (import.meta.url === `file://${process.argv[1]}`) {
let a2 = "B1kHB1kHFF4JX1kODVAKRVBQXF1FWVkNDUUKXVpfRQteDVFRDFhcXF8MWBRbWV1bXlhYWBQcGh0NFhYWFllZWQcHWRQLCxReWBQ9Wi4cMj4mGAwvPVE8Ly5cJx9VVRYWFhYHWVlZBwcHWRRZX1hYXV1cWlpZXVpdFhYWFllZB1lZWRQMWw5bX19fCQldXlALWw1eUFoJX1kOX1tbUQ4JXwwJXgpYX1wMXApQDVwLXQsKDFtQDVpfXl4LCllRXAtQWlpcFhYWFgdZWQdZWQcHFF4JX1pYCloORVBQXF1FWVkNDUUKXVpQRQ5fCl8ODA5ZDFwOWxQcGh0NFhYWFlkHBwcHWRQLBA1eChpRXA9eBgFYWVoDXAAAWBYWFhYHWVkHWVkUXglfWlhQXFBFUFBcXUVZWQ0NRQpdWlBFDl8KXw4MDlkMXA5bFhYWFgdZB1lZWRQLHRYWFhZZWVkHWQcUWVBYXF9QWlhfW11bXF1dWFhbWlwWFhYWB1lZWQcHBwcUWV1ZWw=="
a2 = "WVlZB1kHFFlZUV9ZXl9YXlBeUFFRXFpQWF9RFhYWFgdZWQdZWQcHFA0LWlFRXV0NRVFbXF9FWVkNDUVRX1FfRV5aCVpaWFANDFpbCRQcGh0NFhYWFllZWQcHWRQOGBReWBRZFhYWFllZWQcHWRQaDhReWBRZFhYWFlkHWQcHWRQLCwtSWBYWFhYHWQcHWVkUWRRQX1oOUF1RUQxdCVleWg5eWV1bUFwMW1hYUFgNCgtaXw5QX1hQWAxbDQpfWFoKWVEMXwtfWF0LWw4MW1ANFFkOX1EMDV0LW19dWwlbXV5cUA1RWA1cXlEOXF0OC1leCV9bDVpbCgwJWVANWVgKDQleWV8OUQpRDFkJXFELCVkUWVoUDgkEGw0WFhYWWVlZBwdZFAsLFF5YFD1aLhwyPiYYDC89UTwvLlwnH1VVFhYWFllZB1lZWRRdWg0KWF5ZCw4KUFoLWQxRWQoMWVpeC1wKX1xfWFleWl1aCVFbUVxbXVldWlpZDV8MUVBRCVtaDlkLXQsNDA5RFhYWFlkHBwcHWRQLBAYMHF5eAhoEBQFYWV5eGxgPWBYWFhZZWQcHWQcUWRQNC1oMCw1ZWEVRW1xfRVlZDQ1FCQxQWEVcX18LCQoOCg5YC10UWlteWBRQCQsJXAwKUF9eWAwMDVAOXlxcDQpdDAxfWFoMXlwLXAxRUAxZWltRDF5RCwkLXA4NWApdX11dWF5RDFxdXFgOCQ4KXgtbXVkOWQpbCwpbWl8KW1xaDFBfCl1bXl9QCgwNC1wLCVxbXFxdXF8NXV9YXF0NW1EJXwlaWQlYXwpQWzdXUltVFFgUJikWFhYWB1lZWQcHB1kUWV9YWV9eXF9eWFFcXBYWFhYHWVlZBwcHBxReXV5fFhYWFgdZWQdZWRQNC1pRUVhYXUVRW1xfRVlZDQ1FUV9RX0VeWglaWlhQDQxaWwkWFhYWB1kHWVlZFAsdFhYWFgdZBwdZBxQNUQldCl4NW0VRW1xfRVlZDQ1FUVtZW0VYW1EKDl1eDQkLW1EUW1ldW15YWFgUHBodDQ=="
a2 = "WVlZBwdZFA4YFF5YFFkWFhYWWVlZBwdZFBoOFF5YFFkWFhYWB1kHB1lZFFkUXlBQDllaXV1RDAwKDF8JX11RDV4LCl5fXQtbDF5YDV0LDl9ZW1ALXlAKWlxQW15RWFFZWlBaX1pRUF5aDhRfWlFaC1EMWg1aCQwOWQ4KWF1eDF4OClpRX1gOWQpeX1tQUQpZXAoKDA4KUVlQWVhZW1FeUAlbDQxbDFlaDFBfFFlaFA4JBBsNFhYWFllZBwdZBxRZFF4MDV5aCwpYRVFbDVlFWVkNDUUKUAteRQxfWV5eDVkNCV1eDBRZWVxdFFldWV1eClheDFoKXVwNXAtaXwoJDg0OCl4JUV0MWF8JWV1RW15fWwkMDFFaUFFQClBdUA1dUVFbW1lQDgpYXFlaXVFYWg5QDlxZDl9ZX1tdC1gOXloLXlgJWlFbUFBfXlELC14LUVwOC1tcX1paDlsLDAlcUQ1fWFEMUVwOXVsJN1RQVFsUWBQmKRYWFhYHWQcHWQcUXgwNWV0OW1pFUVsNWUVZWQ0NRQpcDFhFW1tfUAkKDl8MCQlRFFtZXVteWFhYFBwaHQ0WFhYWWVlZB1kHFFlaUFlZWlxeXltbWl9eX11eW1lfFhYWFgdZWQdZWQcHFF4MDVleDApfRVFbDVlFWVkNDUUKXAxYRV4KXVtRCVoJUAlQDhQcGh0NFhYWFgdZWVkHBwdZFFlfWFlQW1heUVldX1AWFhYWB1lZB1lZFF4MDVleCQxRRVFbDVlFWVkNDUUKXAxYRV4KXVtRCVoJUAlQDhYWFhZZBwcHB1kUCwQGHVhQHFFZW1paWFlYDwxcWw8WFhYWWVlZBwdZFAsLFF5YFD1aLhwyPiYYDC89UTwvLlwnH1VVFhYWFlkHWQcHWRQLCwtSWBYWFhYHWVlZBwcHBxRcWVlQFhYWFllZB1lZWRRbCV5YDFoJXFheXApaX19QDVtYDltdDVhRWFxZX1AMClgLXF1dXA0KCVhfXF5fWV1QWlleDFtbDVxfUQ4MW1hfFhYWFgdZB1lZWRQLHQ=="
let res = $C_kKK(atob(a2), 872 % 128).split('~~~~')
let vid, sid, uuid, ts, num1, num2,
str1, startTs, startTs2, token, ci, hash, hash2, hashv, cts, token2, px755;
uuid = '9c844622-9347-11ee-b3c3-39cbe6f9cabc'
uuid = '56239aaf-93e1-11ee-8770-fb8be1abd679'
res.forEach(e => {
let t = e.split('|')
......@@ -5784,8 +5787,11 @@ if (import.meta.url === `file://${process.argv[1]}`) {
// console.log(env.createPX11698(true))
// console.log(JSON.stringify(env.get_px12123()))
// console.log(JSON.stringify(env.get_px561()))
console.log(JSON.stringify([env.get_px11547(),
env.get_px12123(), env.get_px561(), env.get_px11782(), env.get_px12419()]))
// console.log(JSON.stringify([env.get_px11547(),
// env.get_px12123(), env.get_px561(), env.get_px11782(),
// // env.get_px12419()
// ]))
console.log(JSON.stringify(env.createPX11698(true)))
}, 100)
}
import {path} from "ghost-cursor";
import {randint} from "./utils.js";
function R(t, e, n, r, o, i, l) {
return B(e ^ n ^ r, t, e, o, i, l);
......@@ -99,16 +99,68 @@ export function getNoPX(px11701, px11431) {
}
export function getPaths(startPoint,endPoint) {
export function getPaths(startPoint, endPoint) {
let res = [];
while (res.length < 200) {
res.push(...path(
startPoint
,
endPoint,
2000
))
// while (res.length < 200) {
// res.push(...path(
// startPoint
// ,
// endPoint,
// 2000
// ))
// }
for (let i = 0; i < randint(100, 200); i++) {
res.push({
x: startPoint.x,
y: startPoint.y + (Math.random() > 0.5 ? randint(0, 4) : -randint(0, 4))
})
}
return res;
}
\ No newline at end of file
}
// 二阶贝塞尔曲线函数
function quadraticBezier(t, p0, p1, p2) {
var x = Math.pow(1 - t, 2) * p0.x + 2 * (1 - t) * t * p1.x + Math.pow(t, 2) * p2.x;
var y = Math.pow(1 - t, 2) * p0.y + 2 * (1 - t) * t * p1.y + Math.pow(t, 2) * p2.y;
return {x: parseInt(x), y: parseInt(y)};
}
export function mousePath(startPoint, endPoint) {
// 控制点
// var startPoint = {x: 50, y: 50};
var controlPoint = {x: 150, y: 75};
// var endPoint = {x: 70, y: 50};
// 获取所有轨迹点
var pointsOnCurve = [];
// for (var t = 0; t <= 1; t += 0.01) {
// var point = quadraticBezier(t, startPoint, controlPoint, endPoint);
// pointsOnCurve.push(point);
// }
let reverseChooseTime = 0;
let reverseChoose = true;
let x = startPoint.x;
let y = startPoint.y;
for (let i = 0; i < randint(150, 250); i++) {
if (reverseChoose){
x +=randint(0,2);
y += Math.random() > 0.5? randint(0,1) :- randint(0,1);
}else {
x -=randint(0,2);
y -= Math.random() > 0.5? randint(0,1) :- randint(0,1);
}
reverseChooseTime++;
if (reverseChooseTime > randint(5,10)){
reverseChoose = !reverseChoose;
reverseChooseTime = 0;
}
pointsOnCurve.push({
x: x,
y: y
})
}
// console.log(pointsOnCurve)
return pointsOnCurve
}
......@@ -372,7 +372,7 @@ async function run() {
if (px.check()) {
continue
}
await sleep(1000)
// await sleep(1000)
await px.step4()
if (px.check()) {
......
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