Commit fff90116 authored by 王明明's avatar 王明明

1111

parent 6143bb0a
......@@ -6,23 +6,23 @@ const { createCanvas, loadImage } = require('canvas')
let fps = [
"-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",
"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);
// selectIdx = 1
selectIdx = 1
let fpValStr = fps[selectIdx];
let webkit = ss[ selectIdx];
_console = console.log;
console.log = function (){}
let FingerprintGenerator = require('fingerprint-generator').FingerprintGenerator
let fingerprintGenerator = new FingerprintGenerator({
browsers: [
{ name: "chrome", minVersion: 99 },
{ name: "edge", minVersion: 99 },
"safari"
{ name: "chrome", minVersion: 87 },
// { name: "edge", minVersion: 99 },
// "safari"
],
devices: [
"mobile",
......@@ -31,7 +31,7 @@ let fingerprintGenerator = new FingerprintGenerator({
operatingSystems: [
// "windows", "macos",
"android",
"ios"
// "ios"
]
});
......@@ -261,11 +261,11 @@ function run(times, url, s3, bm_sz, returnData){
f8 = fingerprint.screen.availHeight
t8 = fingerprint.screen.width
J8 = fingerprint.screen.height
w8 = fingerprint.screen.innerHeight | fingerprint.screen.height
r8 = fingerprint.screen.innerWidth |fingerprint.screen.width
w8 = fingerprint.screen.innerWidth | fingerprint.screen.width
r8 = fingerprint.screen.innerHeight |fingerprint.screen.height
m8 = fingerprint.screen.outerWidth
navigator = fingerprint.navigator
navigator.plugins = '0'
navigator.plugins = 0
}
var Rs = navigator.productSub;
var ds = navigator.language;
......@@ -358,8 +358,6 @@ function run(times, url, s3, bm_sz, returnData){
Ns = parseInt(bO(Ds * 1000, 2), 10);
// mac 9744 win 9096
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 = [
......@@ -581,15 +579,14 @@ function run(times, url, s3, bm_sz, returnData){
let me_cnt = 0;
let mact = '';
function event110(type, pageX, pageY){
function event110(type){
var a = type
var i = Date.now() - bmak.startTs;
var n = pageX, o = pageY;
var c = me_cnt + "," + a + "," + i + "," + n + "," + o;
n = pageX, o = pageY;
c = me_cnt + "," + a + "," + i + "," + n + "," + o;
me_vel = me_vel + me_cnt + a + i + n + o
mact = mact + c +";";
mact = mact + c
ta += i
me_cnt ++;
}
// -117
let te_vel = 0
......@@ -672,13 +669,13 @@ function run(times, url, s3, bm_sz, returnData){
var i = pe_cnt + "," + a + "," + r + "," + o + "," + m;
pe_vel =pe_vel + pe_cnt+ a + r + o + m
pact = pact + i + ';';
1 == a ? pme_cnt++ : pduce_cnt++, pe_cnt++;
1 == a ? pme_cnt++ : pduce_cnt++
ta += r;
}
function pointerEvent(){
let t = parseInt(Math.random() *100) +30
let x = parseInt(Math.random() * fingerprint.screen.width / 2 + (fingerprint.screen.width / 2))
let y = parseInt(Math.random() * fingerprint.screen.height / 2 + (fingerprint.screen.height / 2))
let x = parseInt(Math.random() * 229 + (229 / 2))
let y = parseInt(Math.random() * 691 + (691 / 2))
event114(3,x,y,t)
event114(4,x,y,t)
}
......@@ -686,50 +683,36 @@ function run(times, url, s3, bm_sz, returnData){
let vcact = '';
let vc_cnt = 0;
function event103 (t) {
var a = Date.now() - bmak.startTs + parseInt(Math.random() * 300) + parseInt(Math.random() * 100)
var e = t + ',' + a + ';'
a = Date.now() - bmak.startTs + Math.floor(Math.random() * (5000 - 1000)) + 2000
e = t + ',' + a + ';'
vcact = vcact + e;
vc_cnt ++ ;
}
if (times > 0){
if (Math.random() > 0) {
if (times > 2){
if (Math.random() > 0.4) {
for (let i = 0; i < parseInt(Math.random() * 10 + Math.random() * 10); i++) {
var s = 'qwertyuiopasdfghjklzxcvbnm1234567890;[],./\\'
keyEvent(s[parseInt(Math.random() *s.length)])
}
}
for (let i = 0; i < parseInt(Math.random() * 20 + Math.random() *10); i++) {
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){
if (Math.random() > 0.1){
for (let i = 0; i < parseInt(Math.random() * 5 + Math.random() *10); i++) {
devicemotionEvent()
event103(2)
event103(3)
}
}
if (Math.random() > 0){
for (let i = 0; i < parseInt( Math.random() *5 + Math.random() *5) + 1; i++) {
if (Math.random() > 0.1){
for (let i = 0; i < parseInt(Math.random() *5) + 1; i++) {
touchEvent()
}
}
if (Math.random() > 0) {
if (Math.random() > 0.1) {
for (let i = 0; i < parseInt(Math.random() * 10 + Math.random() * 10); i++) {
orientationEvent()
}
}
if (Math.random() > 0) {
if (Math.random() > 0.1) {
for (let i = 0; i < parseInt(Math.random() * 10 + Math.random() * 5); i++) {
pointerEvent()
......@@ -829,7 +812,6 @@ function run(times, url, s3, bm_sz, returnData){
WHA;
}
rw = PY(Iq(ua)) + PY(Iq(Vx.startTimestamp))
return rw;
pw = []
uW = ''
for (let index = 0; index < 5; index++) {
......@@ -877,7 +859,7 @@ function run(times, url, s3, bm_sz, returnData){
let XJ = "0,841583dac09a721cf2d2c57a09180590d9939b2b73219e5cc6b1dc72b2b04594,0123456789101112,Other";
let qJ = '-1';
let arg128 = ""["concat"](WJ, ",")["concat"](NJ, ",")["concat"](gJ)
arg128 = ',1,940925d1b20db7e9ace7d42cb9f7efb38d0d1b3e77f44b62f059f99f534425ac'
// arg128 = ',1,940925d1b20db7e9ace7d42cb9f7efb38d0d1b3e77f44b62f059f99f534425ac'
let arg131 = ""["concat"](FJ, ",")["concat"](VJ, ",")["concat"](RJ, ",")["concat"](dJ)
let arg132 = ""["concat"](XJ, ",")["concat"](qJ);
......@@ -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);
// arg129 = ",f4d428b56c56367428590b96788fb86adb843acff7c654687443c18ea43a263e,2.625,0,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){
]
let tss = Date.now() - bmak.startTs
data.push("-110",
mact)
times >= 3 ? mouseMoveData : "")
data.push(
"-117",
times > 2?'0,2,1468,-1,-1;1,3,1531,-1,-1;':'',
......@@ -1066,7 +1047,7 @@ function run(times, url, s3, bm_sz, returnData){
"")
data.push(
"-124",
"",
arg124,
"-126",
"")
data.push(
......@@ -1079,19 +1060,19 @@ function run(times, url, s3, bm_sz, returnData){
"-128",
// todo
// ",,",
times >1? arg128: ",," ,
times == 4? arg128: ",," ,
)
data.push(
// todo
"-131",
// todo
times >1?arg131: ",,," ,
times == 4 ? arg131: ",,," ,
)
data.push(
"-132",
// ",",
// times == 3 ? LJ :',',
times >1?arg132 : ','
times == 4? arg132 : ','
)
data.push(
"-133",
......@@ -1287,7 +1268,8 @@ function genSensorData(data, f3, t3, ua){
console.log(ww);
// 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'
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){
// console.log('res->', abck);
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
console.log(run(3, url,s3, bm_sz, false));
console.log(run(3, url,s3, bm_sz, false));
var cors = require('cors')
const express = require('express')
......
......@@ -4,7 +4,10 @@ import (
"github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"net/http"
"strconv"
"strings"
sensor2 "test/sensor"
sensor "test/sensor_common"
"test/util"
"time"
)
......@@ -67,4 +70,16 @@ func checkPostRequire(data map[string]string) bool {
}
func InitRouter(r *mux.Router) {
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))
}
......@@ -11,10 +11,7 @@ const (
U2Url = "https://www.easyjet.com/en"
U2PostUrl = "https://www.easyjet.com/en/buy/flights?isOneWay=on&pid=www.easyjet.com"
VYUrl = "https://m.vueling.com"
VYPostUrl = "https://m.vueling.com/SB"
NKURL = "https://www.spirit.com"
NKPostUrl = "https://www.spirit.com"
VYPostUrl = "https://m.vueling.com"
EWUrl = "https://www.eurowings.com/"
EWPostUrl = "https://www.eurowings.com/"
)
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",
}
}
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}
}
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))
}
......@@ -13,9 +13,10 @@ import (
"strconv"
"strings"
"sync"
sensor2 "test/sensor"
sensor2 "test/sensor_common"
)
type Headers map[string]string
type AkmCommonTest struct {
Client tls_client.HttpClient
IntUrl string
......@@ -44,7 +45,7 @@ func (c *AkmCommonTest) getCommonCookie() (string, 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++ {
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/")
......@@ -52,7 +53,8 @@ func (c *AkmCommonTest) abckSensorCommon(times int) string {
//rs, _ := io.ReadAll(r.Body)
//rsss := strings.Split(string(rs), "|||||")
//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
//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)
......@@ -62,7 +64,7 @@ func (c *AkmCommonTest) abckSensorCommon(times int) string {
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("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("pragma", "no-cache")
req.Header.Set("referer", "https://www.spirit.com/")
......@@ -102,18 +104,26 @@ func (c *AkmCommonTest) Init() {
panic(err)
}
scripts := doc.Find("script")
sensorurl, ok := scripts.Last().Attr("src")
if ok != true {
panic(err)
last := scripts.Last()
for {
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(sensorurl)
}
fmt.Println(c.SensorUrl)
}
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://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 := ""
wg := &sync.WaitGroup{}
for i := 0; i < 1; i++ {
......@@ -161,17 +171,32 @@ func (c *AkmCommonTest) commonTest(testUrl, testBody string) {
req, _ = http.NewRequest("GET", testUrl, nil)
}
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")
var headers = Headers{
"Host": "www.eurowings.com",
"sec-ch-ua": "\"Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111\"",
"accept": "application/json, text/plain, */*",
"sec-ch-ua-mobile": "?0",
"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",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-site": "same-origin",
"sec-fetch-mode": "cors",
"sec-fetch-dest": "empty",
"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", c.Ua)
resp, err := c.Client.Do(req)
......
......@@ -13,7 +13,6 @@ import (
"strconv"
"strings"
"sync"
"test/sensor"
)
func getCookie(client tls_client.HttpClient) (string, string) {
......@@ -37,14 +36,15 @@ var UA string
func abckSensor(client tls_client.HttpClient, sensorurl string) {
for i := 0; i < 4; i++ {
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/")
//r, _ := http.Post("http://127.0.0.1:3033/akm2t", "application/x-www-form-urlencoded", strings.NewReader(datas))
//rs, _ := io.ReadAll(r.Body)
//rsss := strings.Split(string(rs), "|||||")
//sensorData := rsss[0]
//UA = rsss[1]
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))
rs, _ := io.ReadAll(r.Body)
rsss := strings.Split(string(rs), "|||||")
sensorData := rsss[0]
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 {
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)
sensor := "{\"sensor_data\":\"" + sensorData + "\"}"
......
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