京东 h5st 4.1 4.2 4.3 4.4逆向算法分析、API接口、商品详情、价格API接口(2024-02-26)

一、最新京东h5st 4.4逆向


1、h5st 4.4的位置


    搜索关键字h5st很快找到:

(h5st 4.4所在位置)

2、签名代码如下:

      , r = JSON.stringify(a), c = (new Date).getTime() || "1", d = {appid: "pc-item-soa",functionId: "pc_detailpage_wareBusiness",client: "pc",clientVersion: "1.0.0",t: c,body: r}, p = this;try {var l = JSON.parse(JSON.stringify(d));l.body = SHA256(r).toString(),window.PSign.sign(l).then(function(e) {d.h5st = encodeURI(e.h5st);try {getJsToken(function(e) {e && e.jsToken && (d["x-api-eid-token"] = e.jsToken),d.loginType = "3",d.scval = pageConfig.product.skuid,d.uuid = getCookie("__jda") || "",p.getDataColor(d)}, 600)

二、h5st结构

1、h5st结构

位置字段名说明值格式备注
1time时间字符串20240225161830036
2fingerPrint指纹ygntztz5dhctq666自定义算法,就是随机字符串删删减减
3appId应用编号fb5df业务页面的appId
4token令牌tk03we1da1dc618nhIyKvXdFjSz7Aca_m81whSfdIvbv1LjGxUca6s2zDDxZl5Botqaf0OpOyPPJvwj9lzTObIgbRDkr下面这个对象的值.join('')
{
"magic": "tk",
"version": "02",
"platform": "w",
'adler32': "其它参数的校验",
"expires": "41",
"producer": "l",
"expr": "类似3+3+3+2x2的base64编码,生成sign会用到"
"cipher": "HmacSHA256结果,跟fp有关"
}
5sign签名dc2dfdfa20a0349d945bf43e7725f8ef对请求参数进行HmacSHA256加密

加密使用的key生成算法

最初原始字符串:token + fp + timestamp + "22" + appid + "Z=
6version算法版本4.4固定值
7timestamp毫秒时间戳1708849110036当前时间
8sent环境数据bc15aeea977fc5bc2b4f3072713e53bae506e78af453d4c3437fdba2aecb38b26b091907b47c360e2f03e6bcf567ea402f0933a4c1778021a2b07f4f4282aed08e766961014........AES-128-CBC加密

原始字符串参考:

{
"sua": "Macintosh; Intel Mac OS X 10_15_7",
"pp": {},
"extend": {"wd": 0, "l": 0, "ls": 5, "wk": 0, "bu1": "0.1.9", "bu2": -1, "bu3": 43, "bu4": 0},
"random": "27_CACK7qU5",
"v": "h5_file_v4.3.3",
"fp": "xxx",
"bu1": "0.2.0"
}

2、参数结构

参数
functionId接口ID不同接口的一个唯一ID
t时间戳
appid固定的
clientVersion可写死
client可写死
bodybody 是一个比较简单的aes加密参照js 可以直接获取
h5st这是参数是主要的加密参数

三、h5st历史版本演进

2023/08/04

第五段算法进行了更新,更新为md5格式。加密key是一样的;

2023/08/06

第八段算法的秘钥进行更新,之前的秘钥是wm0!@w_s#ll1flo;

2023/08/10

fp算法进行了更新,更新为16位限定字符串,不可随机。

2023/10/10

版本更新到v4.2,主要是aes部分的key更改了。 第五段有更新,以及fp也改了一下。

2023/12/17

部分接口更新到v4.3。基本上都是fp生成算法改改 aes秘钥改改 第五段加密方式改改。

四、商品详情API接口

(图2商品详情接口)

五、价格API接口

(图3价格接口)

技术支持:UVHvvJozOTg0ODg3MuW+ruS/oe+8mmJ5YzYzNTLmiJZtZXRhYnljZueUteaKpe+8mmJ5YzAx (base64解码)

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

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

相关文章

洛谷C++简单题小练习day21—梦境数数小程序

day21--梦境数数--2.25 习题概述 题目背景 Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。 题目描述 Bessie 的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0…9&#x…

短链接的背后故事:为互联网用户带来的便捷与安全

title: 短链接的背后故事:为互联网用户带来的便捷与安全 date: 2024/2/26 14:58:58 updated: 2024/2/26 14:58:58 tags: 短链接技术起源长URL问题解决链接分享便利性链接跟踪与分析链接管理效率提升链接安全保障应用领域广泛 一、短链接的起源 短链接是一种将长UR…

WampServer环境下载安装并结合内网穿透实现远程访问管理界面

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境,是一组常用来…

【前端】一文学懂HTML与CSS选择器基础

文章目录 1. 前言与准备工作1.1 前言1.2 准备工作1.2.1 工具选用1.2.2 VSCode下载与配置 2. 基本概念2.1 通过HelloWorld理解HTML基本概念2.1.1 HTML是什么2.1.2 如何理解"超文本"?2.1.3 HTML基础结构2.1.3 学习第一组标签:段落p与标题h1~h6 2.2 CSS基础…

(202402)多智能体MetaGPT入门1:MetaGPT环境配置

文章目录 前言拉取MetaGPT仓库1 仅仅安装最新版2 拉取源码本地安装MetaGPT安装成果全流程展示 尝试简单使用1 本地部署大模型尝试(失败-->成功)2 讯飞星火API调用 前言 感谢datawhale组织开源的多智能体学习内容,飞书文档地址在https://d…

大语言模型系列-微调技术

前言 以BERT模型为代表的“预训练语言模型 下游任务微调”训练模式成为了自然语言处理研究和应用的新范式。此处的下游任务微调是基于模型全量参数进行微调(全量微调)。 以 GPT3 为代表的预训练语言模型(PLM)参数规模变得越来越…

实习日志30

概要 高拍仪硬件通信原理,WebSocket源码解析(JavaScript) WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据…

【数据库的介绍、分类、作用和特点】的讲解

数据库的介绍、分类、作用和特点 1. 数据库2. 介绍3. 分类3.1 按数据模型分类3.2 按用户数量分类3.3 按数据分布分类 4. 作用5. 特点5.1 特定类型的数据库特点 1. 数据库 数据库是用于存储、管理、处理和检索数据的系统,以下是基于不同维度的数据库的介绍、分类、作…

java RMI(远程方法调用)

java RMI(Remote Method Invocation)远程方法调用。为什么称为远程方法调用呢?因为是两个JVM间进行通讯。两个JVM一个作为服务提供端,另一个作为服务调用端。 首先需要定义一个远程调用的接口,这个接口要继承Remote接口。并且远程接口方法要…

DWT硬件延时

DWT硬件延时 文章目录 DWT硬件延时软件&硬件延时方案软件延时硬件延时方案 DWT硬件延时方案DWT硬件延时方案DEMCR寄存器DWT硬件延时方案实现延时初始化:US延时:MS延时: 软件&硬件延时方案 软件延时 static void Delay(uint32_t cou…

Leetcode刷题笔记题解(C++):6. Z 字形变换

思路:遍历时候需要更新步进长度 到达0行的时候步进长度为1;到达最后一行numRows-1行的时候步进长度为-1;代码如下所示: class Solution { public:string convert(string s, int numRows) {//如果字符串长度为1或者所给行数为1 …

vscode更新至1.86版本后,ssh远程连接服务器出现异常

问题 you are connected to an OS version that is unsupported by Visual Studio Code 你已连接到不受Visual Studio Code支持的OS 版本 原因是vscode更新到1.86版本后要求远程连接服务器的内核版本和库版本需要符合下面条件。 解决方法 因此有两种方法解决 1.更新服务器…

[数据集][目标检测]课堂行为数据集VOC+YOLO格式671张6类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):671 标注数量(xml文件个数):671 标注数量(txt文件个数):671 标注类别…

开源MBG----renrenGenerator

目录 1.克隆项目到本地 2.编辑数据库连接 3.定义生成的代码模版 4.验证生成结果 5.多说一句 项目简介:人人开源项目的代码生成器,可在线生成entity、xml、dao、service、vue、sql代码,减少70%以上的开发任务。 项目地址:ren…

Floor报错原理详解+sql唯一约束性

目录 floor报错原理 唯一性约束 主键约束: 创建约束的形式 删除约束 删除唯一性约束(UNIQUE Constraint) 在SQL Server中: 在MySQL中: 在PostgreSQL中: 删除主键约束: floor报错原理 …

免费SSL证书申请流程及地址

1,选择证书提供商:有许多机构提供免费的SSL证书,如JoySSL。选择一个可靠的提供商是第一步。 免费SSL证书申请地址https://www.joyssl.com/certificate/select/free.html?nid5 2,验证域名:根据提供商的要求&#xff…

力扣4题:寻找两个正序数组的中位数

【题目描述】 (困难)给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平…

sql实战_基于某推荐比值问题

将一个月内某PL对应的MBLX出现的最高的频次的占比值最大的值统计出来,并且还要把XHLX,MBLX字段添加上作为最终的推荐字段 Select * from(select *,row_number( ) over (partition by PL order by 占比最大值 desc ) rn from 表) where rn 1&#xff1b…

TensorRT及CUDA自学笔记003 NVCC及其命令行参数

TensorRT及CUDA自学笔记003 NVCC及其命令行参数 各位大佬,这是我的自学笔记,如有错误请指正,也欢迎在评论区学习交流,谢谢! NVCC是一种编译器,基于一些命令行参数可以将使用PTX或C语言编写的代码编译成可…

H5多用途的产品介绍展示单页HTML5静态网页模板

H5多用途的产品介绍展示单页HTML5静态网页模板 源码介绍:一款H5自适应多用途的产品介绍展示单页HTML静态网页模板,可用于团队官网、产品官网。 下载地址: https://www.changyouzuhao.cn/13534.html