device_fingerprint、device_id、hmac生成

news2025/5/18 11:40:04

文章目录

  • 1. 写在前面
  • 2. 设备信息
  • 3. 数美指纹

【🏠作者主页】:吴秋霖
【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python与爬虫领域研究与开发工作!
【🌟作者推荐】:对爬虫领域以及JS逆向分析感兴趣的朋友可以关注《爬虫JS逆向实战》《深耕爬虫领域》
未来作者会持续更新所用到、学到、看到的经验与技术知识!包括但不限于:各类验证码突防、爬虫APP与JS逆向分析、RPA自动化、分布式爬虫、Python领域等相关文章

作者声明:文章仅供学习交流与参考!严禁用于任何商业与非法用途!否则由此产生的一切后果均与作者无关!如有侵权,请联系作者本人进行删除!

1. 写在前面

  好久没更新文章了,随笔记录一下。APP端目前更新之后的风控貌似丝毫不下于Web的强度,Web端的话目前作者没有测试验证过,但是貌似是有一个xsce-tk的参数。其他应该都是差不多的。APP端作者用自己的sid进行了测试,数据如下(仅供参考):

NoteDetail: 不Sleep的情况下连续请求 >= 1500(次) 强制对账号进行下线处理
CommentDetail: 比较稳定,好像测试了几个过W+的Comment期间不Sleep未出现异常

部分例如主页作品列表搜索测试就算是携带风控参一样对协议的行为有直接的管控!基本请求1~3次就会出现频繁账号异常

采集的话目前大部分接口都只需要签名参数shield。目前就算是个人使用的账号针对上面提到的接口一样只能请求几次,所以从风控对抗的研究角度来看某一些场景下是可以使用某版本游客的方案进行访问的。生成游客的sid是可以访问上述提到的一些接口信息

上面请求头参数中,大致可以分风控参签名参。其实大部分的场景API只需要用到签名参就能够验签通过。但是往往很多平台或者APP它们请求头多的能够达到几十个参数,其中或多或少都会有设备信息、指纹信息..等不为人知的埋点,用以甄别非正常用户的请求

在这里插入图片描述

2. 设备信息

首先为什么要生成设备信息,采集的场景中固定一个设备信息在持续的采集中,会出现风控异常。这个异常即对设备信息进行了检测,更新设备信息就会解除!这里除了自动到对应的接口生成hmac、device_id信息外,就是手动提取了hmac了,device_id的话抓包获取对应的就行。Android设备的话装一个MT管理器/data/data/com.xingin.xhs/shared prefs/s.xml路径下获取即可,如下所示:

在这里插入图片描述
在这里插入图片描述

IOS的提取方案是一样的,去到对应的文件拿就行。只是方式跟文件的路径有一些差异

这里我们需要借助filza去到根目录。之后按照这个路径private/var/mobile/containers/shared/appgroup/group.com.xingin.discover/library/preferences

然后打开group.com.xingin.discover.plist文件,如下所示:

在这里插入图片描述

除了上面提到的手动提取设备中的hmac信息外,我们还可以通过激活的方式来自动生成,did是一个uuid算法生成的,而hmac的话在/api/sns/v2/user/teenager/status接口中请求获取,实现大致如下所示:

import uuid

def get_hmac():
	did = str(uuid.uuid4()).lower()
	headers = {
		'xy-common-params': '', # 自行获取
		'xy-platform-info': '', # 自行获取
		'x-mini-mua': '',
		'x-mini-sig': '',
		'x-mini-gid': ''
	}
	response = requests.get(url, headers=headers)
	hmac = response.headers['Xy-Ter-Str']
	return hmac

在这里插入图片描述

上面headers中x-mini-*系列的参数mua是必须要的,然后另外两个非必需(不带就是设备异常),实际场景中的话这三个风控参最好都走动态是比较理想的,生成如下所示:

在这里插入图片描述

上面session的话是游客接口出来的,了解过web的应该很熟悉activate接口,然后请求参数的话跟授权接口部分参数一样!主要就是idfaidfv,如下所示:

在这里插入图片描述

