饿了么 阿里227滑块淘系 x5sec bx_et bx-pp 分析

声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

有相关问题请第一时间头像私信联系我删除博客!

前言

滑了大概1k次找到了一点轨迹规律目前用贝塞尔曲线成功率也挺高不过为了训练出足够好的估计我把值给扩大了比如10-20是最佳的我调到0-100来寻找新的突破口,后续加个redis丢缓存里训练ai轨迹。

为了防止被发现特征所以就不给我具体收集轨迹长什么样了,用的人多了就会被大数据收集成功率就下降。目前收集了100条左右。每次成功就把轨迹丢文本里面效率太低了。但是只能过老版滑块,新版的还得训练识别长度。

 主要代码

227

function main(url,a,x5secdata,trace) {
    resultVal = result()
    return resultVal
}

app.get('/get227', (req, res) => {
    t=req.body.t
    a=req.body.a
    x5secdata=req.body.x5secdata
    trace=req.body.trace
    let result_=main(t,a,x5secdata,trace)
    res.send(result_)
  });

加密部分太过麻烦就不细说了。

bx-et

//仅供学习使用
window = global
self = window
top=window
window.origin='###'
window.addEventListener = function addEventListener() {
    console.log('window.addEventListener', arguments)
}
document = {}
 
navigator = {}
window.localStorage = {
    getItem: function (key) {
        return window.localStorage[key] || null;
    },
    setItem: function (key, value) {
        window.localStorage[key] = value.toString();
        this.length = Object.keys(window.localStorage).length;
    },
    removeItem: function (key) {
        delete window.localStorage[key];
        this.length = Object.keys(window.localStorage).length;
    },
    clear: function () {
        window.localStorage = {};
        window.localStorage.length = 0;
    },
    key: function (index) {
        return Object.keys(window.localStorage)[index] || null;
    }
}
location = {
    "ancestorOrigins": {},
    "href": "#####",
    "origin": "##",
    "protocol": "https:",
    "host": "##",
    "hostname": "##",
    "port": "",
    "pathname": "#",
    "search": "#",
    "hash": "",
    toString: function toString() {
        return location.href
    }
}
 
 
screen = {}
screen.availWidth = 1536
window.screenTop=0
window.outerWidth = 1536
navigator.getBattery = function getBattery() {
    console.log('navigator.getBattery', arguments)
}
document.hidden = false
HTMLCanvasElement=function HTMLCanvasElement(){}
HTMLMediaElement=function HTMLMediaElement(){}
HTMLCanvasElement.prototype.toDataURL=function toDataURL(){
    throw new TypeError('Illegal invocation')
}
 
 
a={href:""}
document.createElement = function createElement(tagName) {
    console.log('createElement', arguments)
    if (tagName === 'canvas') {
        return canvas
    }
    if(tagName==='a'){
        return a
    }
}
 
 
window.performance={
    "timeOrigin": 1708407536616.6,
    "timing": {
        "connectStart": 0,
        "navigationStart": 1708407536617,
        "secureConnectionStart": 0,
        "fetchStart": 0,
        "domContentLoadedEventStart": 1708407536619,
        "responseStart": 0,
        "domInteractive": 1708407536619,
        "domainLookupEnd": 0,
        "responseEnd": 1708407536619,
        "redirectStart": 0,
        "requestStart": 0,
        "unloadEventEnd": 0,
        "unloadEventStart": 0,
        "domLoading": 1708407536617,
        "domComplete": 1708407536621,
        "domainLookupStart": 0,
        "loadEventStart": 1708407536621,
        "domContentLoadedEventEnd": 1708407536619,
        "loadEventEnd": 1708407536621,
        "redirectEnd": 0,
        "connectEnd": 0
    },
  
}
 
