Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
L
lcc-akm
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-akm
Commits
fff90116
Commit
fff90116
authored
Mar 28, 2023
by
王明明
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1111
parent
6143bb0a
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1240 additions
and
233 deletions
+1240
-233
run.js
src/js/run.js
+181
-199
init.go
src/model/init.go
+15
-0
structs.go
src/model/structs.go
+1
-4
env.go
src/sensor_common/env/env.go
+79
-0
event.go
src/sensor_common/event.go
+181
-0
sensor.go
src/sensor_common/sensor.go
+728
-0
akm_common.go
src/test/akm_common.go
+47
-22
testnk.go
src/test/testnk.go
+8
-8
No files found.
src/js/run.js
View file @
fff90116
...
@@ -6,23 +6,23 @@ const { createCanvas, loadImage } = require('canvas')
...
@@ -6,23 +6,23 @@ const { createCanvas, loadImage } = require('canvas')
let
fps
=
[
let
fps
=
[
"-841148590;-1;dis;;true;true;true;-480;true;24;24;true;false;-1"
,
"-841148590;-1;dis;;true;true;true;-480;true;24;24;true;false;-1"
,
"-1079023594;-1;dis;;true;true;true;-480;true;24;24;true;false;-1"
,
"-1079023594;-1;dis;;true;true;true;-480;true;24;24;true;false;-1"
,
"448809179;-1;dis;;true;true;true;-480;true;24;24;true;false;-1"
,
]
]
let
ss
=
[
30261693
,
30228925
,
30261693
]
let
ss
=
[
30261693
,
30228925
]
let
selectIdx
=
parseInt
(
Math
.
random
()
*
2
);
let
selectIdx
=
parseInt
(
Math
.
random
()
*
2
);
//
selectIdx = 1
selectIdx
=
1
let
fpValStr
=
fps
[
selectIdx
];
let
fpValStr
=
fps
[
selectIdx
];
let
webkit
=
ss
[
selectIdx
];
let
webkit
=
ss
[
selectIdx
];
_console
=
console
.
log
;
console
.
log
=
function
(){}
let
FingerprintGenerator
=
require
(
'fingerprint-generator'
).
FingerprintGenerator
let
FingerprintGenerator
=
require
(
'fingerprint-generator'
).
FingerprintGenerator
let
fingerprintGenerator
=
new
FingerprintGenerator
({
let
fingerprintGenerator
=
new
FingerprintGenerator
({
browsers
:
[
browsers
:
[
{
name
:
"chrome"
,
minVersion
:
99
},
{
name
:
"chrome"
,
minVersion
:
87
},
{
name
:
"edge"
,
minVersion
:
99
},
//
{ name: "edge", minVersion: 99 },
"safari"
//
"safari"
],
],
devices
:
[
devices
:
[
"mobile"
,
"mobile"
,
...
@@ -31,7 +31,7 @@ let fingerprintGenerator = new FingerprintGenerator({
...
@@ -31,7 +31,7 @@ let fingerprintGenerator = new FingerprintGenerator({
operatingSystems
:
[
operatingSystems
:
[
// "windows", "macos",
// "windows", "macos",
"android"
,
"android"
,
"ios"
//
"ios"
]
]
});
});
...
@@ -261,11 +261,11 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -261,11 +261,11 @@ function run(times, url, s3, bm_sz, returnData){
f8
=
fingerprint
.
screen
.
availHeight
f8
=
fingerprint
.
screen
.
availHeight
t8
=
fingerprint
.
screen
.
width
t8
=
fingerprint
.
screen
.
width
J8
=
fingerprint
.
screen
.
height
J8
=
fingerprint
.
screen
.
height
w8
=
fingerprint
.
screen
.
inner
Height
|
fingerprint
.
screen
.
height
w8
=
fingerprint
.
screen
.
inner
Width
|
fingerprint
.
screen
.
width
r8
=
fingerprint
.
screen
.
inner
Width
|
fingerprint
.
screen
.
width
r8
=
fingerprint
.
screen
.
inner
Height
|
fingerprint
.
screen
.
height
m8
=
fingerprint
.
screen
.
outerWidth
m8
=
fingerprint
.
screen
.
outerWidth
navigator
=
fingerprint
.
navigator
navigator
=
fingerprint
.
navigator
navigator
.
plugins
=
'0'
navigator
.
plugins
=
0
}
}
var
Rs
=
navigator
.
productSub
;
var
Rs
=
navigator
.
productSub
;
var
ds
=
navigator
.
language
;
var
ds
=
navigator
.
language
;
...
@@ -358,8 +358,6 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -358,8 +358,6 @@ function run(times, url, s3, bm_sz, returnData){
Ns
=
parseInt
(
bO
(
Ds
*
1000
,
2
),
10
);
Ns
=
parseInt
(
bO
(
Ds
*
1000
,
2
),
10
);
// mac 9744 win 9096
// mac 9744 win 9096
var
q8
=
ab
(
ua
);
var
q8
=
ab
(
ua
);
// "Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36,uaend,12147,20030107,en-US,Gecko,
// 0,0,0,0,413251,0,412,915,412,915,412,915,412,,cpen:0,i1:0,dm:0,cwen:0,non:1,opc:0,fc:0,sc:0,wrc:1,isc:0,vib:1,bat:1,x11:0,x12:1,9033,0.488671446244,839779612453.5,0,loc:",
let
data2
=
[
let
data2
=
[
...
@@ -581,15 +579,14 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -581,15 +579,14 @@ function run(times, url, s3, bm_sz, returnData){
let
me_cnt
=
0
;
let
me_cnt
=
0
;
let
mact
=
''
;
let
mact
=
''
;
function
event110
(
type
,
pageX
,
pageY
){
function
event110
(
type
){
var
a
=
type
var
a
=
type
var
i
=
Date
.
now
()
-
bmak
.
startTs
;
var
i
=
Date
.
now
()
-
bmak
.
startTs
;
var
n
=
pageX
,
o
=
pageY
;
n
=
pageX
,
o
=
pageY
;
var
c
=
me_cnt
+
","
+
a
+
","
+
i
+
","
+
n
+
","
+
o
;
c
=
me_cnt
+
","
+
a
+
","
+
i
+
","
+
n
+
","
+
o
;
me_vel
=
me_vel
+
me_cnt
+
a
+
i
+
n
+
o
me_vel
=
me_vel
+
me_cnt
+
a
+
i
+
n
+
o
mact
=
mact
+
c
+
";"
;
mact
=
mact
+
c
ta
+=
i
ta
+=
i
me_cnt
++
;
}
}
// -117
// -117
let
te_vel
=
0
let
te_vel
=
0
...
@@ -672,13 +669,13 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -672,13 +669,13 @@ function run(times, url, s3, bm_sz, returnData){
var
i
=
pe_cnt
+
","
+
a
+
","
+
r
+
","
+
o
+
","
+
m
;
var
i
=
pe_cnt
+
","
+
a
+
","
+
r
+
","
+
o
+
","
+
m
;
pe_vel
=
pe_vel
+
pe_cnt
+
a
+
r
+
o
+
m
pe_vel
=
pe_vel
+
pe_cnt
+
a
+
r
+
o
+
m
pact
=
pact
+
i
+
';'
;
pact
=
pact
+
i
+
';'
;
1
==
a
?
pme_cnt
++
:
pduce_cnt
++
,
pe_cnt
++
;
1
==
a
?
pme_cnt
++
:
pduce_cnt
++
ta
+=
r
;
ta
+=
r
;
}
}
function
pointerEvent
(){
function
pointerEvent
(){
let
t
=
parseInt
(
Math
.
random
()
*
100
)
+
30
let
t
=
parseInt
(
Math
.
random
()
*
100
)
+
30
let
x
=
parseInt
(
Math
.
random
()
*
fingerprint
.
screen
.
width
/
2
+
(
fingerprint
.
screen
.
width
/
2
))
let
x
=
parseInt
(
Math
.
random
()
*
229
+
(
229
/
2
))
let
y
=
parseInt
(
Math
.
random
()
*
fingerprint
.
screen
.
height
/
2
+
(
fingerprint
.
screen
.
height
/
2
))
let
y
=
parseInt
(
Math
.
random
()
*
691
+
(
691
/
2
))
event114
(
3
,
x
,
y
,
t
)
event114
(
3
,
x
,
y
,
t
)
event114
(
4
,
x
,
y
,
t
)
event114
(
4
,
x
,
y
,
t
)
}
}
...
@@ -686,50 +683,36 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -686,50 +683,36 @@ function run(times, url, s3, bm_sz, returnData){
let
vcact
=
''
;
let
vcact
=
''
;
let
vc_cnt
=
0
;
let
vc_cnt
=
0
;
function
event103
(
t
)
{
function
event103
(
t
)
{
var
a
=
Date
.
now
()
-
bmak
.
startTs
+
parseInt
(
Math
.
random
()
*
300
)
+
parseInt
(
Math
.
random
()
*
100
)
a
=
Date
.
now
()
-
bmak
.
startTs
+
Math
.
floor
(
Math
.
random
()
*
(
5000
-
1000
))
+
2000
var
e
=
t
+
','
+
a
+
';'
e
=
t
+
','
+
a
+
';'
vcact
=
vcact
+
e
;
vcact
=
vcact
+
e
;
vc_cnt
++
;
vc_cnt
++
;
}
}
if
(
times
>
0
){
if
(
times
>
2
){
if
(
Math
.
random
()
>
0
)
{
if
(
Math
.
random
()
>
0
.4
)
{
for
(
let
i
=
0
;
i
<
parseInt
(
Math
.
random
()
*
10
+
Math
.
random
()
*
10
);
i
++
)
{
for
(
let
i
=
0
;
i
<
parseInt
(
Math
.
random
()
*
10
+
Math
.
random
()
*
10
);
i
++
)
{
var
s
=
'qwertyuiopasdfghjklzxcvbnm1234567890;[],./
\
\'
var
s
=
'qwertyuiopasdfghjklzxcvbnm1234567890;[],./
\
\'
keyEvent(s[parseInt(Math.random() *s.length)])
keyEvent(s[parseInt(Math.random() *s.length)])
}
}
}
}
for (let i = 0; i < parseInt(Math.random() * 20 + Math.random() *10); i++) {
if (Math.random() > 0.1){
const offX = mousepoint.x
+ (Math.random() > 0.5 ? (parseInt(Math.random() * 20) + 1): -(parseInt(Math.random() * 20) + 1));
const offY = mousepoint.y
+ (Math.random() > 0.5 ? (parseInt(Math.random() * 5) + 1): -(parseInt(Math.random() * 5) + 1));
mousepoint = {x:offX,y:offY}
event110(1,offX, offY)
event110(3,offX, offY)
event110(4,offX, offY)
}
if (Math.random() > 0){
for (let i = 0; i < parseInt(Math.random() * 5 + Math.random() *10); i++) {
for (let i = 0; i < parseInt(Math.random() * 5 + Math.random() *10); i++) {
devicemotionEvent()
devicemotionEvent()
event103(2)
event103(3)
}
}
}
}
if (Math.random() > 0){
if (Math.random() > 0
.1
){
for (let i = 0; i < parseInt(
Math.random() *5 +
Math.random() *5) + 1; i++) {
for (let i = 0; i < parseInt(Math.random() *5) + 1; i++) {
touchEvent()
touchEvent()
}
}
}
}
if (Math.random() > 0) {
if (Math.random() > 0
.1
) {
for (let i = 0; i < parseInt(Math.random() * 10 + Math.random() * 10); i++) {
for (let i = 0; i < parseInt(Math.random() * 10 + Math.random() * 10); i++) {
orientationEvent()
orientationEvent()
}
}
}
}
if (Math.random() > 0) {
if (Math.random() > 0
.1
) {
for (let i = 0; i < parseInt(Math.random() * 10 + Math.random() * 5); i++) {
for (let i = 0; i < parseInt(Math.random() * 10 + Math.random() * 5); i++) {
pointerEvent()
pointerEvent()
...
@@ -829,7 +812,6 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -829,7 +812,6 @@ function run(times, url, s3, bm_sz, returnData){
WHA;
WHA;
}
}
rw = PY(Iq(ua)) + PY(Iq(Vx.startTimestamp))
rw = PY(Iq(ua)) + PY(Iq(Vx.startTimestamp))
return rw;
pw = []
pw = []
uW = ''
uW = ''
for (let index = 0; index < 5; index++) {
for (let index = 0; index < 5; index++) {
...
@@ -877,7 +859,7 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -877,7 +859,7 @@ function run(times, url, s3, bm_sz, returnData){
let XJ = "0,841583dac09a721cf2d2c57a09180590d9939b2b73219e5cc6b1dc72b2b04594,0123456789101112,Other";
let XJ = "0,841583dac09a721cf2d2c57a09180590d9939b2b73219e5cc6b1dc72b2b04594,0123456789101112,Other";
let qJ = '
-
1
';
let qJ = '
-
1
';
let arg128 = ""["concat"](WJ, ",")["concat"](NJ, ",")["concat"](gJ)
let arg128 = ""["concat"](WJ, ",")["concat"](NJ, ",")["concat"](gJ)
arg128 = '
,
1
,
940925
d1b20db7e9ace7d42cb9f7efb38d0d1b3e77f44b62f059f99f534425ac
'
//
arg128 = '
,
1
,
940925
d1b20db7e9ace7d42cb9f7efb38d0d1b3e77f44b62f059f99f534425ac
'
let arg131 = ""["concat"](FJ, ",")["concat"](VJ, ",")["concat"](RJ, ",")["concat"](dJ)
let arg131 = ""["concat"](FJ, ",")["concat"](VJ, ",")["concat"](RJ, ",")["concat"](dJ)
let arg132 = ""["concat"](XJ, ",")["concat"](qJ);
let arg132 = ""["concat"](XJ, ",")["concat"](qJ);
...
@@ -896,7 +878,6 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -896,7 +878,6 @@ function run(times, url, s3, bm_sz, returnData){
let arg129 = ","["concat"](Ff, ",")["concat"](1, ",")["concat"](lf, ",")["concat"](p3, ",")["concat"](I3, ",")["concat"](G3, ",")["concat"](2);
let arg129 = ","["concat"](Ff, ",")["concat"](1, ",")["concat"](lf, ",")["concat"](p3, ",")["concat"](I3, ",")["concat"](G3, ",")["concat"](2);
// arg129 = ",f4d428b56c56367428590b96788fb86adb843acff7c654687443c18ea43a263e,2.625,0,Qualcomm,Adreno (TM) 540,b418793279adf3bfc824bb6d7e6f67e40206c5992f3b8eb8aa270e49872c27e7,2"
// arg129 = ",f4d428b56c56367428590b96788fb86adb843acff7c654687443c18ea43a263e,2.625,0,Qualcomm,Adreno (TM) 540,b418793279adf3bfc824bb6d7e6f67e40206c5992f3b8eb8aa270e49872c27e7,2"
// arg129 = ",f4d428b56c56367428590b96788fb86adb843acff7c654687443c18ea43a263e,2.625,17369408833fbec07e2e4f29b573bbc1c3e8aaa925bdd17ac22c5b55f9ea9fc7,Qualcomm,Adreno (TM) 540,b418793279adf3bfc824bb6d7e6f67e40206c5992f3b8eb8aa270e49872c27e7,2"
// arg129 = ",f4d428b56c56367428590b96788fb86adb843acff7c654687443c18ea43a263e,2.625,17369408833fbec07e2e4f29b573bbc1c3e8aaa925bdd17ac22c5b55f9ea9fc7,Qualcomm,Adreno (TM) 540,b418793279adf3bfc824bb6d7e6f67e40206c5992f3b8eb8aa270e49872c27e7,2"
arg129 = ",479507b7234c45186c995a034296add61e679bb70e95994997a64c22e9b0d79c,3.4999998807907104,,Google Inc. (Intel),ANGLE (Intel, Intel(R) Iris(R) Xe Graphics Direct3D11 vs_5_0 ps_5_0, D3D11),fab37783e5c3bc89f876774bac442ad3e613f7dc5b769b19a8d4d8c6b80ef077,2"
...
@@ -1027,7 +1008,7 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -1027,7 +1008,7 @@ function run(times, url, s3, bm_sz, returnData){
]
]
let tss = Date.now() - bmak.startTs
let tss = Date.now() - bmak.startTs
data.push("-110",
data.push("-110",
mact
)
times >= 3 ? mouseMoveData : ""
)
data.push(
data.push(
"-117",
"-117",
times > 2?'
0
,
2
,
1468
,
-
1
,
-
1
;
1
,
3
,
1531
,
-
1
,
-
1
;
':'',
times > 2?'
0
,
2
,
1468
,
-
1
,
-
1
;
1
,
3
,
1531
,
-
1
,
-
1
;
':'',
...
@@ -1066,7 +1047,7 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -1066,7 +1047,7 @@ function run(times, url, s3, bm_sz, returnData){
"")
"")
data.push(
data.push(
"-124",
"-124",
""
,
arg124
,
"-126",
"-126",
"")
"")
data.push(
data.push(
...
@@ -1079,19 +1060,19 @@ function run(times, url, s3, bm_sz, returnData){
...
@@ -1079,19 +1060,19 @@ function run(times, url, s3, bm_sz, returnData){
"-128",
"-128",
// todo
// todo
// ",,",
// ",,",
times
>1?
arg128: ",," ,
times
== 4?
arg128: ",," ,
)
)
data.push(
data.push(
// todo
// todo
"-131",
"-131",
// todo
// todo
times >1?
arg131: ",,," ,
times == 4 ?
arg131: ",,," ,
)
)
data.push(
data.push(
"-132",
"-132",
// ",",
// ",",
// times == 3 ? LJ :'
,
',
// times == 3 ? LJ :'
,
',
times >1?
arg132 : '
,
'
times == 4?
arg132 : '
,
'
)
)
data.push(
data.push(
"-133",
"-133",
...
@@ -1287,7 +1268,8 @@ function genSensorData(data, f3, t3, ua){
...
@@ -1287,7 +1268,8 @@ function genSensorData(data, f3, t3, ua){
console
.
log
(
ww
);
console
.
log
(
ww
);
// console.log(Mw)
// console.log(Mw)
var
zr
=
""
[
"concat"
](
k3
(
Date
.
now
(),
f3
),
","
)[
"concat"
](
0
,
","
)[
"concat"
](
cw
,
","
)[
"concat"
](
Mr
,
","
)[
"concat"
](
0
);
var
zr
=
""
[
"concat"
](
k3
(
Date
.
now
(),
f3
),
","
)[
"concat"
](
0
,
","
)[
"concat"
]
(
tw
,
","
)[
"concat"
](
cw
,
","
)[
"concat"
](
Mr
,
","
)[
"concat"
](
0
);
// zr = '18,0,1,2,20'
// zr = '18,0,1,2,20'
Mw
=
bd
(
bd
(
bd
(
bd
(
bd
(
bd
(
bd
(
"2;"
,
ww
[
0
]),
fr
),
ww
[
1
]),
fr
),
zr
),
fr
),
Mw
);
Mw
=
bd
(
bd
(
bd
(
bd
(
bd
(
bd
(
bd
(
"2;"
,
ww
[
0
]),
fr
),
ww
[
1
]),
fr
),
zr
),
fr
),
Mw
);
...
@@ -1299,9 +1281,9 @@ function genSensorData(data, f3, t3, ua){
...
@@ -1299,9 +1281,9 @@ function genSensorData(data, f3, t3, ua){
// console.log('res->', abck);
// console.log('res->', abck);
return
Mw
+
"|||||"
+
ua
;
return
Mw
+
"|||||"
+
ua
;
}
}
let
s3
=
'CF546EF91349FD04AAFF436D48BC1E41~-1~YAAQRq08Fy5m7CiGAQAAdWsOVAnvfV/BUEgLoHamIMLnzdDoES1zt19HsfaS5bLPJoxT1UH8f5l3DpvRE3tr+PZ9tmEjq9GGRjFrLlXelMl1Fj3e/JvUWjJrmiZDG3I3hXSOnT0JswGkRnzdgKJ/RTJoUDrjXIZVhkXCiGht1GN4Npm5/ge4jabJAwfknRMx6J22sqMYw/dfypnXeG5iP84Cyz1m/sNthIG3P7lEdZ0/IrOiVMASglN+MWWBbLd8VzOxES7fSwYRdl3LbpTcYZ5kzcQ5BCe3uqH1aJR4XuOITAFH0FtqBAMzva08IWWK8Hh613mJNPcKAT9OJYNMs9Mf7EBh8xXHUns4JfJt5z9KE05uAJCrgDuyyuV349ZhIDuqXjUK/2ZR2A9zmQwfVzY5jZVaDfUW/Odm4nHZzsXQfzhf4G3IyTE=~-1~-1~-1'
;
let
s3
=
'CF546EF91349FD04AAFF436D48BC1E41~-1~YAAQRq08Fy5m7CiGAQAAdWsOVAnvfV/BUEgLoHamIMLnzdDoES1zt19HsfaS5bLPJoxT1UH8f5l3DpvRE3tr+PZ9tmEjq9GGRjFrLlXelMl1Fj3e/JvUWjJrmiZDG3I3hXSOnT0JswGkRnzdgKJ/RTJoUDrjXIZVhkXCiGht1GN4Npm5/ge4jabJAwfknRMx6J22sqMYw/dfypnXeG5iP84Cyz1m/sNthIG3P7lEdZ0/IrOiVMASglN+MWWBbLd8VzOxES7fSwYRdl3LbpTcYZ5kzcQ5BCe3uqH1aJR4XuOITAFH0FtqBAMzva08IWWK8Hh613mJNPcKAT9OJYNMs9Mf7EBh8xXHUns4JfJt5z9KE05uAJCrgDuyyuV349ZhIDuqXjUK/2ZR2A9zmQwfVzY5jZVaDfUW/Odm4nHZzsXQfzhf4G3IyTE=~-1~-1~-1'
;
s3
=
'B9E0C674552DB391815F82C0647FADC9~-1~YAAQBGUzuBl9/72GAQAAyb94wAm4ydH5I2znFxoyfaPIvHOHSyqXZHzgQ7m2RkagTpBzztNa5LmNFcqg4DNXEm/tZ+r1JxOWYfLY1EA5bzEvauFo6puMeVBuo4HdbMVfmxlwKaZpIQRNtUq0Z1wEmw2rrWetb3RktDypg1QT1tuF/hnXMQseB7YMYUY2Gku1MCLDlJF3wgsm6+tXjbhbqG0RR5IKiv3My4Q5kx2JEGDFV+X/RgB5wQz1ggUsipMSyDhrqlBsYhuMxyOzZNUQX29HuKZZjKTF3omqkyGJIrMhWz7yQ3fwlKrTYjswHxIX/GP4rZqWUL3m0Zhnhu/SrZipSJOLtKbgTwTuQS+iAXNP5DsSVGL0s8+nMrQNuIVyCNUZg3nxRRjgDx/+AvYppn2xiwW/tkuOAYIbtFRkirM5J9U=~-1~||1-EAjzIUtDUl-2250-10-1000-2||~-1'
s3
=
'B9E0C674552DB391815F82C0647FADC9~-1~YAAQBGUzuBl9/72GAQAAyb94wAm4ydH5I2znFxoyfaPIvHOHSyqXZHzgQ7m2RkagTpBzztNa5LmNFcqg4DNXEm/tZ+r1JxOWYfLY1EA5bzEvauFo6puMeVBuo4HdbMVfmxlwKaZpIQRNtUq0Z1wEmw2rrWetb3RktDypg1QT1tuF/hnXMQseB7YMYUY2Gku1MCLDlJF3wgsm6+tXjbhbqG0RR5IKiv3My4Q5kx2JEGDFV+X/RgB5wQz1ggUsipMSyDhrqlBsYhuMxyOzZNUQX29HuKZZjKTF3omqkyGJIrMhWz7yQ3fwlKrTYjswHxIX/GP4rZqWUL3m0Zhnhu/SrZipSJOLtKbgTwTuQS+iAXNP5DsSVGL0s8+nMrQNuIVyCNUZg3nxRRjgDx/+AvYppn2xiwW/tkuOAYIbtFRkirM5J9U=~-1~||1-EAjzIUtDUl-2250-10-1000-2||~-1'
...
@@ -1311,7 +1293,7 @@ bm_sz = 'F7BF54E40B51C55E0818DC07CD173D3D~YAAQtto4fZOUjTaGAQAAu2TuXRLag7FMMOcGVW
...
@@ -1311,7 +1293,7 @@ bm_sz = 'F7BF54E40B51C55E0818DC07CD173D3D~YAAQtto4fZOUjTaGAQAAu2TuXRLag7FMMOcGVW
console
.
log
(
run
(
3
,
url
,
s3
,
bm_sz
,
false
));
console
.
log
(
run
(
3
,
url
,
s3
,
bm_sz
,
false
));
var
cors
=
require
(
'cors'
)
var
cors
=
require
(
'cors'
)
const
express
=
require
(
'express'
)
const
express
=
require
(
'express'
)
...
...
src/model/init.go
View file @
fff90116
...
@@ -4,7 +4,10 @@ import (
...
@@ -4,7 +4,10 @@ import (
"github.com/gorilla/mux"
"github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"github.com/sirupsen/logrus"
"net/http"
"net/http"
"strconv"
"strings"
"strings"
sensor2
"test/sensor"
sensor
"test/sensor_common"
"test/util"
"test/util"
"time"
"time"
)
)
...
@@ -67,4 +70,16 @@ func checkPostRequire(data map[string]string) bool {
...
@@ -67,4 +70,16 @@ func checkPostRequire(data map[string]string) bool {
}
}
func
InitRouter
(
r
*
mux
.
Router
)
{
func
InitRouter
(
r
*
mux
.
Router
)
{
r
.
HandleFunc
(
"/gen"
,
routeAkm
)
r
.
HandleFunc
(
"/gen"
,
routeAkm
)
r
.
HandleFunc
(
"/sensor"
,
genSensor
)
}
func
genSensor
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
data
:=
util
.
GetPostJson
(
r
)
logrus
.
Info
(
"请求一次sensor"
,
data
)
i
,
_
:=
strconv
.
Atoi
(
data
[
"times"
])
res
:=
sensor
.
GenData
(
i
,
data
[
"abck"
],
data
[
"bm_sz"
],
data
[
"ua"
],
data
[
"url"
])
res
,
ua
:=
sensor2
.
GenData
(
i
,
data
[
"abck"
],
data
[
"bm_sz"
],
data
[
"url"
])
util
.
WriteJson
(
w
,
util
.
ErrorJson
(
res
+
"||||"
+
ua
))
}
}
src/model/structs.go
View file @
fff90116
...
@@ -11,10 +11,7 @@ const (
...
@@ -11,10 +11,7 @@ const (
U2Url
=
"https://www.easyjet.com/en"
U2Url
=
"https://www.easyjet.com/en"
U2PostUrl
=
"https://www.easyjet.com/en/buy/flights?isOneWay=on&pid=www.easyjet.com"
U2PostUrl
=
"https://www.easyjet.com/en/buy/flights?isOneWay=on&pid=www.easyjet.com"
VYUrl
=
"https://m.vueling.com"
VYUrl
=
"https://m.vueling.com"
VYPostUrl
=
"https://m.vueling.com/SB"
VYPostUrl
=
"https://m.vueling.com"
NKURL
=
"https://www.spirit.com"
NKPostUrl
=
"https://www.spirit.com"
EWUrl
=
"https://www.eurowings.com/"
EWUrl
=
"https://www.eurowings.com/"
EWPostUrl
=
"https://www.eurowings.com/"
EWPostUrl
=
"https://www.eurowings.com/"
)
)
src/sensor_common/env/env.go
0 → 100644
View file @
fff90116
package
env
type
Env
struct
{
AddEventListener
int
`json:"addEventListener"`
XMLHttpRequest
int
`json:"XMLHttpRequest"`
XDomainRequest
int
`json:"XDomainRequest"`
Emit
int
`json:"emit"`
DeviceOrientationEvent
int
`json:"DeviceOrientationEvent"`
DeviceMotionEvent
int
`json:"DeviceMotionEvent"`
TouchEvent
int
`json:"TouchEvent"`
Spawn
int
`json:"spawn"`
Chrome
int
`json:"chrome"`
FunctionPrototypeBind
int
`json:"functionPrototypeBind"`
Buffer
int
`json:"Buffer"`
PointerEvent
int
`json:"PointerEvent"`
HasInnerWidth
int
`json:"innerWidth"`
HasOuterWidth
int
`json:"outerWidth"`
AvailWidth
int
`json:"availWidth"`
AvailHeight
int
`json:"availHeight"`
Width
int
`json:"width"`
Height
int
`json:"height"`
InnerHeight
int
`json:"innerHeight"`
InnerWidth
int
`json:"innerWidth"`
OuterWidth
int
`json:"outerWidth"`
}
func
bd2
(
a
,
b
int
)
int
{
return
a
+
b
}
func
(
c
*
Env
)
GenEnvStr
()
int
{
return
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
bd2
(
c
.
AddEventListener
,
CO
(
c
.
XMLHttpRequest
,
1
)),
CO
(
c
.
XDomainRequest
,
2
)),
CO
(
c
.
Emit
,
3
)),
CO
(
c
.
DeviceOrientationEvent
,
4
)),
CO
(
c
.
DeviceMotionEvent
,
5
)),
CO
(
c
.
TouchEvent
,
6
)),
CO
(
c
.
Spawn
,
7
)),
CO
(
c
.
HasInnerWidth
,
8
)),
CO
(
c
.
HasOuterWidth
,
9
)),
CO
(
c
.
Chrome
,
10
)),
CO
(
c
.
FunctionPrototypeBind
,
11
)),
CO
(
c
.
Buffer
,
12
)),
CO
(
c
.
PointerEvent
,
13
))
}
func
CO
(
a
int
,
b
int
)
int
{
return
a
<<
b
}
func
NewEnv
()
*
Env
{
return
&
Env
{
AddEventListener
:
1
,
XMLHttpRequest
:
1
,
XDomainRequest
:
0
,
Emit
:
0
,
DeviceOrientationEvent
:
1
,
DeviceMotionEvent
:
1
,
TouchEvent
:
1
,
Spawn
:
0
,
Chrome
:
1
,
FunctionPrototypeBind
:
1
,
Buffer
:
0
,
PointerEvent
:
1
,
HasInnerWidth
:
1
,
HasOuterWidth
:
1
,
AvailWidth
:
2560
,
AvailHeight
:
980
,
Width
:
2560
,
Height
:
1080
,
InnerHeight
:
901
,
InnerWidth
:
2560
,
OuterWidth
:
2560
,
}
}
type
Navigator
struct
{
ProductSub
string
`json:"productSub"`
Language
string
`json:"language"`
Product
string
`json:"product"`
Plugins
string
`json:"plugins"`
}
func
NewNavigator
()
*
Navigator
{
return
&
Navigator
{
ProductSub
:
"20030107"
,
Language
:
"zh-CN"
,
Product
:
"Gecko"
,
Plugins
:
"5"
,
}
}
src/sensor_common/event.go
0 → 100644
View file @
fff90116
package
sensor
import
(
"fmt"
"math"
"math/rand"
"strconv"
)
func
GetRandomTime
()
int64
{
f
:=
rand
.
Float64
()
*
100
+
30
return
int64
(
int
(
math
.
Floor
(
f
)))
}
type
KeyEventInfo
struct
{
keyCode
string
charCode
int
shiftKey
bool
ctrlKey
bool
metaKey
bool
altKey
bool
}
func
ItoS
(
s
int
)
string
{
return
strconv
.
Itoa
(
s
)
}
func
(
akm
*
AkmEvent
)
event108
(
keyType
int
,
delay
int64
,
e
*
KeyEventInfo
)
{
if
akm
.
ke_cnt
>=
akm
.
ke_cnt_lmt
{
return
}
s
:=
now
()
-
akm
.
startTs
+
delay
n
:=
-
2
l
:=
0
d
:=
0
k
:=
0
u
:=
fmt
.
Sprintf
(
"%d,%d,%d,%d,%d,%d,%d;"
,
akm
.
ke_cnt
,
keyType
,
s
,
n
,
l
,
d
,
k
)
akm
.
kact
=
akm
.
kact
+
u
akm
.
ke_vel
=
akm
.
ke_vel
+
akm
.
ke_cnt
+
keyType
+
int
(
s
)
+
n
+
d
+
k
akm
.
ta
+=
s
akm
.
ke_cnt
++
}
func
(
akm
*
AkmEvent
)
ActivateKeyEvent
(
keycode
string
)
{
keyEventInfo
:=
&
KeyEventInfo
{
altKey
:
false
,
shiftKey
:
false
,
metaKey
:
false
,
ctrlKey
:
false
,
charCode
:
0
,
keyCode
:
keycode
}
t
:=
GetRandomTime
()
akm
.
event108
(
1
,
t
,
keyEventInfo
)
akm
.
event108
(
2
,
t
+
2
,
keyEventInfo
)
akm
.
event108
(
3
,
t
*
2
,
keyEventInfo
)
}
// todo 110
func
(
akm
*
AkmEvent
)
ActivateMouseEvent
(
keycode
string
)
{
keyEventInfo
:=
&
KeyEventInfo
{
altKey
:
false
,
shiftKey
:
false
,
metaKey
:
false
,
ctrlKey
:
false
,
charCode
:
0
,
keyCode
:
keycode
}
t
:=
GetRandomTime
()
akm
.
event108
(
1
,
t
,
keyEventInfo
)
akm
.
event108
(
2
,
t
+
2
,
keyEventInfo
)
akm
.
event108
(
3
,
t
*
2
,
keyEventInfo
)
}
func
(
akm
*
AkmEvent
)
ActivateDeviceMotionEvent
()
{
t
:=
GetRandomTime
()
akm
.
event109
(
t
)
}
func
(
akm
*
AkmEvent
)
event109
(
delay
int64
)
{
s
:=
now
()
-
akm
.
startTs
+
delay
e
:=
-
1
n
:=
-
1
o
:=
-
1
// e = t["acceleration"]["x"], n = t["acceleration"]["y"], o=t["acceleration"]["z"]
m
:=
-
1
r
:=
-
1
i
:=
-
1
c
:=
-
1
b
:=
-
1
d
:=
-
1
// m = t["accelerationIncludingGravity"]["x"], r = t["accelerationIncludingGravity"]["y"], i = t["accelerationIncludingGravity"]["z"];
// c = t["rotationRate"]["alpha"], b = t["rotationRate"]["beta"] ,d = t["rotationRate"]["gamma"];
akm
.
dmact
=
akm
.
dmact
+
fmt
.
Sprintf
(
"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d;"
,
akm
.
dme_cnt
,
s
,
e
,
n
,
o
,
m
,
r
,
i
,
c
,
b
,
d
)
akm
.
dme_vel
=
akm
.
dme_vel
+
akm
.
dme_cnt
+
int
(
s
)
akm
.
ta
+=
s
akm
.
dme_cnt
++
}
func
(
akm
*
AkmEvent
)
event114
(
pointerType
,
x
,
y
int
,
delay
int64
)
{
s
:=
now
()
-
akm
.
startTs
+
delay
i
:=
fmt
.
Sprintf
(
"%d,%d,%d,%d,%d;"
,
akm
.
pe_cnt
,
pointerType
,
s
,
x
,
y
)
akm
.
pe_vel
=
akm
.
pe_vel
+
akm
.
pe_cnt
+
pointerType
+
int
(
s
)
+
x
+
y
akm
.
pact
=
akm
.
pact
+
i
if
pointerType
==
1
{
akm
.
pme_cnt
++
}
else
{
akm
.
pduce_cnt
++
}
akm
.
pe_cnt
++
akm
.
ta
+=
s
}
func
Random
()
{
}
func
(
akm
*
AkmEvent
)
ActivatePointerEvent
()
{
t
:=
math
.
Floor
(
rand
.
Float64
()
*
100
+
30
)
x
:=
math
.
Floor
(
rand
.
Float64
()
*
229
+
(
229
/
2
))
y
:=
math
.
Floor
(
rand
.
Float64
()
*
691
+
(
691
/
2
))
akm
.
event114
(
3
,
int
(
x
),
int
(
y
),
int64
(
t
))
akm
.
event114
(
4
,
int
(
x
),
int
(
y
),
int64
(
t
))
}
func
(
akm
*
AkmEvent
)
ActivateOrientationEvent
()
{
t
:=
GetRandomTime
()
akm
.
event111
(
t
)
}
func
(
akm
*
AkmEvent
)
event111
(
delay
int64
)
{
s
:=
now
()
-
akm
.
startTs
+
delay
e
:=
-
1
n
:=
-
1
o
:=
-
1
akm
.
doact
=
akm
.
doact
+
fmt
.
Sprintf
(
"%d,%d,%d,%d,%d;"
,
akm
.
doe_cnt
,
s
,
e
,
n
,
o
)
akm
.
ta
+=
s
akm
.
doe_vel
=
akm
.
doe_vel
+
akm
.
doe_cnt
+
int
(
s
)
akm
.
doe_cnt
++
}
type
AkmEvent
struct
{
startTs
int64
// 总耗时
ta
int64
// keyevent-108
ke_cnt
int
kact
string
ke_vel
int
ke_cnt_lmt
int
// mouseevent-110
me_vel
int
me_cnt
int
mact
string
// devicemotionevent -109
dmact
string
dme_vel
int
dme_cnt
int
// pointerevent -114
pe_cnt
int
pe_vel
int
pact
string
pduce_cnt
int
pme_cnt
int
// deviceorientation -111
doact
string
doe_vel
int
doe_cnt
int
// -117
te_vel
int
tact
string
tme_cnt
int
te_cnt
int
tduce_cnt
int
}
func
(
akm
*
AkmEvent
)
ActivateRandomEvent
()
{
for
i
:=
0
;
i
<
int
(
math
.
Floor
(
rand
.
Float64
()
*
10
+
10
));
i
++
{
akm
.
ActivateKeyEvent
(
"a"
)
}
for
i
:=
0
;
i
<
int
(
math
.
Floor
(
rand
.
Float64
()
*
5
+
2
));
i
++
{
akm
.
ActivateDeviceMotionEvent
()
}
for
i
:=
0
;
i
<
int
(
math
.
Floor
(
rand
.
Float64
()
*
5
+
2
));
i
++
{
akm
.
ActivateOrientationEvent
()
}
for
i
:=
0
;
i
<
int
(
math
.
Floor
(
rand
.
Float64
()
*
5
+
3
));
i
++
{
akm
.
ActivatePointerEvent
()
}
}
func
NewAkmEvent
(
startTs
int64
)
*
AkmEvent
{
return
&
AkmEvent
{
startTs
:
startTs
,
ke_cnt_lmt
:
150
}
}
src/sensor_common/sensor.go
0 → 100644
View file @
fff90116
package
sensor
import
(
"fmt"
"github.com/imroc/biu"
"github.com/sirupsen/logrus"
"math"
"math/rand"
"net/url"
"strconv"
"strings"
env2
"test/sensor_common/env"
"time"
)
func
hr
(
ngT
,
cgT
int
)
int
{
return
ngT
%
cgT
}
func
Pr
(
v9T
,
pWT
int
)
int
{
return
v9T
&
pWT
}
func
Qr
(
pr
int
,
i
int
)
int
{
return
pr
>>
i
}
type
AkmSign
struct
{
Times
int
Url
string
Abck
string
Bmsz
string
UserAgent
string
startTs
int64
}
func
now
()
int64
{
return
time
.
Now
()
.
UnixMilli
()
}
func
NewAkmSign
(
times
int
,
url
,
ua
string
,
abck
string
,
bmsz
string
)
*
AkmSign
{
return
&
AkmSign
{
Times
:
times
,
Url
:
url
,
Abck
:
abck
,
Bmsz
:
bmsz
,
UserAgent
:
ua
,
startTs
:
time
.
Now
()
.
UnixMilli
()}
}
func
(
a
AkmSign
)
genData
()
string
{
Y8
:=
a
.
startTs
/
2
f3
:=
now
()
env
:=
env2
.
NewEnv
()
envStr
:=
env
.
GenEnvStr
()
navigator
:=
env2
.
NewNavigator
()
Rs
:=
navigator
.
ProductSub
ds
:=
navigator
.
Language
Ls
:=
navigator
.
Product
Xs
:=
navigator
.
Plugins
qs
:=
0
Ys
:=
0
Os
:=
0
Hs
:=
a
.
startTs
/
4064256
Ho
:=
Hs
/
23
Wx
:=
a
.
funcWx
()
// todo webkit
PO
:=
30261693
dU
:=
[]
string
{
"cpen:0"
,
"i1:0"
,
"dm:0"
,
"cwen:0"
,
"non:1"
,
"opc:0"
,
"fc:0"
,
"sc:0"
,
"wrc:1"
,
"isc:0"
,
"vib:1"
,
"bat:1"
,
"x11:0"
,
"x12:1"
}
Ds
:=
rand
.
Float64
()
Ns
:=
int
(
Ds
*
1000
/
2
)
q8
:=
9744
data2
:=
[]
interface
{}{
a
.
UserAgent
,
"uaend"
,
envStr
,
Rs
,
ds
,
Ls
,
Xs
,
qs
,
Ys
,
Os
,
Hs
,
"0"
,
env
.
AvailWidth
,
env
.
AvailHeight
,
env
.
Width
,
env
.
Height
,
env
.
InnerHeight
,
env
.
InnerWidth
,
env
.
OuterWidth
,
""
}
for
_
,
v
:=
range
dU
{
data2
=
append
(
data2
,
v
)
}
Al
:=
0
randomStr
:=
strconv
.
FormatFloat
(
Ds
,
'f'
,
11
,
64
)[
:
11
]
+
strconv
.
Itoa
(
Ns
)
data2
=
append
(
data2
,
q8
,
randomStr
,
Y8
,
Al
,
"loc"
)
arg100
:=
toString
(
data2
)
+
":"
//arg102 := ""
//if a.Times > 3 {
// arg102 = "0,-1,1,0,-1,-1,0;0,-1,1,0,-1,-1,0;0,0,1,1,2416,1765,0;0,0,0,1,2954,2303,0;-1,-1,1,1,1065,529,0;0,-1,0,0,2108,2108,0;"
//}
m3
:=
now
()
-
a
.
startTs
if
a
.
Times
==
1
||
a
.
Times
==
2
{
m3
+=
int64
(
500
+
rand
.
Intn
(
100
))
}
else
if
a
.
Times
>
2
{
m3
+=
int64
(
100
+
rand
.
Intn
(
100
))
}
arg102
:=
""
if
a
.
Times
>
3
{
arg102
=
"0,-1,1,0,-1,-1,0;0,-1,1,0,-1,-1,0;0,0,1,1,2416,1765,0;0,0,0,1,2954,2303,0;-1,-1,1,1,1065,529,0;0,-1,0,0,2108,2108,0;"
}
VA
:=
now
()
OA
:=
a
.
genCanvas
()
dY
:=
map
[
string
]
string
{
"fpValStr"
:
"448809179;-1;dis;,7;true;true;true;-480;true;24;24;true;false;-1"
,
"rVal"
:
OA
[
1
],
"rCFP"
:
OA
[
2
],
}
td
:=
int
(
now
()
-
VA
+
20
)
checkCookie
:=
a
.
VE
(
a
.
Abck
)
vY
:=
0
px
:=
0
KO
:=
Ho
/
6
jO
:=
rand
.
Intn
(
500
)
+
500
Ix
:=
0
CE
:=
0
if
a
.
Times
==
4
{
fmt
.
Println
(
"构造鼠标轨迹"
)
}
arg155_1
:=
-
999999
arg155_2
:=
"-1"
arg155_3
:=
"-1"
akmEvent
:=
NewAkmEvent
(
a
.
startTs
)
if
a
.
Times
>
0
{
akmEvent
.
ActivateRandomEvent
()
arg155_1
=
td
arg155_2
=
dY
[
"rVal"
]
arg155_2
=
dY
[
"rCFP"
]
}
s
:=
akmEvent
.
ke_vel
+
akmEvent
.
me_vel
+
akmEvent
.
doe_vel
+
akmEvent
.
dme_vel
+
akmEvent
.
te_vel
+
akmEvent
.
pe_vel
arg115
:=
[]
interface
{}{
akmEvent
.
ke_vel
+
1
,
akmEvent
.
me_vel
+
32
,
akmEvent
.
te_vel
+
32
,
akmEvent
.
doe_vel
,
akmEvent
.
dme_vel
,
akmEvent
.
pe_vel
,
s
,
now
()
-
a
.
startTs
,
0
,
a
.
startTs
,
arg155_1
,
Ho
,
vY
,
px
,
KO
,
0
,
Ix
,
jO
,
CE
,
"0"
,
a
.
Abck
,
checkCookie
,
arg155_2
,
arg155_3
,
PO
,
"PiZtE"
,
Wx
[
0
],
Wx
[
1
],
0
,
-
1
,
0
,
}
arg80
:=
a
.
VE
(
dY
[
"fpValStr"
])
arg90
:=
a
.
gen90
()
NJ
:=
"1"
VJ
:=
"1,1,1"
RJ
:=
"0"
dJ
:=
"1"
permissions
:=
"11321144241322243122"
if
a
.
Times
==
0
{
permissions
=
"8"
}
WJ
:=
",0,070f409b82df3bdd2f51a6415c7895353c153c47fe6dd8a0f87f3d14c46ccb2b,4,8,5,1,8,5,1,Google Inc. (ATI Technologies Inc.),ANGLE (ATI Technologies Inc., AMD Radeon RX 560 OpenGL Engine, OpenGL 4.1)"
usedMemorySize
:=
int
(
rand
.
Float64
()
*
47219368
+
47219368
/
2
)
FJ
:=
"4294705152,"
+
strconv
.
Itoa
(
usedMemorySize
)
+
","
+
strconv
.
Itoa
(
4294705152
-
usedMemorySize
)
+
",-1,-1"
XJ
:=
"0,841583dac09a721cf2d2c57a09180590d9939b2b73219e5cc6b1dc72b2b04594,0123456789101112,Reload"
gJ
:=
"940925d1b20db7e9ace7d42cb9f7efb38d0d1b3e77f44b62f059f99f534425ac"
qJ
:=
"-1"
arg128
:=
",,"
if
a
.
Times
==
1
||
a
.
Times
==
3
||
a
.
Times
==
4
{
arg128
=
WJ
+
","
+
NJ
+
","
+
gJ
}
arg131
:=
",,,"
if
a
.
Times
==
1
||
a
.
Times
==
3
||
a
.
Times
==
4
{
arg131
=
FJ
+
","
+
VJ
+
","
+
RJ
+
","
+
dJ
}
arg132
:=
","
if
a
.
Times
==
1
||
a
.
Times
==
3
||
a
.
Times
==
4
{
arg132
=
XJ
+
","
+
qJ
}
arg129
:=
"5a4dd815976b96d7332ee11d4ad4f22fbd9d8484fb33b68201be1b71ded52cf3,1,0,Google Inc. (ATI Technologies Inc.),ANGLE (ATI Technologies Inc., AMD Radeon RX 560 OpenGL Engine, OpenGL 4.1),2cd06f89ccaf413c4875680e907893d902d434005dea52a232d420825cd4fa5f,28"
zN
:=
a
.
zNfunc
()
//WN := zN[0]
DN
:=
zN
[
1
]
EN
:=
zN
[
2
]
//YN := zN[3]
//GN := zN[4]
//pN := zN[5]
//BN := zN[6]
arg124
:=
""
if
a
.
Times
==
3
||
a
.
Times
==
4
{
AN
:=
a
.
startTs
Uz
:=
fmt
.
Sprintf
(
"%s%d%s"
,
DN
,
a
.
startTs
,
EN
)
ZX
:=
1
RX
:=
0
var
dX
[]
interface
{}
var
qX
[]
interface
{}
var
LX
[]
interface
{}
Vz
:=
now
()
-
a
.
startTs
mX
:=
0
kX
:=
0
sX
:=
""
//uX := now()
nX
:=
ZX
+
RX
for
mX
==
0
{
sX
=
fmt
.
Sprintf
(
"0.%x"
,
math
.
Float64bits
(
rand
.
Float64
()))[
:
15
]
pq
:=
fmt
.
Sprintf
(
"%s%d%s"
,
Uz
,
nX
,
sX
)
Tq
:=
Iq
(
pq
)
if
0
==
Gq
(
Tq
,
nX
)
{
mX
=
1
//lX := now() - a.startTs
dX
=
append
(
dX
,
sX
)
LX
=
append
(
LX
,
kX
)
if
RX
==
0
{
qX
=
append
(
qX
,
DN
)
qX
=
append
(
qX
,
AN
)
qX
=
append
(
qX
,
EN
)
qX
=
append
(
qX
,
Uz
)
qX
=
append
(
qX
,
ZX
)
qX
=
append
(
qX
,
nX
)
qX
=
append
(
qX
,
sX
)
qX
=
append
(
qX
,
pq
)
qX
=
append
(
qX
,
toString
(
Tq
))
qX
=
append
(
qX
,
Vz
)
}
}
}
for
i
:=
0
;
i
<
9
;
i
++
{
dX
=
append
(
dX
,
fmt
.
Sprintf
(
"0.%x"
,
math
.
Float64bits
(
rand
.
Float64
()))[
:
15
])
}
XX
:=
[]
interface
{}{
0
,
0
,
1
,
0
,
1
,
0
,
1
,
1
,
1
,
1
}
lz
:=
[]
interface
{}{
0
,
0
,
0
,
1
,
11
,
0
,
1
,
2
,
1
,
6
}
qX
=
append
(
qX
,
0
)
qX
=
append
(
qX
,
now
())
result
:=
fmt
.
Sprintf
(
"%s;%s;%s;%s;"
,
toString
(
dX
),
toString
(
XX
),
toString
(
lz
),
toString
(
qX
))
fmt
.
Println
(
toString
(
qX
))
fmt
.
Println
(
result
)
}
times1
:=
0
switch
a
.
Times
{
case
0
:
times1
=
0
case
1
:
times1
=
9
case
2
:
times1
=
8
default
:
times1
=
1
}
timeStr
:=
strconv
.
Itoa
(
times1
)
+
","
+
strconv
.
Itoa
(
a
.
Times
)
data
:=
[]
any
{
"-100"
,
arg100
,
"-105"
,
""
,
"-108"
,
akmEvent
.
kact
,
"-101"
,
"do_en,dm_en,t_en"
,
}
data
=
append
(
data
,
"-110"
,
""
)
data
=
append
(
data
,
"-117"
,
""
,
"-109"
,
akmEvent
.
dmact
)
data
=
append
(
data
,
"-102"
,
arg102
)
data
=
append
(
data
,
"-111"
,
akmEvent
.
doact
,
// "",
"-114"
,
akmEvent
.
pact
,
"-103"
,
// 3 focus 2 blur 焦点问题
// "3,4352;2,12709;0,12719;3,17043;1,17079;",
""
)
data
=
append
(
data
,
"-106"
,
timeStr
,
"-115"
,
// "1,32,32,0,0,0,0,4075,0,1676447795649,-999999,17934,0,0,2989,0,0,4079,0,0,CF546EF91349FD04AAFF436D48BC1E41~-1~YAAQRq08Fy5m7CiGAQAAdWsOVAnvfV/BUEgLoHamIMLnzdDoES1zt19HsfaS5bLPJoxT1UH8f5l3DpvRE3tr+PZ9tmEjq9GGRjFrLlXelMl1Fj3e/JvUWjJrmiZDG3I3hXSOnT0JswGkRnzdgKJ/RTJoUDrjXIZVhkXCiGht1GN4Npm5/ge4jabJAwfknRMx6J22sqMYw/dfypnXeG5iP84Cyz1m/sNthIG3P7lEdZ0/IrOiVMASglN+MWWBbLd8VzOxES7fSwYRdl3LbpTcYZ5kzcQ5BCe3uqH1aJR4XuOITAFH0FtqBAMzva08IWWK8Hh613mJNPcKAT9OJYNMs9Mf7EBh8xXHUns4JfJt5z9KE05uAJCrgDuyyuV349ZhIDuqXjUK/2ZR2A9zmQwfVzY5jZVaDfUW/Odm4nHZzsXQfzhf4G3IyTE=~-1~-1~-1,40161,-1,-1,30261693,PiZtE,53681,94,0,-1,0",
toString
(
arg115
),
"-112"
,
a
.
Url
,
"-119"
,
"-1"
,
"-122"
,
"0,0,0,0,1,0,0"
,
"-123"
,
""
)
data
=
append
(
data
,
"-124"
,
arg124
,
"-126"
,
""
)
data
=
append
(
data
,
"-127"
,
permissions
)
data
=
append
(
data
,
"-128"
,
arg128
)
data
=
append
(
data
,
"-131"
,
arg131
)
data
=
append
(
data
,
"-132"
,
arg132
)
data
=
append
(
data
,
"-133"
,
""
)
if
a
.
Times
==
0
{
data
=
append
(
data
,
"-70"
,
"-1"
,
"-80"
,
"94"
,
"-90"
,
arg90
,
"-116"
,
0
,
"-129"
,
""
)
}
else
{
data
=
append
(
data
,
"-70"
,
dY
[
"fpValStr"
],
"-80"
,
arg80
,
"-90"
,
arg90
,
"-116"
,
0
,
"-129"
,
arg129
)
}
return
GenSensorData
(
toStringList
(
data
),
a
.
Bmsz
,
f3
)
}
func
Gq
(
NXU
[]
interface
{},
zXU
int
)
int
{
WXU
:=
0
for
EXU
:=
0
;
EXU
<
len
(
NXU
);
EXU
++
{
WXU
=
ZeroFillRightShift
(
WXU
<<
8
|
NXU
[
EXU
]
.
(
int
),
0
)
WXU
%=
zXU
}
return
WXU
}
func
Shift
(
a
,
b
int
)
int
{
//if a<<b > math.MaxInt32 {
// return a
//}
t
:=
biu
.
ToBinaryString
(
a
<<
b
)
s
:=
t
[
1
:
len
(
t
)
-
1
]
ss
:=
strings
.
Split
(
s
,
" "
)
var
x
int32
biu
.
ReadBinaryString
(
strings
.
Join
(
ss
[
4
:
],
""
),
&
x
)
return
int
(
x
)
}
func
ProcessBiu
(
str
string
)
string
{
s
:=
str
[
1
:
len
(
str
)
-
1
]
ss
:=
strings
.
ReplaceAll
(
s
,
" "
,
""
)
return
ss
}
func
nn
(
wdU
,
jdU
int
)
int
{
return
ZeroFillRightShift
(
wdU
,
jdU
)
|
Shift
(
wdU
,
32
-
jdU
)
}
func
Iq
(
Gn
string
)
[]
interface
{}
{
Kn
:=
[]
int
{
1116352408
,
1899447441
,
3049323471
,
3921009573
,
961987163
,
1508970993
,
2453635748
,
2870763221
,
3624381080
,
310598401
,
607225278
,
1426881987
,
1925078388
,
2162078206
,
2614888103
,
3248222580
,
3835390401
,
4022224774
,
264347078
,
604807628
,
770255983
,
1249150122
,
1555081692
,
1996064986
,
2554220882
,
2821834349
,
2952996808
,
3210313671
,
3336571891
,
3584528711
,
113926993
,
338241895
,
666307205
,
773529912
,
1294757372
,
1396182291
,
1695183700
,
1986661051
,
2177026350
,
2456956037
,
2730485921
,
2820302411
,
3259730800
,
3345764771
,
3516065817
,
3600352804
,
4094571909
,
275423344
,
430227734
,
506948616
,
659060556
,
883997877
,
958139571
,
1322822218
,
1537002063
,
1747873779
,
1955562222
,
2024104815
,
2227730452
,
2361852424
,
2428436474
,
2756734187
,
3204031479
,
3329325298
}
bn
:=
1779033703
hn
:=
3144134277
Pn
:=
1013904242
Qn
:=
2773480762
Bn
:=
1359893119
Sn
:=
2600822924
Mn
:=
528734635
Hn
:=
1541459225
Zn
,
_
:=
url
.
QueryUnescape
(
Gn
)
gn
:=
8
*
len
(
Zn
)
tlen
:=
len
(
Zn
)
Zn
+=
string
(
byte
(
128
))
Fn
:=
len
(
Zn
)
/
4
+
2
Vn
:=
int
(
math
.
Ceil
(
float64
(
Fn
/
16
)))
+
1
Rn
:=
make
([][]
int
,
Vn
)
for
Ln
:=
0
;
Ln
<
Vn
;
Ln
++
{
Rn
[
Ln
]
=
make
([]
int
,
16
)
for
Xn
:=
0
;
Xn
<
16
;
Xn
++
{
if
64
*
Ln
+
4
*
Xn
>=
tlen
{
break
}
fmt
.
Println
(
tlen
,
64
*
Ln
+
4
*
Xn
)
tt
:=
Zn
[
64
*
Ln
+
4
*
Xn
+
3
]
if
64
*
Ln
+
4
*
Xn
+
3
==
139
{
tt
=
128
}
Rn
[
Ln
][
Xn
]
=
int
(
Zn
[
64
*
Ln
+
4
*
Xn
])
<<
24
|
int
(
Zn
[
64
*
Ln
+
4
*
Xn
+
1
])
<<
16
|
int
(
Zn
[
64
*
Ln
+
4
*
Xn
+
2
])
<<
8
|
int
(
tt
)
<<
0
}
}
qn
:=
float64
(
gn
)
/
math
.
Pow
(
float64
(
2
),
float64
(
32
))
Rn
[
Vn
-
1
][
14
]
=
int
(
math
.
Floor
(
qn
))
Rn
[
Vn
-
1
][
15
]
=
gn
for
zn
:=
0
;
zn
<
Vn
;
zn
++
{
Yn
:=
make
([]
int
,
64
)
xn
:=
bn
On
:=
hn
En
:=
Pn
fn
:=
Qn
tn
:=
Bn
Jn
:=
Sn
wn
:=
Mn
rn
:=
Hn
for
mn
:=
0
;
mn
<
64
;
mn
++
{
if
mn
<
16
{
Yn
[
mn
]
=
Rn
[
zn
][
mn
]
}
else
{
sn
:=
nn
(
Yn
[
mn
-
15
],
7
)
^
nn
(
Yn
[
mn
-
15
],
18
)
^
ZeroFillRightShift
(
Yn
[
mn
-
15
],
3
)
//fmt.Println("sn", mn, sn)
Un
:=
nn
(
Yn
[
mn
-
2
],
17
)
^
nn
(
Yn
[
mn
-
2
],
19
)
^
ZeroFillRightShift
(
Yn
[
mn
-
2
],
10
)
Yn
[
mn
]
=
Yn
[
mn
-
16
]
+
sn
+
Yn
[
mn
-
7
]
+
Un
Un
=
nn
(
tn
,
6
)
^
nn
(
tn
,
11
)
^
nn
(
tn
,
25
)
kn
:=
rn
+
Un
+
int
(
int32
(
tn
)
&
int32
(
Jn
)
^
int32
(
Not
(
tn
))
&
int32
(
wn
))
+
Kn
[
mn
]
+
Yn
[
mn
]
//fmt.Println("sn2", mn, rn, Un, tn, Jn, wn, kn)
ln
:=
xn
&
On
^
xn
&
En
^
On
&
En
rn
=
wn
wn
=
Jn
Jn
=
tn
tn
=
ZeroFillRightShift
(
fn
+
kn
,
0
)
//fmt.Println("tn", fn, kn, tn)
fn
=
En
En
=
On
On
=
xn
sn
=
nn
(
xn
,
2
)
^
nn
(
xn
,
13
)
^
nn
(
xn
,
22
)
xn
=
ZeroFillRightShift
(
kn
+
sn
+
ln
,
0
)
}
}
bn
+=
xn
hn
+=
On
Pn
+=
En
Qn
+=
fn
Bn
+=
tn
Sn
+=
Jn
Mn
+=
wn
Hn
+=
rn
//fmt.Println(bn, hn, Pn, Qn, Bn, Sn, Mn, Hn)
}
return
[]
interface
{}{
bn
>>
24
&
255
,
bn
>>
16
&
255
,
bn
>>
8
&
255
,
255
&
bn
,
hn
>>
24
&
255
,
hn
>>
16
&
255
,
hn
>>
8
&
255
,
255
&
hn
,
Pn
>>
24
&
255
,
Pn
>>
16
&
255
,
Pn
>>
8
&
255
,
255
&
Pn
,
Qn
>>
24
&
255
,
Qn
>>
16
&
255
,
Qn
>>
8
&
255
,
255
&
Qn
,
Bn
>>
24
&
255
,
Bn
>>
16
&
255
,
Bn
>>
8
&
255
,
255
&
Bn
,
Sn
>>
24
&
255
,
Sn
>>
16
&
255
,
Sn
>>
8
&
255
,
255
&
Sn
,
Mn
>>
24
&
255
,
Mn
>>
16
&
255
,
Mn
>>
8
&
255
,
255
&
Mn
,
Hn
>>
24
&
255
,
Hn
>>
16
&
255
,
Hn
>>
8
&
255
,
255
&
Hn
,
}
}
func
Not
(
tn
int
)
int
{
return
-
tn
-
1
}
func
ZeroFillRightShift
(
un
int
,
i
int
)
int
{
t
:=
biu
.
ToBinaryString
(
int32
(
un
))
s
:=
t
[
1
:
len
(
t
)
-
1
]
sList
:=
strings
.
Split
(
s
,
" "
)
ss
:=
strings
.
Join
(
sList
,
""
)
var
res
int64
//-10101100000010000010101011100
//101010011111101111101010100100
// 1110101001111110111110101
zeroFill
:=
""
for
k
:=
0
;
k
<
i
;
k
++
{
zeroFill
+=
"0"
}
ok
:=
biu
.
ReadBinaryString
(
fmt
.
Sprintf
(
"%s%s"
,
zeroFill
,
ss
[
:
len
(
ss
)
-
i
]),
&
res
)
if
ok
!=
nil
{
logrus
.
Error
(
ok
)
}
return
int
(
res
)
}
func
toString
(
data
[]
interface
{})
string
{
res
:=
make
([]
string
,
len
(
data
))
for
i
,
v
:=
range
data
{
switch
v
.
(
type
)
{
case
string
:
res
[
i
]
=
v
.
(
string
)
case
int
:
res
[
i
]
=
strconv
.
Itoa
(
v
.
(
int
))
case
int64
:
res
[
i
]
=
strconv
.
Itoa
(
int
(
v
.
(
int64
)))
case
float64
:
res
[
i
]
=
fmt
.
Sprintf
(
"%f"
,
v
)
}
}
return
strings
.
Join
(
res
,
","
)
}
func
toStringList
(
data
[]
any
)
[]
string
{
res
:=
make
([]
string
,
len
(
data
))
for
i
,
v
:=
range
data
{
switch
v
.
(
type
)
{
case
string
:
res
[
i
]
=
v
.
(
string
)
case
int
:
res
[
i
]
=
strconv
.
Itoa
(
v
.
(
int
))
case
int64
:
res
[
i
]
=
strconv
.
Itoa
(
int
(
v
.
(
int64
)))
case
float64
:
res
[
i
]
=
fmt
.
Sprintf
(
"%f"
,
v
)
}
}
return
res
}
func
Irand
()
*
rand
.
Rand
{
r
:=
rand
.
New
(
rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
return
r
}
func
(
a
*
AkmSign
)
funcWx
()
[]
int64
{
Mc
:=
int64
(
math
.
Floor
(
rand
.
Float64
()
*
1e5
+
1e4
))
Hc
:=
strconv
.
Itoa
(
int
(
a
.
startTs
*
Mc
))
Zc
:=
0
var
Dc
[]
int
Wc
:=
len
(
Hc
)
>=
18
for
i
:=
0
;
len
(
Dc
)
<
6
;
i
++
{
t
,
_
:=
strconv
.
Atoi
(
Hc
[
Zc
:
Zc
+
2
])
Dc
=
append
(
Dc
,
t
)
if
Wc
{
Zc
+=
3
}
else
{
Zc
+=
2
}
}
var
res
[]
int64
res
=
append
(
res
,
Mc
)
res
=
append
(
res
,
a
.
genVc
(
Dc
))
return
res
}
func
(
a
AkmSign
)
genVc
(
Rc
[]
int
)
int64
{
dc
:=
Rc
[
0
]
-
Rc
[
1
]
Lc
:=
Rc
[
2
]
-
Rc
[
3
]
Xc
:=
Rc
[
4
]
-
Rc
[
5
]
qc
:=
math
.
Sqrt
(
float64
(
dc
*
dc
+
Lc
*
Lc
+
Xc
*
Xc
))
return
int64
(
math
.
Floor
(
qc
))
}
func
(
a
AkmSign
)
genCanvas
()
[]
string
{
res
:=
make
([]
string
,
3
)
res
[
0
]
=
fmt
.
Sprintf
(
"%d"
,
-
1338919844
)
res
[
1
]
=
fmt
.
Sprintf
(
"%d"
,
rand
.
Intn
(
400
)
+
100
)
res
[
2
]
=
fmt
.
Sprintf
(
"%d"
,
204099283
)
return
res
}
func
(
a
AkmSign
)
VE
(
wc
string
)
int
{
var
kc
int
=
0
for
i
:=
0
;
i
<
len
(
wc
);
i
++
{
sc
:=
wc
[
i
]
if
sc
<
128
{
kc
+=
int
(
sc
)
}
}
return
int
(
kc
)
}
func
(
a
AkmSign
)
gen90
()
[]
int
{
randomInt
:=
rand
.
Intn
(
20
)
t
:=
time
.
UnixMilli
(
a
.
startTs
)
month
:=
int
(
int
(
t
.
Month
())
+
1
)
*
t
.
Day
()
return
[]
int
{
month
,
randomInt
}
}
func
(
a
AkmSign
)
zNfunc
()
map
[
int
]
any
{
abck
,
_
:=
url
.
QueryUnescape
(
a
.
Abck
)
TXU
:=
strings
.
Split
(
abck
,
"~"
)
if
len
(
TXU
)
>
5
{
bXU
:=
TXU
[
0
]
mxU
:=
strings
.
Split
(
TXU
[
4
],
"||"
)
for
DXU
:=
0
;
DXU
<
len
(
mxU
);
DXU
++
{
vXU
:=
strings
.
Split
(
mxU
[
DXU
],
"-"
)
if
len
(
vXU
)
>=
5
{
SXU
,
_
:=
strconv
.
Atoi
(
vXU
[
0
])
JXU
:=
vXU
[
1
]
HXU
,
_
:=
strconv
.
Atoi
(
vXU
[
2
])
ZXU
,
_
:=
strconv
.
Atoi
(
vXU
[
3
])
kXU
,
_
:=
strconv
.
Atoi
(
vXU
[
4
])
QXU
:=
1
if
len
(
vXU
)
>=
6
{
QXU
,
_
=
strconv
.
Atoi
(
vXU
[
5
])
}
fXU
:=
make
(
map
[
int
]
any
)
fXU
[
0
]
=
SXU
fXU
[
1
]
=
bXU
fXU
[
2
]
=
JXU
fXU
[
3
]
=
HXU
fXU
[
4
]
=
ZXU
fXU
[
5
]
=
kXU
fXU
[
6
]
=
QXU
if
QXU
==
2
{
return
fXU
}
}
}
}
return
nil
}
func
genT3
()
string
{
HL
:=
"abcdefghijklmnopaqrstuvxyzABCDEFGHIJKLMNOPAQRSTUVXYZ!@#%&-_=;:<>,~000000000000000000001111111111111111111133333333333333333333444444444444444444445555555555555555555566666666666666666666777777777777777777778888888888888888888899999999999999999999"
hL
:=
","
rand
.
Seed
(
time
.
Now
()
.
UnixMilli
())
r
:=
rand
.
Intn
(
3
)
+
3
for
i
:=
0
;
i
<
r
;
i
++
{
for
j
:=
0
;
j
<
rand
.
Intn
(
3
)
+
3
;
j
++
{
hL
+=
string
(
HL
[
rand
.
Intn
(
len
(
HL
))])
}
hL
+=
","
}
return
hL
}
func
VE
(
wc
string
)
int
{
kc
:=
0
for
i
:=
0
;
i
<
len
(
wc
);
i
++
{
sc
:=
wc
[
i
]
if
sc
<
128
{
kc
+=
int
(
sc
)
}
}
return
kc
}
func
genSensor1
(
vw
string
,
pr
int
)
string
{
res
:=
""
Kr
:=
strings
.
Split
(
vw
,
","
)
for
jr
:=
0
;
jr
<
len
(
Kr
);
jr
++
{
Tr
:=
hr
(
Pr
(
Qr
(
pr
,
8
),
65535
),
len
(
Kr
))
pr
*=
65793
pr
&=
4294967295
pr
+=
4282663
pr
&=
8388607
Ir
:=
hr
(
Pr
(
Qr
(
pr
,
8
),
65535
),
len
(
Kr
))
pr
*=
65793
pr
&=
4294967295
pr
+=
4282663
pr
&=
8388607
Gr
:=
Kr
[
Tr
]
Kr
[
Tr
]
=
Kr
[
Ir
]
Kr
[
Ir
]
=
Gr
}
res
=
strings
.
Join
(
Kr
,
","
)
return
res
}
func
genSensor2
(
Zr
string
,
Dr
int
)
string
{
res
:=
""
Vr
:=
""
Cr
:=
1
dr
:=
make
([]
int
,
128
)
for
Nr
:=
0
;
Nr
<
127
;
Nr
++
{
if
Nr
<
32
||
39
==
Nr
||
34
==
Nr
||
92
==
Nr
{
dr
[
Nr
]
=
-
1
}
else
{
dr
[
Nr
]
=
len
(
Vr
)
Vr
+=
string
(
byte
(
Nr
))
}
}
for
Nr
:=
0
;
Nr
<
len
(
Zr
);
Nr
++
{
Xr
:=
(
Dr
>>
8
)
&
65535
Dr
*=
65793
Dr
&=
4294967295
Dr
+=
4282663
Dr
&=
8388607
gr
:=
Zr
[
Nr
]
Cr
=
dr
[
uint8
(
Zr
[
Nr
])]
if
dr
[
uint8
(
Zr
[
Nr
])]
>=
0
{
Cr
+=
Xr
%
len
(
Vr
)
Cr
%=
len
(
Vr
)
gr
=
Vr
[
Cr
]
res
+=
string
(
gr
)
}
}
return
res
}
func
GenSensorData
(
data
[]
string
,
bmsz
string
,
f3
int64
)
string
{
t3
:=
genT3
()
//t3 = ",lll,lll,lll,"
text
:=
strings
.
Join
(
data
,
t3
)
t
:=
bd
(
"2"
,
t3
)
t
=
bd
(
t
,
"2"
)
tw
:=
now
()
Jw
:=
"7a74G7m23Vrp0o5c931372"
Uw
:=
"2s0asvpTvpeqfsTnrJpApg=="
text
=
bd
(
bd
(
bd
(
bd
(
bd
(
Jw
,
Uw
),
t3
),
strconv
.
Itoa
(
24
^
VE
(
text
))),
t3
),
text
)
text
=
bd
(
bd
(
bd
(
bd
(
"2"
,
t3
),
"2"
),
t3
),
text
)
ww
:=
splitBmsz
(
bmsz
)
cw
:=
time
.
Now
()
.
Unix
()
cw
=
time
.
Now
()
.
Unix
()
-
cw
Mr
:=
time
.
Now
()
.
Unix
()
text
=
genSensor1
(
text
,
ww
[
1
])
Mr
=
time
.
Now
()
.
Unix
()
-
Mr
text
=
genSensor2
(
text
,
ww
[
0
])
zr
:=
strconv
.
Itoa
(
int
(
now
()
-
f3
))
+
","
+
"0,"
+
strconv
.
Itoa
(
int
(
tw
))
+
","
+
strconv
.
Itoa
(
int
(
cw
))
+
","
+
strconv
.
Itoa
(
int
(
Mr
))
+
"0"
fr
:=
";"
return
"2;"
+
strconv
.
Itoa
(
ww
[
0
])
+
fr
+
strconv
.
Itoa
(
ww
[
1
])
+
fr
+
zr
+
fr
+
text
}
func
splitBmsz
(
bmsz
string
)
[]
int
{
SpT
:=
[]
int
{
8888888
,
7777777
}
bmsz
,
_
=
url
.
QueryUnescape
(
bmsz
)
ZpT
:=
strings
.
Split
(
bmsz
,
"~"
)
if
len
(
ZpT
)
>=
4
{
NpT
,
_
:=
strconv
.
Atoi
(
ZpT
[
2
])
CpT
,
_
:=
strconv
.
Atoi
(
ZpT
[
3
])
SpT
[
0
]
=
NpT
SpT
[
1
]
=
CpT
}
return
SpT
}
func
bd
(
a
,
b
string
)
string
{
return
a
+
b
}
func
GenData
(
times
int
,
abck
,
bmsz
,
ua
,
url
string
)
string
{
akm
:=
NewAkmSign
(
times
,
url
,
ua
,
abck
,
bmsz
)
return
akm
.
genData
()
}
func
main
()
{
url
:=
"https://www.easyjet.com/en"
abck
:=
"B9E0C674552DB391815F82C0647FADC9~-1~YAAQBGUzuBl9/72GAQAAyb94wAm4ydH5I2znFxoyfaPIvHOHSyqXZHzgQ7m2RkagTpBzztNa5LmNFcqg4DNXEm/tZ+r1JxOWYfLY1EA5bzEvauFo6puMeVBuo4HdbMVfmxlwKaZpIQRNtUq0Z1wEmw2rrWetb3RktDypg1QT1tuF/hnXMQseB7YMYUY2Gku1MCLDlJF3wgsm6+tXjbhbqG0RR5IKiv3My4Q5kx2JEGDFV+X/RgB5wQz1ggUsipMSyDhrqlBsYhuMxyOzZNUQX29HuKZZjKTF3omqkyGJIrMhWz7yQ3fwlKrTYjswHxIX/GP4rZqWUL3m0Zhnhu/SrZipSJOLtKbgTwTuQS+iAXNP5DsSVGL0s8+nMrQNuIVyCNUZg3nxRRjgDx/+AvYppn2xiwW/tkuOAYIbtFRkirM5J9U=~-1~||1-EAjzIUtDUl-2250-10-1000-2||~-"
bmsz
:=
"F7BF54E40B51C55E0818DC07CD173D3D~YAAQtto4fZOUjTaGAQAAu2TuXRLag7FMMOcGVWfM6R1TuxY9u8Z+UDLtA8qE03/kyE1u1gycaSyEWy9GEbaHoyc2CT7Gqokpc8mxNY8qoEITjbsXZlhLE9Zm2K7ekUb1wAsxocavW2rsJTBvlEfYAcPs6/04ASA1QueCbMErtMm5Jqg7MnPVmCym75ewsP6qihOts07wgEWNkbSsdaHzQf4cm3uHxirh3o91GojyUSGrxRcFRn4NJlQtxIX/PrOsUr4HyxcYTAX+WUh6QyBCzGQ4pNgiszuc4R9OdAy3XGc6LzUP7PBIl5fz6OpZUj2gTJT2j5WPOn2I469jdYrZCAMoajftNJ9nrdy36vkz9S+Xp3z7dh9btp+Q+bpRYd1M9zhtmlmHxTTSv7rs6sOBHE/tmvEHXtc=~3748403~3683895"
ua
:=
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50"
GenData
(
3
,
abck
,
bmsz
,
ua
,
url
)
//datas := "-100---Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41,uaend,12147,20030107,zh-CN,Gecko,5,0,0,0,412917,0,2560,980,2560,1080,2560,901,2560,,cpen:0,i1:0,dm:0,cwen:0,non:1,opc:0,fc:0,sc:0,wrc:1,isc:0,vib:1,bat:1,x11:0,x12:1,9744,0.864927429432,839100684994.5,0,loc:----105---0,-1,0,0,-1,566,0;-1,-1,0,0,-1,-1,0;-1,-1,0,0,-1,-1,0;-1,-1,0,0,-1,-1,0;-1,-1,0,0,-1,-1,0;0,-1,0,0,-1,566,0;----108-------101---do_en,dm_en,t_en----110---0,1,609,842,698;1,1,583,685,666;2,1,623,979,547;3,1,602,894,530;4,1,623,805,441;5,1,596,934,308;6,1,556,930,550;7,1,545,928,488;8,1,541,633,418;9,1,599,876,793;10,1,572,687,699;11,1,607,784,493;12,1,586,520,700;13,1,566,504,625;14,1,569,573,425;15,1,595,536,710;16,1,618,877,695;17,1,547,571,709;18,1,609,766,693;19,1,562,632,530;20,1,637,735,523;21,1,551,699,407;22,1,553,595,467;23,1,555,669,609;24,1,624,641,505;25,1,628,725,691;26,1,611,922,521;27,1,584,887,733;28,1,616,964,795;29,1,590,807,581;30,1,586,623,404;31,1,538,972,364;32,1,548,791,659;33,1,571,868,501;34,1,598,973,637;35,1,548,586,556;36,1,616,980,777;37,1,605,877,511;38,1,594,974,685;39,1,600,769,691;40,1,549,673,591;41,1,634,835,545;42,1,569,753,597;43,1,550,602,429;44,1,592,651,553;45,1,608,742,361;46,1,552,878,667;47,1,631,591,464;48,1,585,994,347;49,1,555,684,576;50,1,600,686,729;51,1,628,985,391;52,1,637,561,769;53,1,566,545,383;54,1,631,690,492;55,1,552,537,739;56,1,615,977,516;57,1,603,756,586;58,1,574,657,587;59,1,616,926,673;60,1,636,563,508;61,1,561,628,604;62,1,547,676,491;63,1,578,995,525;64,1,586,973,671;65,1,565,502,484;66,1,624,599,766;67,1,612,861,401;68,1,628,745,563;69,1,541,725,799;70,1,567,704,650;71,1,545,877,447;72,1,550,556,663;73,1,635,702,595;74,1,605,753,558;75,1,611,969,628;76,1,541,881,393;77,1,588,791,554;78,1,575,553,527;79,1,587,742,711;80,1,541,574,447;81,1,596,812,382;82,1,621,602,796;83,1,626,693,376;84,1,586,611,523;85,1,551,534,702;86,1,609,786,388;87,1,549,773,754;88,1,610,727,345;89,1,543,606,437;90,1,552,547,487;91,1,553,779,384;92,1,541,768,588;93,1,624,591,620;94,1,561,661,354;95,1,633,729,698;96,1,634,503,586;97,1,586,814,312;98,1,551,901,717;99,1,568,571,787;1607,3,26307,849,243,-1;----117-------109-------102---0,-1,0,0,-1,566,0;0,-1,0,0,1223,1223,0;0,-1,0,0,-1,566,0;----111-------114-------103-------106---9,2----115---1,32,32,0,0,0,0,122,0,1678201369989,555,17952,0,0,2992,0,0,37,0,0,08A3A67A872787A1DA63B33C1B6F6266~-1~YAAQtto4faoFjjaGAQAAyLb0XQmN75m4SdNZL1Mhxzd6fBT2ehvIgWFgVBy17LBJba5URgSuHwAtvbQhzm/rXFQGm1a5mnqcZqW4hFtD7HXm26efjv/f+SD6FVCaQmQ4U1sWpr0Uw7kxaEKtOZwmIS0Lx3g4lm6q/jwResUdTJX//gxTjv1aOnE2GhvB/KjPiEpW2uA/eOaxT2oMSSDYWakxqRgblkhagV+RR1YJ67f0S0vPkYMoZYvoS2Ni0UHOOzBbDYPYErAcO+d66tglpJWBd/pwp0hLeeVc1z0Hh3a3yUfzFQf+2XINO7x6By/u/3QNTg208ApArF4LYKxH4BPmb2S69MvN/nGTTP6gjuZaGA3r4GlYQfV/3DpEkJU96Wg3R8iPczz5zJ7XTZzPp5fXqAMs1S0qP2XugZtRbxlhgfKWFP7ot8JXOmFTqTfUkWiSa+nyEA==~-1~-1~-1,41950,213,-1194943582,30261693,PiZtE,47604,69,0,-1,0----112---https://wizzair.com/en-gb#/booking/select-flight/TLV/LTN/2023-03-10/null/1/0/0/null----119----1----122---0,0,0,0,1,0,0----123-------124-------126-------127---01301044241322243122----128---,0,070f409b82df3bdd2f51a6415c7895353c153c47fe6dd8a0f87f3d14c46ccb2b,4,8,5,1,8,5,1,Google Inc. (ATI Technologies Inc.),ANGLE (ATI Technologies Inc., AMD Radeon RX 560 OpenGL Engine, OpenGL 4.1),1,940925d1b20db7e9ace7d42cb9f7efb38d0d1b3e77f44b62f059f99f534425ac----131---4294705152,42611879,4252093273,100,350,1,1,1,0,1----132---0,841583dac09a721cf2d2c57a09180590d9939b2b73219e5cc6b1dc72b2b04594,0123456789101112,Reload,-1----133-------70----841148590;-1;dis;,7;true;true;true;-480;true;24;24;true;false;-1----80---5059----90---19|12----116---0----129---5a4dd815976b96d7332ee11d4ad4f22fbd9d8484fb33b68201be1b71ded52cf3,1,d4e06ee2f99cda3a5513c1d789b160f7e89199ffd53ce46874be61c7b1974f60,Google Inc. (ATI Technologies Inc.),ANGLE (ATI Technologies Inc., AMD Radeon RX 560 OpenGL Engine, OpenGL 4.1),2cd06f89ccaf413c4875680e907893d902d434005dea52a232d420825cd4fa5f,28"
//datas = "-100||||Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41,uaend,12147,20030107,zh-CN,Gecko,5,0,0,0,412918,0,2560,980,2560,1080,2560,901,2560,,cpen:0,i1:0,dm:0,cwen:0,non:1,opc:0,fc:0,sc:0,wrc:1,isc:0,vib:1,bat:1,x11:0,x12:1,9744,0.04781215623,839102295873,0,loc:||||-105||||0,-1,0,0,-1,566,0;-1,-1,0,0,-1,-1,0;-1,-1,0,0,-1,-1,0;-1,-1,0,0,-1,-1,0;-1,-1,0,0,-1,-1,0;0,-1,0,0,-1,566,0;||||-108||||||||-101||||do_en,dm_en,t_en||||-110||||0,1,511,523,323;1,1,511,523,323;2,1,511,523,323;3,1,511,523,323;4,1,512,523,323;5,1,512,523,323;6,1,512,523,323;7,1,512,523,323;8,1,512,523,323;9,1,512,523,323;10,1,512,523,323;11,1,512,523,323;12,1,512,523,323;13,1,512,523,323;14,1,512,523,323;15,1,512,523,323;16,1,512,523,323;17,1,512,523,323;18,1,512,523,323;19,1,512,523,323;20,1,512,523,323;21,1,512,523,323;22,1,512,523,323;23,1,512,523,323;24,1,512,523,323;25,1,512,523,323;26,1,512,523,323;27,1,512,523,323;28,1,512,523,323;29,1,512,523,323;30,1,512,523,323;31,1,512,523,323;32,1,512,523,323;33,1,512,523,323;34,1,512,523,323;35,1,512,523,323;36,1,512,523,323;37,1,512,523,323;38,1,512,523,323;39,1,512,523,323;40,1,512,523,323;41,1,512,523,323;42,1,512,523,323;43,1,512,523,323;44,1,512,523,323;45,1,512,523,323;46,1,512,523,323;47,1,512,523,323;48,1,512,523,323;49,1,512,523,323;50,1,512,523,323;51,1,512,523,323;52,1,512,523,323;53,1,512,523,323;54,1,512,523,323;55,1,512,523,323;56,1,512,523,323;57,1,512,523,323;58,1,512,523,323;59,1,512,523,323;60,1,512,523,323;61,1,512,523,323;62,1,512,523,323;63,1,512,523,323;64,1,512,523,323;65,1,512,523,323;66,1,512,523,323;67,1,512,523,323;68,1,512,523,323;69,1,512,523,323;70,1,512,523,323;71,1,512,523,323;72,1,512,523,323;73,1,512,523,323;74,1,512,523,323;75,1,512,523,323;76,1,512,523,323;77,1,512,523,323;78,1,512,523,323;79,1,512,523,323;80,1,512,523,323;81,1,512,523,323;82,1,512,523,323;83,1,512,523,323;84,1,512,523,323;85,1,512,523,323;86,1,512,523,323;87,1,512,523,323;88,1,512,523,323;89,1,512,523,323;90,1,512,523,323;91,1,512,523,323;92,1,512,523,323;93,1,512,523,323;94,1,512,523,323;95,1,512,523,323;96,1,512,523,323;97,1,512,523,323;98,1,512,523,323;99,1,512,523,323;1607,3,26307,849,243,-1;||||-117||||||||-109||||||||-102||||0,-1,0,0,-1,566,0;0,-1,0,0,1223,1223,0;0,-1,0,0,-1,566,0;||||-111||||||||-114||||||||-103||||||||-106||||9,2||||-115||||1,32,32,0,0,0,0,109,0,1678204591746,526,17952,0,0,2992,0,0,7,0,0,08A3A67A872787A1DA63B33C1B6F6266~-1~YAAQtto4faoFjjaGAQAAyLb0XQmN75m4SdNZL1Mhxzd6fBT2ehvIgWFgVBy17LBJba5URgSuHwAtvbQhzm/rXFQGm1a5mnqcZqW4hFtD7HXm26efjv/f+SD6FVCaQmQ4U1sWpr0Uw7kxaEKtOZwmIS0Lx3g4lm6q/jwResUdTJX//gxTjv1aOnE2GhvB/KjPiEpW2uA/eOaxT2oMSSDYWakxqRgblkhagV+RR1YJ67f0S0vPkYMoZYvoS2Ni0UHOOzBbDYPYErAcO+d66tglpJWBd/pwp0hLeeVc1z0Hh3a3yUfzFQf+2XINO7x6By/u/3QNTg208ApArF4LYKxH4BPmb2S69MvN/nGTTP6gjuZaGA3r4GlYQfV/3DpEkJU96Wg3R8iPczz5zJ7XTZzPp5fXqAMs1S0qP2XugZtRbxlhgfKWFP7ot8JXOmFTqTfUkWiSa+nyEA==~-1~-1~-1,41950,47,55285803,30261693,PiZtE,14781,57,0,-1,0||||-112||||https://wizzair.com/en-gb#/booking/select-flight/TLV/LTN/2023-03-10/null/1/0/0/null||||-119||||-1||||-122||||0,0,0,0,1,0,0||||-123||||||||-124||||||||-126||||||||-127||||01301044241322243122||||-128||||,0,070f409b82df3bdd2f51a6415c7895353c153c47fe6dd8a0f87f3d14c46ccb2b,4,8,5,1,8,5,1,Google Inc. (ATI Technologies Inc.),ANGLE (ATI Technologies Inc., AMD Radeon RX 560 OpenGL Engine, OpenGL 4.1),1,940925d1b20db7e9ace7d42cb9f7efb38d0d1b3e77f44b62f059f99f534425ac||||-131||||4294705152,25867343,4268837809,100,350,1,1,1,0,1||||-132||||0,841583dac09a721cf2d2c57a09180590d9939b2b73219e5cc6b1dc72b2b04594,0123456789101112,Reload,-1||||-133||||||||-70||||-841148590;-1;dis;,7;true;true;true;-480;true;24;24;true;false;-1||||-80||||5059||||-90||||8|1||||-116||||0||||-129||||5a4dd815976b96d7332ee11d4ad4f22fbd9d8484fb33b68201be1b71ded52cf3,1,d4e06ee2f99cda3a5513c1d789b160f7e89199ffd53ce46874be61c7b1974f60,Google Inc. (ATI Technologies Inc.),ANGLE (ATI Technologies Inc., AMD Radeon RX 560 OpenGL Engine, OpenGL 4.1),2cd06f89ccaf413c4875680e907893d902d434005dea52a232d420825cd4fa5f,28"
//
//bmsz := "F7BF54E40B51C55E0818DC07CD173D3D~YAAQtto4fZOUjTaGAQAAu2TuXRLag7FMMOcGVWfM6R1TuxY9u8Z+UDLtA8qE03/kyE1u1gycaSyEWy9GEbaHoyc2CT7Gqokpc8mxNY8qoEITjbsXZlhLE9Zm2K7ekUb1wAsxocavW2rsJTBvlEfYAcPs6/04ASA1QueCbMErtMm5Jqg7MnPVmCym75ewsP6qihOts07wgEWNkbSsdaHzQf4cm3uHxirh3o91GojyUSGrxRcFRn4NJlQtxIX/PrOsUr4HyxcYTAX+WUh6QyBCzGQ4pNgiszuc4R9OdAy3XGc6LzUP7PBIl5fz6OpZUj2gTJT2j5WPOn2I469jdYrZCAMoajftNJ9nrdy36vkz9S+Xp3z7dh9btp+Q+bpRYd1M9zhtmlmHxTTSv7rs6sOBHE/tmvEHXtc=~3748403~3683895"
//
//data := strings.Split(datas, "||||")
//println(GenSensorData(data, bmsz))
}
src/test/akm_common.go
View file @
fff90116
...
@@ -13,9 +13,10 @@ import (
...
@@ -13,9 +13,10 @@ import (
"strconv"
"strconv"
"strings"
"strings"
"sync"
"sync"
sensor2
"test/sensor"
sensor2
"test/sensor
_common
"
)
)
type
Headers
map
[
string
]
string
type
AkmCommonTest
struct
{
type
AkmCommonTest
struct
{
Client
tls_client
.
HttpClient
Client
tls_client
.
HttpClient
IntUrl
string
IntUrl
string
...
@@ -44,7 +45,7 @@ func (c *AkmCommonTest) getCommonCookie() (string, string) {
...
@@ -44,7 +45,7 @@ func (c *AkmCommonTest) getCommonCookie() (string, string) {
}
}
func
(
c
*
AkmCommonTest
)
abckSensorCommon
(
times
int
)
string
{
func
(
c
*
AkmCommonTest
)
abckSensorCommon
(
times
int
)
string
{
ua
:=
""
ua
:=
"
Mozilla/5.0 (Linux; Android 9; SM-N9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36
"
for
i
:=
0
;
i
<
times
;
i
++
{
for
i
:=
0
;
i
<
times
;
i
++
{
abck
,
bm_sz
:=
c
.
getCommonCookie
()
abck
,
bm_sz
:=
c
.
getCommonCookie
()
//datas := fmt.Sprintf("times=%d&abck=%s&bm_sz=%s&url=%s", i, abck, bm_sz, "https://www.spirit.com/")
//datas := fmt.Sprintf("times=%d&abck=%s&bm_sz=%s&url=%s", i, abck, bm_sz, "https://www.spirit.com/")
...
@@ -52,7 +53,8 @@ func (c *AkmCommonTest) abckSensorCommon(times int) string {
...
@@ -52,7 +53,8 @@ func (c *AkmCommonTest) abckSensorCommon(times int) string {
//rs, _ := io.ReadAll(r.Body)
//rs, _ := io.ReadAll(r.Body)
//rsss := strings.Split(string(rs), "|||||")
//rsss := strings.Split(string(rs), "|||||")
//sensorData := rsss[0]
//sensorData := rsss[0]
sensorData
,
ua
:=
sensor2
.
GenData
(
i
,
abck
,
bm_sz
,
c
.
IntUrl
)
sensorData
:=
sensor2
.
GenData
(
i
,
abck
,
bm_sz
,
ua
,
c
.
IntUrl
)
//sensorData, ua := sensor3.GenData(i, abck, bm_sz, c.IntUrl)
c
.
Ua
=
ua
c
.
Ua
=
ua
//sensorData, ua := sensor.GenData(i, abck, bm_sz, "Mozilla/5.0 (Linux; Android 9; SM-N9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36", "https://www.spirit.com/")
//sensorData, ua := sensor.GenData(i, abck, bm_sz, "Mozilla/5.0 (Linux; Android 9; SM-N9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36", "https://www.spirit.com/")
//fmt.Println("ua", ua)
//fmt.Println("ua", ua)
...
@@ -62,7 +64,7 @@ func (c *AkmCommonTest) abckSensorCommon(times int) string {
...
@@ -62,7 +64,7 @@ func (c *AkmCommonTest) abckSensorCommon(times int) string {
req
.
Header
.
Set
(
"accept"
,
"*/*"
)
req
.
Header
.
Set
(
"accept"
,
"*/*"
)
req
.
Header
.
Set
(
"accept-language"
,
"q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
)
req
.
Header
.
Set
(
"accept-language"
,
"q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
)
req
.
Header
.
Set
(
"cache-control"
,
"no-cache"
)
req
.
Header
.
Set
(
"cache-control"
,
"no-cache"
)
req
.
Header
.
Set
(
"content-type"
,
"text/plain;charset=UTF-8"
)
req
.
Header
.
Set
(
"origin"
,
"https://www.spirit.com"
)
req
.
Header
.
Set
(
"origin"
,
"https://www.spirit.com"
)
req
.
Header
.
Set
(
"pragma"
,
"no-cache"
)
req
.
Header
.
Set
(
"pragma"
,
"no-cache"
)
req
.
Header
.
Set
(
"referer"
,
"https://www.spirit.com/"
)
req
.
Header
.
Set
(
"referer"
,
"https://www.spirit.com/"
)
...
@@ -102,18 +104,26 @@ func (c *AkmCommonTest) Init() {
...
@@ -102,18 +104,26 @@ func (c *AkmCommonTest) Init() {
panic
(
err
)
panic
(
err
)
}
}
scripts
:=
doc
.
Find
(
"script"
)
scripts
:=
doc
.
Find
(
"script"
)
sensorurl
,
ok
:=
scripts
.
Last
()
.
Attr
(
"src"
)
last
:=
scripts
.
Last
()
if
ok
!=
true
{
for
{
panic
(
err
)
if
v
,
ok
:=
last
.
Attr
(
"type"
);
ok
&&
v
==
"text/javascript"
{
url
,
ok
:=
last
.
Attr
(
"src"
)
if
ok
{
c
.
SensorUrl
=
url
break
}
}
else
{
last
=
last
.
Prev
()
}
}
c
.
SensorUrl
=
sensorurl
}
fmt
.
Println
(
sensoru
rl
)
fmt
.
Println
(
c
.
SensorU
rl
)
}
}
func
main
()
{
func
main
()
{
initUrl
:=
"https://www.
jetstar.com
"
initUrl
:=
"https://www.
eurowings.com/
"
testUrl
:=
"https://apimobile.vueling.com/Vueling.Mobile.AvailabilityService.WebAPI/api/V2/AvailabilityController/DoAirPriceSB"
testUrl
:=
"https://apimobile.vueling.com/Vueling.Mobile.AvailabilityService.WebAPI/api/V2/AvailabilityController/DoAirPriceSB"
testUrl
=
"https://booking.jetstar.com/cn/zh/booking/search-flights?Currency=AUD&adults=1&children=0&departuredate1=2023-03-21&destination1=SYD&dotcomFCOutboundArrivalTime=2023-03-21T16%3A20%3A00&dotcomFCOutboundCorrelationId=3ec39bb6-f959-4680-a974-93b35bf7d284&dotcomFCOutboundDepartureTime=2023-03-21T14%3A55%3A00&dotcomFCOutboundFare=87&dotcomFCOutboundFlightId=69814507&dotcomFCOutboundIncludeMember=False&dotcomFCOutboundMemberArrivalTime=2023-03-21T07%3A25%3A00&dotcomFCOutboundMemberCorrelationId=a1616c12-ddb2-4497-a0cd-c8eb6ab6b533&dotcomFCOutboundMemberDepartureTime=2023-03-21T06%3A00%3A00&dotcomFCOutboundMemberFare=0&dotcomFCOutboundMemberFlightId=69814650&dotcomFCOutboundMemberIncludeMember=Only&dotcomFCOutboundMemberPriceShown=false&dotcomFCOutboundPriceShown=false&dotcomFCPricesHidden=false&infants=0&origin1=AVV"
testUrl
=
"me=2023-03-21T16%3A20%3A00&dotcomFCOutboundCorrelationId=3ec39bb6-f959-4680-a974-93b35bf7d284&dotcomFCOutboundDepartureTime=2023-03-21T14%3A55%3A00&dotcomFCOutboundFare=87&dotcomFCOutboundFlightId=69814507&dotcomFCOutboundIncludeMember=False&dotcomFCOutboundMemberArrivalTime=2023-03-21T07%3A25%3A00&dotcomFCOutboundMemberCorrelationId=a1616c12-ddb2-4497-a0cd-c8eb6ab6b533&dotcomFCOutboundMemberDepartureTime=2023-03-21T06%3A00%3A00&dotcomFCOutboundMemberFare=0&dotcomFCOutboundMemberFlightId=69814650&dotcomFCOutboundMemberIncludeMember=Only&dotcomFCOutboundMemberPriceShown=false&dotcomFCOutboundPriceShown=false&dotcomFCPricesHidden=false&infants=0&origin1=AVV"
testUrl
=
"https://www.eurowings.com/content/eurowings/us/booking/flights/flight-search/book-flights.booking.json"
testBody
:=
""
testBody
:=
""
wg
:=
&
sync
.
WaitGroup
{}
wg
:=
&
sync
.
WaitGroup
{}
for
i
:=
0
;
i
<
1
;
i
++
{
for
i
:=
0
;
i
<
1
;
i
++
{
...
@@ -161,17 +171,32 @@ func (c *AkmCommonTest) commonTest(testUrl, testBody string) {
...
@@ -161,17 +171,32 @@ func (c *AkmCommonTest) commonTest(testUrl, testBody string) {
req
,
_
=
http
.
NewRequest
(
"GET"
,
testUrl
,
nil
)
req
,
_
=
http
.
NewRequest
(
"GET"
,
testUrl
,
nil
)
}
}
var
headers
=
Headers
{
req
.
Header
.
Set
(
"Host"
,
"booking.jetstar.com"
)
"Host"
:
"www.eurowings.com"
,
req
.
Header
.
Set
(
"sec-ch-ua-mobile"
,
"?0"
)
"sec-ch-ua"
:
"
\"
Google Chrome
\"
;v=
\"
111
\"
,
\"
Not(A:Brand
\"
;v=
\"
8
\"
,
\"
Chromium
\"
;v=
\"
111
\"
"
,
req
.
Header
.
Set
(
"upgrade-insecure-requests"
,
"1"
)
"accept"
:
"application/json, text/plain, */*"
,
req
.
Header
.
Set
(
"user-agent"
,
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
)
"sec-ch-ua-mobile"
:
"?0"
,
req
.
Header
.
Set
(
"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"
)
"user-agent"
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
,
req
.
Header
.
Set
(
"sec-fetch-site"
,
"same-site"
)
"sec-ch-ua-platform"
:
"
\"
Windows
\"
"
,
req
.
Header
.
Set
(
"sec-fetch-mode"
,
"navigate"
)
"sec-fetch-site"
:
"same-origin"
,
req
.
Header
.
Set
(
"sec-fetch-user"
,
"?1"
)
"sec-fetch-mode"
:
"cors"
,
req
.
Header
.
Set
(
"sec-fetch-dest"
,
"document"
)
"sec-fetch-dest"
:
"empty"
,
req
.
Header
.
Set
(
"accept-language"
,
"en-US,en;q=0.9"
)
"referer"
:
"https://www.eurowings.com/us/booking/flights/flight-search.html?isReward=false&source=web&destination=BCN&origins=030&origin=030&fromdate=2023-05-12&triptype=oneway&adults=1&children=0&infants=0&lng=en-US"
,
"accept-language"
:
"en-US,en;q=0.9"
,
}
for
k
,
v
:=
range
headers
{
req
.
Header
.
Set
(
k
,
v
)
}
//req.Header.Set("Host", "booking.jetstar.com")
//req.Header.Set("sec-ch-ua-mobile", "?0")
//req.Header.Set("upgrade-insecure-requests", "1")
//req.Header.Set("user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36")
//req.Header.Set("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")
//req.Header.Set("sec-fetch-site", "same-site")
//req.Header.Set("sec-fetch-mode", "navigate")
//req.Header.Set("sec-fetch-user", "?1")
//req.Header.Set("sec-fetch-dest", "document")
//req.Header.Set("accept-language", "en-US,en;q=0.9")
//req.Header.Set("user-agent", "Mozilla/5.0 (Linux; Android 9; SM-N9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36")
//req.Header.Set("user-agent", "Mozilla/5.0 (Linux; Android 9; SM-N9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36")
req
.
Header
.
Set
(
"user-agent"
,
c
.
Ua
)
req
.
Header
.
Set
(
"user-agent"
,
c
.
Ua
)
resp
,
err
:=
c
.
Client
.
Do
(
req
)
resp
,
err
:=
c
.
Client
.
Do
(
req
)
...
...
src/test/testnk.go
View file @
fff90116
...
@@ -13,7 +13,6 @@ import (
...
@@ -13,7 +13,6 @@ import (
"strconv"
"strconv"
"strings"
"strings"
"sync"
"sync"
"test/sensor"
)
)
func
getCookie
(
client
tls_client
.
HttpClient
)
(
string
,
string
)
{
func
getCookie
(
client
tls_client
.
HttpClient
)
(
string
,
string
)
{
...
@@ -37,14 +36,15 @@ var UA string
...
@@ -37,14 +36,15 @@ var UA string
func
abckSensor
(
client
tls_client
.
HttpClient
,
sensorurl
string
)
{
func
abckSensor
(
client
tls_client
.
HttpClient
,
sensorurl
string
)
{
for
i
:=
0
;
i
<
4
;
i
++
{
for
i
:=
0
;
i
<
4
;
i
++
{
abck
,
bm_sz
:=
getCookie
(
client
)
abck
,
bm_sz
:=
getCookie
(
client
)
//datas := fmt.Sprintf("times=%d&abck=%s&bm_sz=%s&url=%s", i, abck, bm_sz, "https://www.spirit.com/")
datas
:=
fmt
.
Sprintf
(
"times=%d&abck=%s&bm_sz=%s&url=%s"
,
i
,
abck
,
bm_sz
,
"https://www.spirit.com/"
)
//r, _ := http.Post("http://127.0.0.1:3033/akm2t", "application/x-www-form-urlencoded", strings.NewReader(datas))
r
,
_
:=
http
.
Post
(
"http://127.0.0.1:3033/akm2t"
,
"application/x-www-form-urlencoded"
,
strings
.
NewReader
(
datas
))
//rs, _ := io.ReadAll(r.Body)
rs
,
_
:=
io
.
ReadAll
(
r
.
Body
)
//rsss := strings.Split(string(rs), "|||||")
rsss
:=
strings
.
Split
(
string
(
rs
),
"|||||"
)
//sensorData := rsss[0]
sensorData
:=
rsss
[
0
]
//UA = rsss[1]
UA
=
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50"
//if i == 2 {
//if i == 2 {
sensorData
,
UA
:
=
sensor
.
GenData
(
i
,
abck
,
bm_sz
,
"https://www.spirit.com/"
)
// sensorData, UA
= sensor.GenData(i, abck, bm_sz, "https://www.spirit.com/")
//}
//}
fmt
.
Println
(
"ua"
,
UA
)
fmt
.
Println
(
"ua"
,
UA
)
sensor
:=
"{
\"
sensor_data
\"
:
\"
"
+
sensorData
+
"
\"
}"
sensor
:=
"{
\"
sensor_data
\"
:
\"
"
+
sensorData
+
"
\"
}"
...
...
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