一、前言
没办法把公众号的文章直接搬运过来,简单分析下整个流程以及关键js代码和python的实现。
简单说下加密的实现逻辑
第一,使用拦截器,拦截请求url和请求携带的参数
第二,对参数进行排序并使用base64加密
第三,拼接加密后的参数、url、以及其他字符串,经过js加密后继续base64加密生成analysis。
二、拦截器定位
根据以往的经验,直接搜索analysis,进入到js文件内部,找寻可疑位置断点。但是在这里貌似行不通,自己可以私下尝试找一下。
这里直接通过查看调用栈,寻找加密位置。这也是js逆向的一个重要手段,必须要学会的技能之一。
拦截器位置如下图所示
interceptors.request
进入到拦截代码内部,查看加密原理。
三、加密逻辑分析
重点位置,如下面两张图所示。分别调用S(n),j(t, n)两个方法。
S(n)实际就是base64加密。
j(t, n)可以执行js获取到结果。
参数通过调试,都可以找到,具体的详细分析,请关注公众号查看。
python实现起来也就几行代码,代码展示部分也在公众号当中。
对你有帮助,请扫码关注!感谢!
公众号:逆向旅行
微信号:fzcoder888888
定期分享Python进阶技术,爬虫