navigator.plugins= [
    {name: "PDF Viewer", description: "Portable Document Format", filename: "internal-pdf-viewer"},
    {name: "Chrome PDF Viewer", description: "Portable Document Format", filename: "internal-pdf-viewer"},
    {name: "Chromium PDF Viewer", description: "Portable Document Format", filename: "internal-pdf-viewer"},
    {name: "Microsoft Edge PDF Viewer", description: "Portable Document Format", filename: "internal-pdf-viewer"},
    {name: "WebKit built-in PDF", description: "Portable Document Format", filename: "internal-pdf-viewer"},
]
navigator.mimeTypes= [
    {type: 'application/aliedit', suffixes: '', description: 'npaliedit'},
    {type: 'application/asx', suffixes: '*', description: ''},
    {type: 'application/cenroll.cenroll.version.1', suffixes: '',description: 'CEnroll'},
    {type: 'application/hwepass2001.installepass2001', suffixes: '', description: 'HwEpass2001'},
    {type: 'application/hwpta.itrushwpta', suffixes: '', description: 'hwPTA'},
    {type: 'application/hwwdkey.installwdkey', suffixes: '', description: 'hwWDkey'},
    {type: 'application/itrusenroll.certenroll.version.1', suffixes: '', description: 'IEnroll'},
    {type: 'application/java-deployment-toolkit', suffixes: '', description: ''},
    {type: 'application/pdf', suffixes: 'pdf', description: ''},
    {type: 'application/pta.itruspta.version.1', suffixes: '*', description: 'PTA'},
    {type: 'application/qscall-plugin', suffixes: 'dll', description: 'DLL'},
    {type: 'application/tecent-qqlive-plugin', suffixes: '', description: ''},
    {type: 'application/tecent-qzonemusic-plugin', suffixes: 'rts', description: "This plug-in is transfers of QzoneMusic when opening Qzone in a web page with Firefox."},
    {type: 'application/tencent-qqphotodrawex2-plugin', suffixes: 'rts', description: ''},
    {type: 'application/x-alisecctrl-plugin', suffixes: '*', description: 'npAliSecCtrl.dll'},
    {type: 'application/x-google-chrome-pdf', suffixes: 'pdf', description: 'Portable Document Format'},
    {type: 'application/x-java-applet', suffixes: '', description: 'Java Applet'},
    {type: 'application/x-java-applet;deploy=11.321.2', suffixes: '', description: ''},
    {type: 'application/x-java-applet;javafx=8.0.321', suffixes: '', description: ''},
    {type: 'application/x-java-applet;jpi-version=1.8.0_321', suffixes: '', description: ''},
    {type: 'application/x-java-applet;version=1.1', suffixes: '', description: ''},
]
 
 

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

致谢

一路走来能搞定227离不开boda和泰迪的帮助,感谢boda、泰迪对我学习路上的指点与帮助。

侵权首页联系删除博客

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 易语言过阿里x82yx5sec滑块ua算法例子是指使用易语言编写代码来模拟阿里x82yx5sec滑块验证码的ua算法。阿里x82yx5sec滑块ua算法是一种用于识别用户身份的算法,通过比较用户的ua信息是否与真实浏览器的ua信息相符来判断用户是否为机器人。下面是一个使用易语言实现阿里x82yx5sec滑块ua算法的例子: ```易语言 /****************************** * 功能:判断ua信息是否符合阿里x82yx5sec滑块算法 * 参数:ua-用户的ua信息 * 返回值:True-符合算法,False-不符合算法 ******************************/ Function IsUaValid(ua) body = StringToByte(ua) //将ua字符串转化为字节数组 ua_sum = 0 For i = 0 To Len(body)-1 ua_sum = ua_sum + body[i] Next // ua_sum是计算ua信息所有字节的和 ua_hash = ua_sum Mod 64 // ua_hash是ua_sum与64取模的结果 If ua_hash = 35 Then Return True Else Return False EndIf EndFunction /****************************** * 主程序 ******************************/ ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36" If IsUaValid(ua) Then Print("该ua符合阿里x82yx5sec滑块算法") Else Print("该ua不符合阿里x82yx5sec滑块算法") EndIf ``` 上述代码实现了一个名为IsUaValid的函数,用于判断给定的ua信息是否符合阿里x82yx5sec滑块算法。首先将ua信息转化为字节数组,然后计算字节数组中所有字节的和,并将结果与64取模得到ua_hash。最后,通过判断ua_hash是否等于35(阿里x82yx5sec滑块算法的校验值)来判断给定的ua信息是否符合算法。主程序中给定了一个示例的ua信息,并调用IsUaValid函数进行判断,并输出结果。 请注意,上述代码仅为示例,实际的阿里x82yx5sec滑块ua算法可能更加复杂,并且易语言可能不是实现该算法的最佳选择。 ### 回答2: 易语言是一种基于汇编语言的高级编程语言,它可以用来开发Windows平台的应用程序。阿里巴巴的x82yx5sec滑块UA算法是一种用于验证用户身份的算法,它能够识别机器人行为并提供更安全的验证措施。 在易语言中实现x82yx5sec滑块UA算法的例子可以包括以下几个步骤: 1. 导入相关支持库:在易语言中,需要导入一些支持库来实现滑块UA算法。可以使用内置的网络相关库,如NetExtern和NetWeb。 2. 获取用户行为数据:通过获取用户鼠标的点击和滑动行为数据,可以收集到用户的操作轨迹。 3. 生成滑块的位置和大小:在用户界面中生成一个滑块,确定其位置和大小,以便用户通过鼠标操作拖动滑块。 4. 模拟用户操作:通过模拟用户的鼠标移动操作,将滑块移动到指定的位置。 5. 计算滑块位置:根据用户的操作轨迹和滑块的移动情况,计算出滑块的最终位置。 6. 验证用户身份:将计算得到的滑块位置和实际滑块位置进行比较,如果差距较小,则验证通过;否则,需要重新验证用户身份。 以上是一个简单的易语言实现x82yx5sec滑块UA算法的例子。在实际应用中,还需要考虑更多的细节和安全性措施,以确保算法的准确性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值