【JS逆向百例-7】某物H5爬取


在这里插入图片描述

📣声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,相关网址和数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!若有侵权,请联系删除!
 
 

👇前言

🔥Ps:hello哇,也是好久没有更新了好吧,今天开始回归,铁铁们卷起来

  • 网址:94dc036054aac9a07609cb9be42166e6
  • 加密接口:d5f83ff16c3629eb8ad336fa4c34035a
     
     

🥇抓包分析

打开F12抓个包,进去fetch/xhr,很容易发现数据接口info在这里插入图片描述
大致看一眼,发现载荷中有个sign,测试之后也发现只有这个参数校验,也是非常清晰明了好吧,接下来开逆!!!
在这里插入图片描述

 
 

🥈逆向分析

直接进入启动器,打上断点发包
在这里插入图片描述
可以看到,此时的sign是已经加密好了,我们往上跟栈,找到还没加密的地方
在这里插入图片描述
到了O方法,可以清楚的看到sign生成的地方,并且函数传的参是载荷中的明文数据,接下来思路就很清晰,只需要跟进c函数把它扣下来还原下就行了
在这里插入图片描述
在这里插入图片描述
进入函数,可以看到有点webpack的味道,看看文件顶部,是没错了
在这里插入图片描述
在这里插入图片描述
仔细看看函数c,发现要解决这个u,并且它的生成涉及n、a、r,我们也可以点进u里面看看,发现它的文件名也是webpack并且是个自执行函数,那我们的猜想就没错了,接下来扣webpack解决u就ok了
在这里插入图片描述
在这里插入图片描述

整理一下u的生成:

n = r("o0o1")
, a = (r("cnSC"),
       r("ODXe"),
       r("aCH8"))
, u = r.n(a);
// 这里面的重点就是r,既然我们知道了这是个webpack,那么我们在n那边下个断点然后刷新页面找启动器

刷新页面,鼠标移到r,进入函数可以看到它给我们跳到了a,那启动器就是它了,我们把这个文件全部扣下来,然后用window.aaa导出启动器即可
在这里插入图片描述
在这里插入图片描述在启动器里打上打印语句,方便后续找缺少的模块

function a(r) {
        if (n[r])
            return n[r].exports;
        var t = n[r] = {
            i: r,
            l: !1,
            exports: {}
        }
          , o = !0;
        try {
            console.log('缺少',r)
            e[r].call(t.exports, t, t.exports, a),
            o = !1
        } finally {
            o && delete n[r]
        }
        return t.l = !0,
        t.exports
    }

剩下的大家应该能完成了,这里说一下怎么找模块,回到刷新页面后的控制台,打印r.m就是所有的启动器,加上模块名称就是特定的,然后扣下来放到参数入口中即可,总共是10个模块,也不多,相信大家可以的
在这里插入图片描述

 
 

♨️Js部分实现

data = {
    "pickRuleId": 644454,
    "pageNum": 1,
    "pageSize": 24,
    "filterUnbid": true,
    "showCspu": true
}

console.log(c(data))

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

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值