decrypt: function(n, r, i) {
return e(r).decrypt(t, n, r, i)
}首先要先找到解密调用的函数, 在此处断点 , 获取到传参 , n r i 分别代表需要解密的字符, r 代表key , i 代表 {iv:iv} iv
断点之后, 通过请求获取到n r i ,但是r 和 i 是 wordarray形式, 需要转换为 字符串才能被其他语言使用
所以通过找到原来js中的crypto模块
var key = window.BasicService_H5module.CryptoJS.lib.WordArray.create([1431726435, 808875120, 1483165006, 1765896301]);
var iv = window.BasicService_H5module.CryptoJS.lib.WordArray.create([959920433, 808597299, 875640625, 825766201]);
iv.toString(window.BasicService_H5module.CryptoJS.enc.Utf8)
key.toString(window.BasicService_H5module.CryptoJS.enc.Utf8)
//尝试在控制台解析
var decrypted = window.BasicService_H5module.CryptoJS.AES.decrypt(chipertext,key,{iv:iv})
decrypted.toString(window.BasicService_H5module.CryptoJS.enc.Utf8)
// 能出来结果说明模式mode和参数是对的, 就可以使用其他语言解析了
已有 0 位网友参与,快来吐槽:
发表评论