停电公告抓取2025最新可用

声明:如有侵权请联系下架
邮箱:fangyingdon@163.com
最新》》》官网算法逻辑更改了,记录一下

在原有基础上加入了uuid参数
在这里插入图片描述

爬取网站:aHR0cHM6Ly93d3cuOTU1OTguY24=

  1. 找到返回数据对应的接口

    在这里插入图片描述
    在这里插入图片描述

  2. 可以看到返回的数据类型都是加密的数据,请求头中涉及到了keyCode参数,全局搜索keyCode然后断点调试,找到以下数据(源码改了,这里可以忽略,可以搜对应的关键词)
    在这里插入图片描述

  3. 数据显示请求成功,可以肯定是发送服务器请求返回的数据,由于都是服务器返回的都是加密的数据,所以需要先找到解密的算法

  4. 全局搜索encryptData,断点调试找到对应的解密代码(还是能搜到的)

    在这里插入图片描述

  5. 可以看到l.a.doDecryptSm4jsDataCBC(n.encryptData)就是对应的解密,往上翻找到l的值(加密逻辑还是一样的,就是多了uuid)

    在这里插入图片描述

  6. 看到这个就可以联想到webpack,找到n对应的加载器,构造代码

在这里插入图片描述

  1. 其实最简单的就是直接复制下面的js文件,然后将vendors~app.b8f2f36f.js文件push([[“vendors~app”],后面大括号中的代码全部复制到app开头js文件中的自调用里面

    在这里插入图片描述

  2. 定义一个全部变量等于第六步中的加载器,最后扣下来的代码就是以下形式,window.fyd代表着加载器

在这里插入图片描述

  1. 定义两个变量da和ra

    在这里插入图片描述

  2. 加密直接调用对应的函数名称

    var result = da.doDecryptSm4jsDataCBC(data, c)
    
  3. 执行代码得到以下结果

    在这里插入图片描述

  4. 可以看到正常获取到keyCode和publicKey值

  5. 之后就是找到对应的构造参数算法,构造加密参数请求接口,执行结果如下

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序烂人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值