当前位置: 首页 > news >正文

解析快手滑块验证码的逆向工程

快手滑块验证码是一种常见的反机器人验证方式,通过模拟用户拖动滑块来验证用户身份。本文将介绍如何逆向工程快手滑块验证码的加密算法和轨迹生成方式,并提供详细的代码实现。

1. 加密算法解析
首先,我们需要了解滑块验证码生成时所用的加密算法。根据逆向分析,我们知道快手滑块验证码采用了AES加密算法,但是在使用之前,需要进行一些参数的处理。
// 加密算法
c.a.encrypt(a, i.a.parse('djRkajFnMWxmZWtvZjhzeg=='), l({}, 'iv', i.a.parse('aHMyczhlb3A2cG42Y2Y4OQ=='))).toString()
在这个加密算法中,参数需要经过解析(parse)和字符串转换(toString)等处理。我们需要还原这个算法,以便在Python中进行相应的加密操作。

2. 轨迹生成方式
除了加密算法,快手滑块验证码还需要模拟用户的滑动轨迹,以通过验证。根据逆向分析,我们知道轨迹数组包含了滑块的x、y坐标和时间信息。在模拟轨迹时,我们需要考虑到加速度和曲线算法,以使模拟的轨迹更接近真实用户的行为。
// 轨迹生成
(relativeX - 5) / (315 - 40) * 1000
根据上述公式,我们可以计算出滑块移动的位移量,从而生成模拟的滑动轨迹。

3. 完整实现代码
现在,让我们将以上分析转化为Python代码,以实现快手滑块验证码的自动化识别和解答。
import requests
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
from base64 import b64decode, b64encode
import json

# 加密密钥和初始向量
key = b64decode('djRkajFnMWxmZWtvZjhzeg==')
iv = b64decode('aHMyczhlb3A2cG42Y2Y4OQ==')

# 加密函数
def encrypt(data):
    cipher = AES.new(key, AES.MODE_CBC, iv)
    ciphertext = cipher.encrypt(pad(data.encode(), AES.block_size))
    return b64encode(ciphertext).decode()

# 获取滑块验证码配置信息
def get_slider_captcha():
    url = 'https://captcha.zt.kuaishou.com/rest/zt/captcha/sliding/config'
    params = {'captchaSession': 'your_captcha_session'}
    response = requests.get(url, params=params)
    return response.json()

# 模拟滑动轨迹
def simulate_trajectory(relativeX):
    return (relativeX - 5) / (315 - 40) * 1000

# 主函数
def main():
    # 获取滑块验证码配置信息
    config = get_slider_captcha()
    relativeX = config['relativeX']
    trajectory = simulate_trajectory(relativeX)
    captcha_data = {
        'trajectory': trajectory,
        'relativeX': config['relativeX'],
        'relativeY': config['relativeY'],
        'captchaExtraParam': config['captchaExtraParam'],
        'gpuInfo': config['gpuInfo']
    }
    # 加密滑块验证码数据
    encrypted_data = encrypt(json.dumps(captcha_data))
    print("Encrypted Data:", encrypted_data)

if __name__ == "__main__":
    main()

如果上述代码遇到问题或已更新无法使用等情况可以联系Q:1436423940或直接访问www.ttocr.com测试对接(免费得哈)

相关文章:

解析快手滑块验证码的逆向工程

快手滑块验证码是一种常见的反机器人验证方式,通过模拟用户拖动滑块来验证用户身份。本文将介绍如何逆向工程快手滑块验证码的加密算法和轨迹生成方式,并提供详细的代码实现。 1. 加密算法解析 首先,我们需要了解滑块验证码生成时所用的加密…...

mysql运维知识总结

1. 日志 1.1 错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过 程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&…...

【目标检测】-入门知识

1、回归与分类问题 回归问题是指给定输入变量(特征)和一个连续的输出变量(标签),建立一个函数来预测输出变量的值。换句话说,回归问题的目标是预测一个连续的输出值,例如预测房价、股票价格、销售额等。回归问题通常使用回归分析技术,例如线性回归、多项式回归、决策树…...

