抓包

image-20260126234946561

可以看到加密点为请求参数里的h5值

image-20260126235118841

h5值为base64,所以此时可以直接搜btoa,找加密点

image-20260126235211299

image-20260126235227528

当然我们不能这样,万一btoa也被混淆了呢

直接找堆栈

image-20260126235433206

image-20260126235445397

可以看到这里已经生成了值,继续往上找

image-20260126235600797

可以看到在此处已经生成了,点击函数进去就能看到对应的加密点

image-20260126235647064

实际上的加密为this._$sdnmd(_$lR)然后base64

image-20260126235847410

本来打算扣代码的,但是要补的环境太多,直接全部扣下来,改写对应的函数即可

image-20260127000117478

从折叠后的代码可以看到实际只有一个函数和一个调用

改写部分为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
window.PcSign = new window.Sign({
appId: "b5216",
preRequest: !1,
})

//调用函数
function get_h5(page, timestamp){
const j = {
"page": page,
"t": timestamp
};
let _$lw = window.PcSign._$sdnmd(j);
_$lw = btoa(_$lw.h5st+String(_$lw.t))
return {
"h5": _$lw
};
}

当我在pycharm中准备补环境的时候,加上补环境框架,已经出值了

image-20260127000523311

后面发现是只需要有window、document、navigator这三个就行

image-20260127000658394

更多内容也在公众号更新:码字的秃猴

tuhou