'aHR0cHM6Ly90cmVuZGluc2lnaHQub2NlYW5lbmdpbmUuY29tL2FyaXRobWV0aWMtaW5kZXgvdG9waWNTZWFyY2g/dG9waWM9JUU2JThFJUE3JUU1JTg4JUI2JUU1JTk5JUE4JnNvdXJjZT1vZV9uYXY='
直接开整,拦截请求调试。
这里打断点接受单步调试一直下一步。
l.interceptors.response.use 然后看到有个拦截器估计数据就是在这里面解密的。
往下看到有个d函数这个就是解密的关键了断点进去。
看了上下文找到有调用函数的地方打上断点调试或打印日志。
然后看到了解密方法AES-CBC。
这就好办了。直接把iv给扣出来转成base64,然后还差个key直接hook出来。
下标为1的就是key然后转成base64
然后该有的东西都齐全了。就扒拉扒拉
直接搞出来试下,发现解密成功
def decrypt_aes(encryptedStr):
key = "SjXbYTJb7zXoUToSicUL3A=="
iv = "OekMLjghRg8vlX/PemLc+Q=="
formatedKey = base64.b64decode(key)
formatedIv = base64.b64decode(iv)
decryptedData = AES.new(formatedKey, AES.MODE_CBC, formatedIv).decrypt(
base64.b64decode(encryptedStr)
)
return re.sub(r"\f|[\x00-\x1F\x7F-\x9F]", "", decryptedData.decode("utf-8"))