翻译笔实现文字识别功能的原理

翻译笔作为一种便携式设备,近年来在语言学习、旅游、商务交流等领域中逐渐受到人们的青睐。其核心功能之一便是文字识别,即将纸质或电子文档中的文字快速、准确地转化为机器可读的文本格式。那么,翻译笔是如何实现这一神奇功能的呢&#xff1…...

文件批量重命名,繁体中文秒变简体中文,轻松实现高效翻译

在数字化时代,我们的工作、学习和生活都离不开电脑文件。随着时间的推移,文件数量不断增加,管理起来变得越来越困难。你是否曾经为如何高效、有序地管理文件而烦恼?现在,有一款强大的文件批量重命名工具,它…...

UML学习

UML(Unified Modeling Language):统一建模语言,提供了一套符号和规则来帮助分析师和设计师表达系统的架构、行为和交互 类图:描绘类、接口之间的关系(继承、实现、关联、依赖等)以及类的内部结构(属性和方法),直观展现系统的静态…...

【话题:工作生活】2022年工作总结--疫情下的上海,疫情中的我。

现在是阳历2023年11月27日星期一,我再次开始撰写自己的年终工作总结。希望再过1、2个月,这份年终总结能够出炉,与大家相遇。 给自己定个小目标,年终的工作生活总结坚持写10年。我2017年毕业,之后就开始写每年的年终总结…...

13.磁盘逻辑卷管理

