一、最新京东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结构
位置 | 字段名 | 说明 | 值格式 | 备注 |
---|---|---|---|---|
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秘钥改改 第五段加密方式改改。
四、商品详情API接口
(图2商品详情接口)
五、价格API接口
(图3价格接口)
技术支持:UVHvvJozOTg0ODg3MuW+ruS/oe+8mmJ5YzYzNTLmiJZtZXRhYnljZueUteaKpe+8mmJ5YzAx (base64解码)