aHR0cHM6Ly9tYi5jY3F0Z2IuY29tL25tYmFuay8jL2ZpbmFuY2VBZ2VudFNhbGVz
抓包分析
数据包为queryPrdList
getKeyPair
大概率是后面加解密要用到的Key,而且大概是个aes算法
加密
加密相关的参数就是body
和signData
了,reqsn
是由第一个getKeyPair
返回的
看发包分析出来大概率是个和aes加解密有关的算法,由于响应中写的是aesKey,故直接搜索aesKey,能看到三个地方用到了。
分别打上断点,从前两个的就能看出,第一个doDecryptDynamicTGB
是解密,第二个doEncryptDynamicTGB
是加密
刷新断在doEncryptDynamicTGB
即可
c、u、l
分别就是getKeyPair
中返回的三个值
body参数
i
就是请求参数了主要是由e.data
和t.aesKey
作为参数来加密
进入doEncryptDynamicTGB
可以看到就是一个aes加密再转大写
signData参数
signData
是sm2的签名但是调用原生的sm2签名一直没过去,就把这个方法扣下来了
主要就是这个v函数了
折叠一下,就直接把这个function扣下来,缺啥在往上找就行了,传入就进去的p
可以看成一个{}
空对象,就是webpack的导出那个串起来供下级调用的对象
解密
就是一个原生的AES解密,n
参数就是那个aesKey