京东 h5st 4.1 4.2 4.3 4.4,h5st4.7.2逆向算法分析、API接口、商品详情、价格API接口(2024-06-09)
京东 h5st 4.1 4.2 4.3 4.4逆向算法分析、API接口、商品详情、价格API接口(2024-02-26)
一、最新京东h5st 逆向
1、h5st 的位置
搜索关键字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结构
位置 字段名 说明 值格式 备注 1 time 时间字符串 20240225161830036 2 fingerPrint 指纹 ygntztz5dhctq666 自定义算法,就是随机字符串删删减减 3 appId 应用编号 fb5df 业务页面的appId 4 token 令牌 tk03we1da1dc618nhIyKvXdFjSz7Aca_m81whSfdIvbv1LjGxUca6s2zDDxZl5Botqaf0OpOyPPJvwj9lzTObIgbRDkr 下面这个对象的值.join('')
{
"magic": "tk",
"version": "02",
"platform": "w",
'adler32': "其它参数的校验",
"expires": "41",
"producer": "l",
"expr": "类似3+3+3+2x2的base64编码,生成sign会用到"
"cipher": "HmacSHA256结果,跟fp有关"
} 5 sign 签名 dc2dfdfa20a0349d945bf43e7725f8ef 对请求参数进行HmacSHA256加密
加密使用的key生成算法
最初原始字符串:token + fp + timestamp + "22" + appid + "Z= 6 version 算法版本 4.4 固定值 7 timestamp 毫秒时间戳 1708849110036 当前时间 8 sent 环境数据 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 可写死 body body 是一个比较简单的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秘钥改改 第五段加密方式改改。
2024/06/03
最近又搞出一个什么4.7.2版本,魔改第八段base64.
四、商品详情API接口
(图2商品详情接口)
五、价格API接口
(图3价格接口)
技术支持:UVHvvJozOTg0ODg3MuW+ruS/oe+8mmJ5YzYzNTLmiJZtZXRhYnljZueUteaKpe+8mmJ5YzAx (base64解码)
# python
所有评论(0)