上述提到的游客hmac生成都需要shield签名请求才会成功

3. 数美指纹

62位的device_fingerprint参数它在旧版本中在某些场景是需要解决的,头部参数重是动态的!一长串如下所示:

20250418213816b9547c11c3cd5b9d3d7ae81a378503de00b51469a59b18af

前面一看就知道是时间信息、中间则是device_id进行MD532位字符,在拼接00字符生成一个48位字符,可以发现末尾还有14位字符。这里则是shumei_sec_*_key_关键字符拼接上面第一次得到的MD5结果再次进行了一个MD5得到了新的一串32位字符。最后用之前48位取最后这次加数美字符生成的前14位得到完整的device_fingerprint参数结果,如下所示:

在这里插入图片描述

最后,我们通过自动生成device_idhmac并激活。然后生成device_fingerprint参数搭配shield动态签名以及动态x-mini系统的参数进行测试。来验证游客的sid是否可以正常请求一些接口,如下所示:

在这里插入图片描述

正常我们个人的sid信息请求主页信息基本都是会触发风控的,由此可见这个策略方案虽然可能在持续稳定的情况还需要更加深度的分析与研究,但是至少该方案是可以走通流程的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2337759.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python抓取HTML页面数据+可视化数据分析(投资者数量趋势)

本文所展示的代码是一个完整的数据采集、处理与可视化工具,主要用于从指定网站下载Excel文件,解析其中的数据,并生成投资者数量的趋势图表。以下是代码的主要功能模块及其作用: 1.网页数据获取 使用fetch_html_page函数从目标网…

uboot下读取ubifs分区的方法

在uboot 的defconfig中增加以下内容: CONFIG_MTDIDS_DEFAULT"nand0nand0" CONFIG_MTDPARTS_DEFAULT"mtdpartsnand0:1M(boot1),1M(boot2),1M(hwinfo),6M(kernel1),6M(kernel2),56M(rootfs1),56M(rootfs2),-(ubi2)" CONFIG_CMD_UBIy 其中&#x…

HAL详解

一、直通式HAL 这里使用一个案例来介绍直通式HAL,选择MTK的NFC HIDL 1.0为例,因为比较简单,代码量也比较小,其源码路径:vendor/hardware/interfaces/nfc/1.0/ 1、NFC HAL的定义 1)NFC HAL数据类型 通常定…

MCP(模型上下文协议)说明

背景 MCP(Model Context Protocol,模型上下文协议)旨在解决大型语言模型(LLM)与外部数据源及工具集成的问题。由Anthropic公司于2024年11月提出并开源,目标是实现AI模型与现有系统的无缝集成。 解决的问题…

orcad csi 17.4 DRC规则设置及检查

rCAD绘制完原理图之后总是需要开启DRC检测,但是DRC一般都是英文版的,下面基于Cadence17.4 的orCAD16.6 对DRC的界面做简单的介绍 首先,鼠标点击原理图,然后再点击右上方的小勾图标 desine rules check option选项的界面 电气规…

前端资源加载失败后重试加载(CSS,JS等引用资源)

前端资源加载失败后的重试 .前端引用资源时出现了资源加载失败(这里针对的是路径引用异常或者url解析错误时) 解决这个问题首先要明确一下几个步骤 1.什么情况或者什么时候重试 2.如何重试 3.重试过程中的边界处理 这里引入里三个测试脚本,分别加载里三个不同的脚…

【HDFS入门】联邦机制(Federation)与扩展性:HDFS NameNode水平扩展深度解析

目录 引言 1 NameNode水平扩展原理 1.1 传统HDFS架构的局限性 1.2 联邦机制的基本原理 1.3 联邦架构的关键组件 2 多个Namespace的路由规则配置 2.1 客户端挂载表概念 2.2 挂载表配置示例 2.3 挂载表匹配规则 2.4 配置示例 3 BlockPool与Namespace的映射关系 3.1 B…

AI推荐系统的详细解析 +推荐系统中滤泡效应(Filter Bubble)的详细解析+ 基于Java构建电商推荐系统的分步实现方案,结合机器学习与工程实践