目录 概述实践查看盘 概述 实践 查看盘 命令 lsblk [rootks2p-hadoop04 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 447.1G 0 disk ├─sdb1 8:17 0 200M 0 part /boot/efi ├─sdb2 8:18 …...

SFTP服务详解:安全高效的文件传输新选择

在数字化日益盛行的今天,文件传输已成为我们日常生活和工作中不可或缺的一部分。然而,传统的文件传输方式往往存在着安全隐患和效率低下的问题。幸运的是,SFTP(SSH File Transfer Protocol)服务的出现为我们提供了一个安全、高效的文件传输解决方案。今天,就让我们一起深…...

mp4转flv怎么转?电脑怎么把视频转成flv?

MP4(MPEG-4 Part 14)是一种多媒体容器格式,广泛用于包含视频、音频、字幕等多种数据流。MP4因其高度灵活性、压缩效率和兼容性成为视频领域的主流格式,支持范围涵盖从在线视频到移动设备的各类应用场景。 FLV文件格式的多个优点 …...

计算机视觉——Python OpenCV BGR转HSV

这里将介绍如何使用 OpenCV 与 Python 来作彩色影像转HSV(RGB to HSV 或 BGR to HSV),在写 Python 影像处理程序时常会用到 OpenCV cvtColor 作颜色空间转换的功能,接下来介绍怎么使用 Python 搭配 OpenCV 模块来进行 RGB/BGR 转 HSV 彩色转HSV空间。 H…...

DC9 Debian和sql注入

信息收集 sudo arp-scan -l 列出局域网主机 arp-scan向局域网中所有可能的ip地址发出arp请求包,如果得到arp回应,就证明局域网中某台主机使用了该ip dc9的ip : 192.168.146.133 访问网页 cms为Debian 端口扫描 22端口是filtered 隐藏目…...

Windows系统上运行appium连接iOS真机自动化测试

步骤: 1、windows安装tidevice工具 2、Mac系统打包安装WebDriverAgent(WDA)工具 3、安装Appium 4、连接iOS手机 iOS自动化的实现和执行都依赖Mac系统,因为需要通过Xcodebuild编译安装WDA (WebDriverAgent)到iOS设备中,通过WDA实现对被测应用进行操作。而Windows系统无…...

vue3使用jsQR解析二维码

1.了解jsQR jsQR是一个纯javascript脚本实现的二维码识别库&#xff0c;不仅可以在浏览器端使用&#xff0c;而且支持后端node.js环境。jsQR使用较为简单&#xff0c;有着不错的识别率。 2.效果图 3.二维码 4.下载jsqr包 npm i -d jsqr5.代码 <script setup> import …...

李廉洋:4.10黄金原油早间走势最新分析及策略。

过去半小时&#xff08;美国&#xff09;股市的下跌是由动量股推动的。这巧妙地凸显了由于动量因素的极度拥挤而导致的高风险。通常情况下&#xff0c;这将预示着低于平均水平的市场回报&#xff0c;但由于今年势头股的表现异常出色&#xff0c;以及对冲基金对这一因素的创纪录…...

Kotlin作用域函数:let、also、run、apply、with

​​​​​​​ let函数 使用场景&#xff1a;可空变量的操作&#xff0c;无需判空 p?.let {it.name "lily"it.age "21"} also函数 使用场景&#xff1a;多个扩展函数链式调用&#xff08;返回值是本身&#xff09; p?.also {it.name "den…...

鸿蒙ArkUI开发学习:【渲染控制语法】

ArkUI开发框架是一套构建 HarmonyOS / OpenHarmony 应用界面的声明式UI开发框架&#xff0c;它支持程序使用 if/else 条件渲染&#xff0c; ForEach 循环渲染以及 LazyForEach 懒加载渲染。本节笔者介绍一下这三种渲染方式的使用。 if/else条件渲染 使用 if/else 进行条件渲染…...

https的配置和使用(以腾讯云为例)

1、注册域名 2、获取证书 3、下载证书 下载下来的证书所有格式 4、在服务器上下载nginx并配置 nginx的配置文件 如下 server {listen 80;listen 443 ssl;server_name delegate.letspiu.net.cn;ssl on; #开启ssl#指定证书位置ssl_certificate /etc/ss…...

STC89C52学习笔记(七)

STC89C52学习笔记&#xff08;七&#xff09; 综述&#xff1a;本文介绍了串口以及讲述了串口相关寄存器如何配置并给予相关代码。 一、修改代码注意事项 在修改代码时不要一次性加入一堆代码&#xff0c;不利于定位错误。可以先注释一些代码&#xff0c;待解决完毕问题后再…...

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记16:蓝桥杯编程手册

一、要背的函数汇总&#xff08;以例子形式&#xff09; 1.GPIO相关 输出&#xff1a;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8 | GPIO_PIN_9,GPIO_PIN_SET) 输入&#xff1a;HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_0) 翻转&#xff1a;HAL_GPIO_TogglePin(GPIOC,0xFF) 2.LCD相关 …...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)

cd /home 进入home盘 安装虚拟环境&#xff1a; 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境&#xff1a; virtualenv myenv 3、激活虚拟环境&#xff08;激活环境可以在当前环境下安装包&#xff09; source myenv/bin/activate 此时&#xff0c;终端…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品&#xff08;包括KL357NU、KL3H7U和KL817U&#xff09;&#xff0c;专为高温环境下的汽车应用设计&#xff0c;具备以下核心优势和技术特点&#xff1a; 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计&#xff0c;确保在…...

HTML中各种标签的作用

一、HTML文件主要标签结构及说明 1. <&#xff01;DOCTYPE html> 作用&#xff1a;声明文档类型&#xff0c;告知浏览器这是 HTML5 文档。 必须&#xff1a;是。 2. <html lang“zh”>. </html> 作用&#xff1a;包裹整个网页内容&#xff0c;lang"z…...

Easy Excel

Easy Excel 一、依赖引入二、基本使用1. 定义实体类&#xff08;导入/导出共用&#xff09;2. 写 Excel3. 读 Excel 三、常用注解说明&#xff08;完整列表&#xff09;四、进阶&#xff1a;自定义转换器&#xff08;Converter&#xff09; 其它自定义转换器没生效 Easy Excel在…...

解密鸿蒙系统的隐私护城河:从权限动态管控到生物数据加密的全链路防护

摘要 本文以健康管理应用为例&#xff0c;展示鸿蒙系统如何通过细粒度权限控制、动态权限授予、数据隔离和加密存储四大核心机制&#xff0c;实现复杂场景下的用户隐私保护。我们将通过完整的权限请求流程和敏感数据处理代码&#xff0c;演示鸿蒙系统如何平衡功能需求与隐私安…...