网址:aHR0cHM6Ly9saXV5YW4ucGVvcGxlLmNvbS5jbi90aHJlYWRzL2xpc3Q/Y2hlY2tTdGF0dXM9MCZmaWQ9NTYzJmZvcm1OYW1lPSVFNyVBNiU4RiVFNSVCQiVCQSVFNyU5QyU4MSVFNSVBNyU5NCVFNCVCOSVBNiVFOCVBRSVCMCVFNSU5MSVBOCVFNyVBNSU5NiVFNyVCRiVCQyZwb3NpdGlvbj0wJnByb3ZpbmNlPTIwJmNpdHk9JnNhdmVMb2NhdGlvbj0yMCZwRm9ydW1OYW1lcz0lRTclQTYlOEYlRTUlQkIlQkElRTclOUMlODE=
数据包抓包,发现有两个参数在变动,分别是signatur与params中的lastItem,后者由前一个数据包的数据中返回:
分析signature的加密位置,进行搜索,在疑似位置打上断点
进入d函数,进行复制
可以发现其中有一个未定义的h函数,打上断点,并查看h
发现h是一个md5加密
现在来判断所需要传入的参数
e是链接的一部分,o是空字符串,t是其他的参数,i由n获得,n由n = c ? h()(c).substring(0, 16) : h()(a).substring(0, 16);获得,a就是载荷中的appCode
这段代码的作用是根据条件 c
的真假来选择不同的字符串,并对其进行哈希运算后取前 16 位作为结果。
具体解释如下:
- 如果条件
c
为真(即非空、非零、非空字符串等),则将变量c
进行哈希运算,并截取结果的前 16 位作为结果。 - 如果条件
c
为假(即为空、零、空字符串等),则将变量a
进行哈希运算,并截取结果的前 16 位作为结果。
这段代码可能是用于生成密钥或者初始化向量(IV)等操作,其中 h()
可能是一个哈希函数,如 MD5、SHA-1 等。