qimingpian 接口加密分析
工具:Chrome + NodeJS + Pycharm 点击获取结果 如果能留下小星星就最好啦
抓包
调出开发者工具,直接到 xhr(这里点击改变的时候并未发生网址变更、所以这是 Ajax)
参数寻找
一共就两个包,但 Preview 里面没有数据,but 几 KB 的包没有鬼?反正我不相信
追根揭底
直接把 encrypt_data,拉出来全局搜索(ctrl + shift + F),encrypt_data 参数一共六个,但就只有这一个最可疑(我就是不告诉你为什么。。。),其实你看看周围的函数你就会发现,TmD 一个个返回啥呀,不是错误就是上传失败。封 IP 的信息就放了。怕了怕了 在 console 里面打印一下 Object(u.a)(e.encrypt_data) 初一看,好像是又好像不是(仅有部分信息)
只有标题,为什么没信息呢? 我告诉你为什么,因为数据被加密了,只给你看标题,充钱就给你看。 不慌,不慌。那个 xx 说过我离成功就一步了
点击 下一步没错,就是它。老板,求解密一下? ok,感谢老板。再次在 console 里面打印一下 Object(u.a)(e.encrypt_data) 当当当~ ok,那它是怎么来的呢?
都晓得它是这里解密出来的,还不就进去搞他呗
当当当~,扣它,把这个函数扣出来(快到我怀里来~) 到这里就基本上把主函数弄完了,但是还没有完 a.a.decode(t)这个鬼我们还不晓得,进去找他,扣它
1 |
decode = function (t) { |
这里的参数 t,还不晓得,既然是外面传进来的,那么它要么是 js 生成的,要么就是全局的。全前面找,去 console 里面测一下,测多次。如果是不变的那么它就是一个全局参数。 拿过来就好,然后在 console 里面 copy(t)。 同理,参数 c,和 f 也是 但是 c, 和 f 就在 decode 函数前面,拿了就好 完成!