极验第四代滑块验证码破解(三):滑块轨迹构造
极验第四代滑块验证码破解(三):滑块轨迹构造
- 声明
- 一、极验滑动轨迹分析
- 1. 生成滑动轨迹的js入口
- 2. 滑动轨迹的python实现
- 二、结语
- *本期文章结束啦,如果对您有帮助,记得收藏加关注哦,后期文章会持续更新 ~~~*
声明
原创文章,请勿转载!
本文内容仅限于安全研究,不公开具体源码。维护网络安全,人人有责。
本文关联文章超链接:
- 极验第四代滑块验证码破解(一):AST还原混淆JS
- 极验第四代滑块验证码破解(二):滑块缺口识别
- 极验第四代滑块验证码破解(三):滑块轨迹构造
- 极验第四代滑块验证码破解(四):请求分析及加密参数破解
一、极验滑动轨迹分析
想构造一个成功率高的滑动轨迹,首先得知道js代码中是如何记录滑动过程,不同厂家的记录方式不同。但是,万变不离其宗,记录的过程无非就是通过触发鼠标的点击、移动等事件,记录时间、位置等信息。
1. 生成滑动轨迹的js入口
破解极验最终的目的就是构造w参数,而w参数是由滑动轨迹通过加密算法得到的。所以,可以先找到w参数的位置,通过w参数跳到滑动轨迹加密之前的位置。
第一步:将混淆的js代码还原,还原过程请看 极验第四代滑块验证码破解(一):AST还原混淆JS
第二步:使用reres插件将gcaptcha4.js替换成还原后的js文件
第三步:在gcaptcha4.js中搜索"w",适当位置打上debugger
第四步:打开 极验4代官方测试网站 ,滑动滑块触发debugger
第五步:通过调用栈找到 B F F C 函 数 中 调 用 _BFFC函数中调用 BFFC函数中调用_BBDx函数的位置,并打上debugger
第六步:多滑动几次,观察滑动轨迹规律,便于自己构造
最后:这里我要吐槽下了,极验的研发太不上心了,看看下面的图片就知道了
2. 滑动轨迹的python实现
此方式构造的滑动轨迹,成功率在95%左右,其中各项参数还可以优化。
优化方案:滑动的距离在0-222范围内,可能性不大。每次可保存校验成功的轨迹。下次遇到相同距离时,可直接调用。
# -*- coding: utf-8 -*-
import randomdef __ease_out_expo(x):if x == 1:return 1else:return 1 - pow(2, -10 * x)def __ease_out_quart(x):return 1 - pow(1 - x, 4)def get_slide_track(distance):"""根据滑动距离生成滑动轨迹:param distance: 需要滑动的距离:return: 滑动轨迹<type 'list'>: [[x,y,t], ...]x: 已滑动的横向距离y: 已滑动的纵向距离, 除起点外, 均为0t: 滑动过程消耗的时间, 单位: 毫秒"""if not isinstance(distance, int) or distance < 0:raise ValueError(f"distance类型必须是大于等于0的整数: distance: {distance}, type: {type(distance)}")# 初始化轨迹列表slide_track = [[random.randint(20, 60), random.randint(10, 40), 0]]# 共记录count次滑块位置信息count = 30 + int(distance / 2)# 初始化滑动时间t = random.randint(50, 100)# 记录上一次滑动的距离_x = 0_y = 0for i in range(count):# 已滑动的横向距离x = round(__ease_out_expo(i / count) * distance)# 滑动过程消耗的时间t = random.randint(10, 20)if x == _x:continueslide_track.append([x - _x, _y, t])_x = xslide_track.append([0, 0, random.randint(200, 300)])return slide_trackif __name__ == '__main__':for _ in get_slide_track(100):print(_)
二、结语
友情链接:极验第四代滑块验证码破解(四):请求分析及加密参数破解
本期文章结束啦,如果对您有帮助,记得收藏加关注哦,后期文章会持续更新 ~~~
极验第四代滑块验证码破解(三):滑块轨迹构造相关推荐
- 极验第四代滑块验证码破解(四):请求分析及加密参数破解
极验第四代滑块验证码破解(四):请求分析及加密参数破解 声明 一.极验请求分析 1. 滑块测试网站入口 2. 滑块验证过程抓包 3. 请求详解 3.1. adaptive-captcha-demo 3 ...
- 极验第四代滑块验证码破解(一):AST还原混淆JS
极验第四代滑块验证码破解(一):AST还原混淆JS 声明 一.环境安装 二.AST还原混淆JS 1. 需要还原的js代码链接 2. AST还原源码 3. 极验不同js或不同版本还原方式 三.结语 *本 ...
- 极验第四代滑块验证码破解(二):滑块缺口识别
极验第四代滑块验证码破解(二):滑块缺口识别 声明 一.环境安装 1. 第三方库安装 二.滑块缺口识别 1. 与极验三代滑块对比 2. 缺口识别完整代码 三.结语 *本期文章结束啦,如果对您有帮助,记 ...
- 极验滑块验证码破解与研究(三):滑块缺口识别
极验滑块验证码破解与研究(三):滑块缺口识别 声明 一.环境安装 1. 第三方库安装 二.滑块缺口识别 1. 准备工作 2. 工具函数说明 3. 接口识别原理讲解 4. 缺口识别完整代码 三.结语 * ...
- 极验滑块验证码破解与研究(二):缺口图片还原
极验滑块验证码破解与研究(二):缺口图片还原 声明 一.缺口图片还原js分析 1. 为什么需要还原 2. 本篇文章需要用到的小工具 2.1. reres插件 3. 找到图片还原js入口函数 3.1. ...
- 极验滑块验证码破解最新版
一.简述: 最近无聊想搞一下极验的滑块验证码破解这块,发现破解js代码耗时又耗力出现版本更新可能以前的所有努力都要推翻重做,不够通用性,最后还是选用selenium + PIL 来实现滑块验证码的破解 ...
- 云片滑块验证码破解思路
云片滑块验证码破解思路 作者:Qiled 邮箱:qiled@qq.com 项目Github地址:https://github.com/chenjinhu/YunpianPojie 交流添加Tencen ...
- Selenium模拟登录系列 | 淘宝滑块验证码破解!不难嘛!
导 语 好久没更新了,上来冒个泡吧.各位小伙伴还记得前段时间号主挖过的一个坑嘛(虽然我曾经挖过无数个坑T_T): Selenium模拟登录系列 | B站滑块验证码破解 今天随手更新了一下Seleniu ...
- 极验点选验证码位置识别(一):点选验证码位置识别技术总览
极验点选验证码位置识别(一):点选验证码位置识别技术总览 声明 一.技术栈 1. 验证码图片下载 2. 验证码图片预处理 3. 标签图分割 4. 背景图图标标注 5. 背景图图标训练&识别 5 ...
最新文章
- Asp.net MVC 3实例学习之ExtShop(五)——产品详细页
- 【直播资料下载】Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲...
- 业务中台建设与应用_中心牵头建设公司数据中台数据标签库和客户关系图谱库试点应用正式上线...
- redisdemo php,一个简单的用redis做秒杀支撑的demo (PHP版)
- pandas DataFrame数据转为list
- Ubuntu配置FTP服务(匿名登录)
- ASP.NET加密和解密数据库连接字符串
- ie调试html代码,IE下的调试工具IE WebDeveloper
- vscode如何比较两个文件的异同
- MATLAB--数字图像处理 图像直方图规定化
- ubuntu nvidia驱动更新
- 中美计算机软件著作权登记差异与比较
- 根据url 参数,页面显示不同背景图片
- 软件测试(敏捷开发、迭代模型)
- 了解源代码管理工具——Github
- java游戏源码合集,已整理成文档
- 笔记本电脑wlan+开启移动热点+手机转圈圈【已解决】
- 什么是事务(对事物的简单介绍)
- 电子元器件[1]——晶振
- 摘要、引言和结论的六项区别