- 博客(116)
- 资源 (1)
- 收藏
- 关注
原创 抖音验证码滑动轨迹原理(续)
文章分析了三种滑块验证码轨迹模式:1)简单直线轨迹(x从0开始滑动固定距离,y为接口返回值);2)滑块内部起始点轨迹(从滑块范围内某点向右滑动);3)鼠标移动轨迹(记录鼠标从边缘进入滑块的全过程)。通过对比轨迹图像,作者指出不同轨迹模式的特征差异,包括起始点位置、移动方向等关键参数,为理解验证码轨迹原理提供了直观示例。
2025-12-23 14:42:56
271
原创 抖音验证码滑动轨迹原理(很难审核通过)
三类轨迹的核心差异在于记录的用户操作行为类型不同:dragTrack记录按住元素后的拖动过程(如拖动滑块),moveTrack记录自由移动路径(如鼠标悬停),slideTrack专用于滑动控件操作(如滑块验证)。以滑块验证为例,通过计算容器尺寸和滑块位置,可以确定滑块起始坐标范围(x:20~84.05,y:281~321),而moveTrack则记录了鼠标在验证区域内的移动轨迹。这三类轨迹分别对应了不同的交互场景和数据特征。
2025-12-22 17:24:05
130
原创 全面解析抖音环境检测特征参数 x-tt-session-dtrait 加密风控对抗
摘要:抖音Web端接口的风控参数x-tt-session-dtrait采用双重加密机制,包含RSA加密的AES密钥和AES-CBC加密的环境数据。环境特征数据通过MurmurHash3算法生成,包括浏览器指纹(如Canvas画布)、时间戳、接口路径等33项特征值。该参数主要用于请求合法性验证,防止爬虫和恶意请求,其加密过程涉及多层哈希计算和Base64编码,是抖音反爬体系的核心组成部分。
2025-12-15 18:59:52
842
原创 最新雪球网 md5__1038 逆向算法分析
本文通过逆向分析雪球网的反爬机制,重点研究了POST请求中md5__1038参数的生成过程。作者使用调试工具在send方法前设置断点,追踪到VM代码中的qj函数,发现md5__1038是在qt方法中通过4个参数生成:请求路径、请求体(包含设备信息等)、请求方法和一个数字1。最终参数值在qY函数中生成,揭示了雪球网如何通过复杂加密来阻止爬虫访问。
2025-11-08 17:05:31
228
原创 2025年最新acw_sc__v2加密cookie算法【10行代码解决】!!!
文章分析了某网站反爬机制,通过两次请求实现:首次请求返回混淆JS代码和arg1参数,第二次请求需携带由arg1计算得出的acw_sc__v2值。通过断点调试发现,acw_sc__v2由三部分组成:固定前缀197d84838、基于确定性随机算法转换arg1生成的40位十六进制(含固定随机种子)、以及10位浏览器环境相关随机码。该机制通过VM代码混淆和无限debugger增强防护,建议本地解混淆后调试。
2025-09-27 17:53:00
1048
3
原创 【抖音滑动验证码风控分析】
文章摘要:通过对比正常响应与验证码风控响应的头部信息,发现两者存在显著差异。正常响应返回JSON格式数据(Content-Type: application/json)并采用分块传输(Transfer-Encoding: chunked),而风控响应仅返回空文本(Content-Type: text/plain,Content-Length: 0),并通过X-Vc-Bdturing-Parameters等特殊头字段传递风控信息。这些差异主要体现在内容类型、数据传输方式和风控标识参数上,为风控识别提供了关键特
2025-07-14 14:21:15
564
原创 【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack (下)
本文分析了QQ音乐榜单数据请求的加密过程。通过拦截网络请求发现,数据采用AES-GCM加密,请求参数通过sign=P(n.data)生成,响应数据使用j.__cgiDecrypt解密。加密密钥为vTBfEND/dLbvVNq4NbXhzw==,且每次生成16位随机IV。研究发现绕过加密验证的方法:请求不携带"encoding":"ag-1"参数,保持data明文传输,只需分析sign参数即可获取数据。最后给出了Python请求示例,成功获取未加密的响应数据。整个过程展
2025-05-29 14:23:37
1227
2
原创 【QQ音乐】sign签名| data参数 | AES-GCM加密 | webpack(上)
文章摘要 本文分析了QQ音乐排行榜页面中加密参数的逆向过程。通过对请求参数的分析,定位到sign和data加密的关键代码,发现使用了Webpack打包的模块加载机制。作者通过调试找到加载器函数f,提取了包含getSecuritySign方法的模块0。在Node.js环境中实现了Webpack加载器模拟,成功调用签名生成函数并验证了其功能。虽然生成的签名与实际请求中的不一致,但证明了逆向思路的正确性。文章详细展示了从定位加密函数到模块提取的完整逆向过程,为类似Webpack打包的前端加密分析提供了参考案例。
2025-05-28 22:41:43
1355
1
原创 FastMoss 国际电商Tiktok数据分析 JS 逆向 | MD5加密
本文分析了fastmoss.com电商销售榜单页面的签名加密机制。通过逆向分析发现,请求头中的fm-sign参数是通过MD5加密生成,主要流程包括:1)参数排序拼接salt值后MD5加密;2)对加密字符串进行字符异或处理。文章提供了JavaScript和Python两种语言的实现代码示例,均能正确生成目标签名。该签名算法结合时间戳、随机数和固定salt值,确保了请求验证的安全性。
2025-05-27 13:37:16
1823
原创 JS逆向【抖查查】逆向分析 | sign | secret签名验证
本文分析了某网站API请求的加密参数逆向过程。通过开发者工具发现请求头和请求参数中包含多个加密参数,重点解决了d-t和d-v请求头参数的生成逻辑。
2025-05-26 23:07:57
1120
1
原创 【瑞数3代】药监评审中心逆向分析 | 后缀MmEwMD参数
本文主要分析了目标网站https://www.cde.org.cn的POST请求逆向过程,重点关注了瑞数3代cookie(FSSBBIl1UgzbN7N80T)和加密参数MmEwMD的生成机制。通过分析两套JavaScript代码(cts和dts),发现cts用于生成cookie,而dts用于生成MmEwMD参数。首次请求返回202状态码,生成两个cookie,其中FSSBBIl1UgzbN7N80T由瑞数代码生成。第二次请求返回200状态码,并生成新的content和function代码,使用dts生成M
2025-05-23 20:24:41
1346
2
原创 【Docker安装使用superset】数据可视化工具
本文介绍了如何通过 Docker 配置和启动 Apache Superset,并对其进行初始化和管理。首先,使用 docker pull 命令下载指定版本的 Superset 镜像。接着,创建并配置 superset_config.py 文件,设置数据库连接、密钥等参数。然后,通过 docker run 命令挂载本地目录并启动容器。进入容器后,依次执行 superset db upgrade、superset fab create-admin 等命令,完成数据库升级、管理员用户创建、示例数据加载和权限初始化
2025-05-12 02:49:14
861
原创 Docker使用ClickHouse | ClickHouse 配置用户名密码 | ClickHouse 可视化 | windows系统 | 镜像
ClickHouse是一个由Yandex开发的列式数据库管理系统,专为超大规模数据分析任务设计,具有高性能、分布式处理、实时数据处理等特性。它采用列式存储,适用于日志分析、监控系统等场景。本文介绍了如何使用Docker部署ClickHouse,包括拉取镜像、创建并运行服务端容器、拷贝文件、重新启动容器并挂载卷等步骤。此外,还介绍了如何通过DBeaver工具连接ClickHouse进行数据库管理。通过这些步骤,用户可以快速搭建ClickHouse环境并进行数据分析。
2025-05-11 15:48:35
1692
原创 Windows系统下【Celery任务队列】python使用celery 详解(二)
是 Celery 的一个配置项,用于启用任务执行状态的跟踪。具体来说,它允许 Celery 在任务。方法阻塞当前线程,直到任务完成并返回结果,但要注意设置合理的超时时间,避免长时间阻塞。仅适用于开发环境,不建议在生产环境中使用,因为它可能会影响性能。由于任务是异步执行的,可能需要等待一段时间才能完成。在 Celery 中,任务结果的过期时间由。时,结果不会自动过期(需手动清理)。类可用于获取异步任务的状态与结果。)时,结果会在任务完成后立即删除。参数为特定任务单独设置过期时间。,而不仅仅是在任务完成(
2025-05-09 15:44:52
831
1
原创 Windows系统下【Celery任务队列】python使用celery 详解(一)
Celery 是一个基于 Python 的分布式任务队列框架,它允许你在不同的进程甚至不同的服务器上异步执行任务。:如果使用 Redis 作为消息中间件,则需要在Celery 配置中指定 Redis 作为后端和消息代理。:在命令行中启动 Celery 工作者,监听任务队列并执行任务。于此同时,redis数据库多了两个,我们就可以根据ID取获取数据。:在 Python 代码中定义需要异步执行的任务函数,使用。:在其他地方的代码中,可以通过调用任务函数的。方法来将任务发送到消息队列中。文件, 定义了两个任务。
2025-05-09 14:27:07
1204
1
原创 Kafka消息队列之 【消费者分组】 详解
消费者分组(Consumer Group)是 Kafka提供的一种强大的消息消费机制,它允许多个消费者协同工作,共同消费一个或多个主题的消息,从而实现高吞吐量、可扩展性和容错性。
2025-05-09 00:06:33
1495
原创 Windows系统下使用Kafka和Zookeeper,Python运行kafka(二)
本文详细介绍了如何配置和启动Zookeeper,并将其与Kafka集成。首先,通过复制并编辑zoo.cfg文件,配置Zookeeper的数据存储目录、日志存储目录和客户端连接端口等参数。接着,启动Zookeeper服务,并确保其正常运行。然后,修改Kafka的配置文件server.properties,指定Zookeeper的地址和端口,使Kafka能够使用外部Zookeeper。启动Kafka后,安装Kafka插件,并通过Python脚本创建一个名为test的主题。最后,使用Python脚本向该主题发送1
2025-05-08 23:52:41
1009
原创 Windows系统下使用Kafka和Zookeeper,Python运行kafka(一)
在 Kafka 解压目录下,有一个 Zookeeper 的配置文件模板。在另一个命令提示符窗口中,进入 Kafka 解压目录,执行以下命令启动 Kafka。若要关闭 Kafka 和 Zookeeper,可在对应的命令提示符窗口中按。要是 Zookeeper 成功启动,命令提示符窗口会显示相关日志信息。要是 Kafka 成功启动,命令提示符窗口会显示相关日志信息。Kafka 主题是消息的分类,你可以使用以下命令创建一个名为。参数指向 Zookeeper 的地址和端口,默认是。,你可以直接使用默认配置。
2025-05-08 19:55:53
869
原创 Linux系统下使用Kafka和Zookeeper
是一个分布式流处理平台,最初由 LinkedIn 开发,后来成为 Apache软件基金会的顶级项目。它具有高吞吐量、可扩展性、持久性、容错性等特点,主要用于处理实时数据流。
2025-05-08 18:32:13
1440
原创 Scrapy框架之Scrapyd部署及Gerapy分布式爬虫管理框架的使用
Scrapyd是一个用于部署和运行 Scrapy 爬虫的服务器。
2025-05-07 23:25:02
1436
1
原创 Anaconda下载安装并细节配置Python虚拟环境环境教程
清华镜像下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/的虚拟环境,这样创建的虚拟环境将只包含 Python 解释器和必要的运行时依赖,然后可以根据实际需求手动安装所需的库。命令查看所有已创建的虚拟环境及其路径。在输出里,你能看到每个虚拟环境的名称和对应的路径。参数来指定虚拟环境的自定义路径。如果不想在创建虚拟环境时安装过多不必要的库,可以在创建虚拟环境时使用。目录下,这里可以看到只会安装这几个包,输入。这会将虚拟环境创建在。
2025-05-07 14:15:22
389
原创 Scrapy框架之【settings.py文件】详解
文件的主要作用是对Scrapy项目的全局设置进行集中管理。借助修改这个文件中的配置项,你可以对爬虫的行为、性能、数据处理等方面进行灵活调整,而无需修改爬虫代码。
2025-05-03 16:49:00
1115
1
原创 Scrapy框架之【Scrapy-Redis】分布式爬虫详解
是一个基于Redis实现的 Scrapy 分布式爬虫组件。Scrapy 本身是一个强大的 Python爬虫框架,但它默认是单进程单线程的,在面对大规模数据抓取任务时效率不高。则解决了这一问题,它允许你将 Scrapy爬虫扩展到多个机器上运行,从而实现分布式爬虫的功能。提供了一个基于Redis的调度器,用于管理待爬取的请求队列。不同的爬虫实例可以从这个共享的队列中获取请求,避免了请求的重复抓取。:使用Redis的集合(set)数据结构实现了请求去重的功能,确保每个请求只被处理一次。
2025-05-01 01:00:53
1227
1
原创 Scrapy框架之【Scrapy-Splash 爬取动态网页】 详解
是一个用于Scrapy的扩展,其主要功能是处理动态网页。Scrapy 本身在抓取静态网页时表现出色,但对于由 JavaScript 渲染的动态网页,它的处理能力有限。而借助Splash服务,能够让Scrapy抓取动态生成的内容。抓取动态网页的内容。
2025-05-01 00:58:44
659
1
原创 Scrapy框架之 中间件的使用
在实际的爬虫项目中,通常会同时使用爬虫中间件和下载中间件。下载中间件用于处理与 请求和响应相关的底层操作,而爬虫中间件则更侧重于处理与蜘蛛逻辑相关的请求和响应,两者结合可以满足复杂的爬虫需求。例如,在一个爬取电商网站的项目中,可能会使用下载中间件来设置代理和随机,以避免被网站封禁;同时使用爬虫中间件来根据商品的分类过滤请求,只爬取特定类别的商品信息,并对响应中的通用信息进行提取和处理。在 的下载器中间件中,方法的返回值有特定的含义:
2025-04-30 00:50:50
839
1
原创 Scrapy框架之CrawlSpider爬虫 实战 详解
是Scrapy框架中一个非常实用的爬虫基类,它继承自Spider类,主要用于实现基于规则的网页爬取。相较于普通的Spider类,可以根据预定义的规则自动跟进页面中的链接,从而实现更高效、更灵活的爬取。Scrapy 创建爬虫目标网址:http://quotes.toscrape.com/目标:匹配top10标签观察其他的URL链接:在命令行输入,这里的myproject是项目名。:输入。:输入myspider是爬虫名,是初始爬取的域名。
2025-04-29 21:53:09
2255
1
原创 【RabbitMQ消息队列】(二)交换机模式详解
而是需要你在代码里手动发送确认信号,这能够保证消息在消费者真正处理完成后才会从队列中移除,避免因消费者处理消息时出错或崩溃而导致消息丢失。默认情况下,RabbitMQ 会采用轮询的方式将消息依次分发给各个消费者,不管消费者当前的处理能力如何。持久化队列的主要特点是,在 RabbitMQ 服务器重启后,队列不会丢失。(默认值),那么队列是非持久化的,在服务器重启后,该队列及其包含的消息都会被清除。独占队列通常用于临时存储只与当前连接相关的消息,当连接关闭时,队列会自动清理。时,表示这个队列是持久化的。
2025-04-28 17:47:40
498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