以下是AI推荐系统的详细解析: 一、核心概念 定义 推荐系统是通过分析用户行为、物品特征或用户画像,向用户推荐个性化内容的技术,广泛应用于电商、视频、社交等领域。 目标 提升用户留存与转化率增强用户体验实现精准营销 二、技术原理 1…

CSS 美化页面(五)

一、position属性 属性值‌‌描述‌‌应用场景‌static默认定位方式,元素遵循文档流正常排列,top/right/bottom/left 属性无效‌。普通文档流布局,默认布局,无需特殊定位。relative相对定位,相对于元素原本位置进行偏…

无约束最优化问题的求解算法--梯度下降法(Gradient Descent)

文章目录 梯度下降法梯度下降法原理(通俗版)梯度下降法公式学习率的设置**如何选择学习率?** 全局最优解梯度下降法流程损失函数的导函数三种梯度下降法**梯度下降法核心步骤回顾****优缺点详解****1. 全量梯度下降 (Batch Gradient Descent,…

Python全功能PDF工具箱GUI:支持转换、加密、旋转、图片提取、日志记录等多功能操作

使用Python打造一款集成 PDF转换、编辑、加密、解密、图片提取、日志追踪 等多个功能于一体的桌面工具应用(Tkinter ttkbootstrap PyPDF2 等库)。 ✨项目背景与开发动机 在日常办公或学习中,我们经常会遇到各种关于PDF文件的操作需求&#…

计算机视觉---相机标定

相机标定在机器人系统中的作用 1.确定相机的内部参数 相机的内部参数包括焦距、主点坐标、像素尺寸等。这些参数决定了相机成像的几何关系。通过标定,可以精确获取这些参数,从而将图像中的像素坐标与实际的物理坐标建立联系。例如,已知相机…

【AI插件开发】Notepad++ AI插件开发实践:支持配置界面

一、引用 此前的系列文章已基本完成了Notepad的AI插件的功能开发,但是此前使用的配置为JSON配置文件,不支持界面配置。 本章在此基础上集成支持配置界面,这样不需要手工修改配置文件,直接在界面上操作,方便快捷。 注…

数据库原理及应用mysql版陈业斌实验四

🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客 🌅主页:猫咪-9527-CSDN博客 “欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。” 目录 实验四索引与视图 1.实验数据如下 student 表(学生表&…

华为OD机试真题——最长的顺子(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录全流程解析/备考攻略/经验…

足球AI模型:一款用数据分析赛事的模型

2023 年欧冠决赛前,某体育数据平台的 AI 模型以 78% 的概率预测曼城夺冠 —— 最终瓜迪奥拉的球队首次捧起大耳朵杯。当足球遇上 AI,那些看似玄学的 "足球是圆的",正在被数据与算法拆解成可计算的概率命题。今天我们就来聊聊&#…

【ESP32|音频】一文读懂WAV音频文件格式【详解】

简介 最近在学习I2S音频相关内容,无可避免会涉及到关于音频格式的内容,所以刚开始接触的时候有点一头雾水,后面了解了下WAV相关内容,大致能够看懂wav音频格式是怎么样的了。本文主要为后面ESP32 I2S音频系列文章做铺垫&#xff0…

42.[前端开发-JavaScript高级]Day07-手写apply-call-bind-块级作用域

手写apply-call-bind <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevi…

Vscode 插件开发

文章目录 1、使用vscode官方插件生成框架&#xff0c;下载脚手架2、使用脚手架初始化项目&#xff0c;这里我选择的是js3、生成的文件结构如下&#xff0c;重要的就是以下两个文件4、代码5、打包使用6、发布官网地址7、publisher ID undefined provided in the extension manif…

RTT添加一个RTC时钟驱动,以DS1307为例

添加一个外部时钟芯片 这里多了一个选项 复制drv_rtc.c,重命名为drv_rtc_ds1307.c 添加到工程中 /*** @file drv_rtc_ds1307.c* @brief * @author jiache (wanghuan3037@fiberhome.com)* @version 1.0* @date 2025-01-08* * @copyright Copyright (c) 2025 58* */ #