目录

js逆向

目录

【js逆向】

地址:aHR0cHM6Ly93d3cud2VpYm90b3AuY24vMi4wLw==

https://i-blog.csdnimg.cn/direct/94e930dad9d94320aa429ab53cf172eb.png

f12进入 debugger,过debugger

https://i-blog.csdnimg.cn/direct/ec6d3c6bd32d49f2b595b3d361d9c76d.png

查看预览数据

https://i-blog.csdnimg.cn/direct/a6d6eca6cb594cb7bcd2a44d07e79e5d.png

全局搜索  请求网址中的  api.weibotop.cn

https://i-blog.csdnimg.cn/direct/e1b957f6d53c47c088c4c66baa489caf.png

在下方疑似找到了加密和解密的函数

https://i-blog.csdnimg.cn/direct/8316057d8aed4d009ffdcb99b96323c8.png

断点调试

https://i-blog.csdnimg.cn/direct/d339138f44ee49cd9b6d76976b5ee84c.png

控制台输出

https://i-blog.csdnimg.cn/direct/6d3eb691b49647adab6d18e334f9e895.png

那个n就是 常见的 cryptoJs库

const cryptoJs = require('crypto-js')

let s = cryptoJs.SHA1(cryptoJs.enc.Utf8.parse("tSdGtmwh49BcR1irt18mxG41dGsBuGKS"))
    , a = cryptoJs.enc.Hex.parse(s.toString(cryptoJs.enc.Hex).substr(0, 32));

function h(t) {
    let e = (i = t = String(t),
        o = cryptoJs.enc.Base64.parse(i),
        r = a,
        cryptoJs.AES.decrypt({
            ciphertext: o
        }, r, {
            mode: cryptoJs.mode.ECB,
            padding: cryptoJs.pad.Pkcs7
        }).toString(cryptoJs.enc.Utf8));
    var i, o, r;
    return JSON.parse(e)
}

var data = "密文数据"
console.log(h(data))

控制台输出

https://i-blog.csdnimg.cn/direct/19bc257e6109461daf02a28b05e32428.png