声明:如有侵权请联系下架
邮箱:fangyingdon@163.com
最新》》》官网算法逻辑更改了,记录一下
在原有基础上加入了uuid参数
爬取网站:aHR0cHM6Ly93d3cuOTU1OTguY24=
-
找到返回数据对应的接口
-
可以看到返回的数据类型都是加密的数据,请求头中涉及到了keyCode参数,全局搜索keyCode然后断点调试,找到以下数据(源码改了,这里可以忽略,可以搜对应的关键词)
-
数据显示请求成功,可以肯定是发送服务器请求返回的数据,由于都是服务器返回的都是加密的数据,所以需要先找到解密的算法
-
全局搜索encryptData,断点调试找到对应的解密代码(还是能搜到的)
-
可以看到l.a.doDecryptSm4jsDataCBC(n.encryptData)就是对应的解密,往上翻找到l的值(加密逻辑还是一样的,就是多了uuid)
-
看到这个就可以联想到webpack,找到n对应的加载器,构造代码
-
其实最简单的就是直接复制下面的js文件,然后将vendors~app.b8f2f36f.js文件push([[“vendors~app”],后面大括号中的代码全部复制到app开头js文件中的自调用里面
-
定义一个全部变量等于第六步中的加载器,最后扣下来的代码就是以下形式,window.fyd代表着加载器
-
定义两个变量da和ra
-
加密直接调用对应的函数名称
var result = da.doDecryptSm4jsDataCBC(data, c)
-
执行代码得到以下结果
-
可以看到正常获取到keyCode和publicKey值
-
之后就是找到对应的构造参数算法,构造加密参数请求接口,执行结果如下