极验点选(8-22,js逆向)

本文详细解析了极验点选验证的过程,包括抓包分析、w值加密、请求验证等关键步骤。重点介绍了a值的生成,它是通过特殊处理的坐标点。还提到了tt轨迹的生成,涉及t、e[WxSY(658)]、e[WxSY(679)]和pe等方法。最后,文章感谢了阿J大佬的指导。
网址:aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vU2Vuc2Vib3Q=

一、抓包分析
因为这个和滑块的基本是一样的,所以就不详细说了
在这里插入图片描述
这是请求图片的包,带箭头的都是后面会用到的
在这里插入图片描述
二、w值分析
直接搜"\u0077"就能定位到加密的位置了,因为除了o值变化,其他都和滑块的加密是一样的,有疑问的可以先去看看我前一篇讲极验滑块的文章,现在重点来讲下这个o值
在这里插入图片描述

先来看ep里面的ca值(不检测写死就行),tm值(很随意),pic值(点选图片的地址),passtime(不检测写死就行),rp值(md5(gt+challenge+passtime))。
tt是轨迹,下面来看下怎么生成的,先往上拉找到o赋值的地方
在这里插入图片描述
跟进箭头所指的这个方法

易盾点选验证逆向可从鼠标轨迹生成和数据封装两方面着手。 在鼠标轨迹生成方面,要尽量模拟真人操作,避免被服务器判断为脚本生成。大致逻辑是在相邻的两个点坐标间,取随机的轨迹生成数量以及随机的拖动时间,两次轨迹坐标加上少量的偏差避免成一条直线。以下是 Python 代码示例: ```python import random class SomeClass: def get_trackData(self, xy): xy = xy.split('|') xy_list = [i.split(',') for i in xy] xy_list = [[int(x), int(y)] for x, y in xy_list] tr = [] # 轨迹列表 dx = [] # 点选列表 for i in range(len(xy_list) - 1): # 循环获取到坐标点 s, e = xy_list[i], xy_list[i + 1] # 取出相邻的两个点 if not tr: tr.append([*s, 3]) dx.append([*s, 3]) np = random.randint(30, 40) # 两个点直接生成的轨迹数量 bt = random.randint(30, 60) # 随机时间差值 for j in range(np): # 生成两个点之间的 轨迹 p = (j + 1) / (np + 1) # 进度比例 x = int(s[0] + (e[0] - s[0]) * p) y = int(s[1] + (e[1] - s[1]) * p) tr.append([x, y, tr[-1][2] + bt]) tr.append([*e, tr[-1][2] + bt]) dx.append([*e, tr[-1][2] + bt]) return tr, dx # 示例调用 # obj = SomeClass() # tr, dx = obj.get_trackData("x1,y1|x2,y2|x3,y3") ``` 此代码通过对输入的坐标进行处理,生成模拟的鼠标轨迹和点选数据,以模拟真人操作的轨迹特征,增加逆向操作的真实性[^1]。 在数据封装方面,可使用 JavaScript 进行相关操作。以下是封装代码示例: ```javascript function get_data(token, track, track_point) { // a = get_traceData(tr_list, token) // b = get_traceData(point_list, token) let l = track.length; return JSON.stringify({ 'd': '', 'm': get_m(token, track), 'p': get_p(token, track_point), 'ext': get_ext(token, l) }); } // 示例调用 // let token = "your_token"; // let track = []; // let track_point = []; // console.log(get_data(token, track, track_point)); ``` 该代码将轨迹数据、点选数据等进行封装,生成符合要求的 JSON 数据,用于逆向验证过程中的数据传输[^2]。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值