天天看点

JS逆向加密——某物sign参数加密

网址  某鞋网址

这个网址是从APP分享出来的,能分享出来打开证明有h5的页面就通过h5的页面来抓取数据

打开网址开发者工具分析,找到对应的请求数据,

JS逆向加密——某物sign参数加密

请求分析

多请求几次数据,对比一下翻页的效果的参数一哪些变化,

1.  lastId 每次请求时 是不一样的

2.  sign 参数是加密后的结果,每次请求也是不一样

接下来就是分析这俩个加密的参数和变化逻辑

JS逆向加密——某物sign参数加密

这里 注意观察,上一次请求返回的 lastId 数据就是 下次 请求的参数,在多试几次你会发现,每页的请求参数都是固定的

JS逆向加密——某物sign参数加密
JS逆向加密——某物sign参数加密

参数分析

通过什么的 分析,lastId 就是上一次请求返回的值,给下一次请求的参数用,这个参数算解决,下一步就是 sign 参数的加密了

经过调试 看到这个参数已经生成了,还要继续往上分析,看看怎么生成的sign加密参数

可以看到 主要的代码 g = o ,o = e.params,就是看 e.params 的值

JS逆向加密——某物sign参数加密

 进一步调试分析,找到关键点。sign : t ,明显赋值的地方,t 又是 S 函数的返回值,接下来进入 S 函数分析(知道参数了,也可以直接把S函数完整扣下了就好了)

JS逆向加密——某物sign参数加密

S 函数分析 结果处理,得到 t,Object(x["a"])(t) 最后又进入 这个方法 处理,这个方法就是加密的核心所在了,代码太长就不分析看,

JS逆向加密——某物sign参数加密

参数分析知道来龙去脉就可以扣JS代码了,以最小范围扣JS,可以少补很多东西,

最主要的 就是 S 函数,从这里开始扣,前面 e..params 值可以直接构造,

扣JS只能慢慢扣了,缺啥补啥,或者一把梭哈。

展示效果代码:

JS逆向加密——某物sign参数加密