url:喜马拉雅-国内专业音频分享平台,随时随地,听我想听!
分析过程
-
抓包,关注有页面数据回显的数据包。

该url的请求头中有个加密的参数,找到该参数的加密过程。

-
由于该参数名比较不常见,可以直接全局搜索这个参数名。

只有一处,打断点。

-
切换页码,触发断点。

-
非常直接,
xm-sign是由d.getSign()生成的,直接找到getSign函数的定位。
-
在该函数的第一行打断点,让程序运行到该断点处。

单步调试,看看每个变量的值是什么。
n = s() ? Date.now() : window.XM_SERVER_CLOCK || 0,由于s()的值恒为false,故n = window.XM_SERVER_CLOCK。但window.XM_SERVER_CLOCK的值和Date.now()的值相差不多,猜测估计是服务器上的时间戳,就先不用管了。
t = this[c("0x13")],c("0x13")的值为secretKey,故t的值为himalaya-。

e = n这个就不解释了。
r = Date[c("0x25")](),c("0x25")的值为now,故Date[c("0x25")]()相当于Date.now(),获取时间戳。
这里涉及到了c,其是用于获取s中的某个值。


2972

被折叠的 条评论
为什么被折叠?



