h5st 5.1.8纯算分析

分析过程

通过商详pc_detailpage_wareBusiness定位h5st生成的位置

这里我们能看到逻辑,

var l = JSON.stringify(r)
              , f = (new Date).getTime() || "1"
              , u = {
   
   
                appid: "pc-item-soa",
                functionId: "pc_detailpage_wareBusiness",
                client: "pc",
                clientVersion: "1.0.0",
                t: f,
                body: l
            }

先对body部分sha256再进行sign加密。

key: "sign",
            value: (r = Fl(My.mark((function t(r) {
   
   
                var e, n, o, i, a, c, u = this;
                return My.wrap((function(t) {
   
   
                    for (; ; )
                        switch (t.prev = t.next) {
   
   
                        case 0:
                            if (e = Gy(),
                            n = {
   
   
                                businessId: this.__appId,
                                bucketIndex: Em,
                                cAppId: r.appid,
                                cFunctionId: r.functionId,
                                t: Gy(),
                                temp: "1"
                            },
                            t.prev = 2,
                            !this.__retry2load) {
   
   
                                t.next = 8;
                                break
                            }
                            return o = ib(Gy() - 36e5 * 1.1, "yyyyMMdd"),
                            i = "https://storage.360buyimg.com/webcontainer/main/js_security_v3_main_0.1.8.js?v=" + o,
                            t.next = 8,
                            wm(i, 600, 1).catch((function(t) {
   
   
                                n.errorCode = 0,
                                n.errorMsg = "load script error.",
                                n.subErrorCode = 1,
                                n.subErrorMessage = "sub error:".concat(t)
                            }
                            ));
                        case 8:
                            return a = Gy() - e,
                            n.loadInterval = a,
                            gm(this.__debug, "retry load script elapsed time!=".concat(a, "ms")),
                            c = new window.ParamsSignMain({
   
   
                                appId: this.__appId,
                                debug: this.__debug,
                                onSign: function(t) {
   
   
                                    n.signInterval = Gy() - e,
                                    n.errorCode = t.code,
                                    n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自学不成才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值