知乎x-zse-96参数分析详解

声明
        本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
        本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!


目录

本次目标

分析流程

最终效果

获取渠道


本次目标

2.0_Q/phauqAoKXNGWmt5UUqD1aPgkze1wZtOfnB8FTvbeTlmMq0b/eNrhlo=3vBfLRy

运行结果:

重新梳理一下流程

分析流程

 ①首先打开熟悉的开发者工具进行接口调试

②找到本次的主角x-zse-96

③我们进行全局搜索一下找到两个相关信息经过调试后发现应该断点下在第二个

④这个时候双击进入即可看到我们本次的主角它是tT里面的signature属性我们进到具体的函数里面

⑤这个时候进入后找到我们的的signsture属性发现是调用了tJ(ti).encrypt函数传入ty()(tp)参数

⑥我们先来解决这个ty()(tp)参数,通过控制台输出后发现这个输出的长度为32位固定长度我们就可以用,我们这时候到网站里面去验证我们的猜想结果是🆗的

⑦接着下一步我们就开始研究tJ(ti).encrypt函数我们进入到里面从整个文件结构来看典型的webpack

⑧将整个源代码拷贝到我们的pycharm里面发现它是1514模块

⑨下一步我们就找加载器然后把这个模块加进去

自执行函数的参数是个数组或对象

// 自执行函数
!function(e){}(参数)

// 参数类型 对象型
{
	XXXX:function(){}
}
// 参数类型 数组型
[
	function(){...},
	function(){...},
] 

⑩我们发现它的源码里面调用模块是使用tr(对应的模块编号)打上断点进去后即可看到我们的加载器

将代码全部扣到我们的js代码里面整理一下

接着我们用代理补环境这边就不多多赘述

function getEnvs(proxyObjs) {
    for (let i = 0; i < proxyObjs.length; i++) {
        const handler = `{
      get: function(target, property, receiver) {
        console.log("方法:", "get  ", "对象:", "${proxyObjs[i]}", "  属性:", property, "  属性类型:", typeof property, ", 属性值:", target[property], ", 属性值类型:", typeof target[property]);
        return target[property];
      },
      // set: function(target, property, value, receiver) {
      //   console.log("方法:", "set  ", "对象:", "${proxyObjs[i]}", "  属性:", property, "  属性类型:", typeof property, ", 属性值:", value, ", 属性值类型:", typeof target[property]);
      //   return Reflect.set(...arguments);
      // }
    }`;
        eval(`try {
            ${proxyObjs[i]};
            ${proxyObjs[i]} = new Proxy(${proxyObjs[i]}, ${handler});
        } catch (e) {
            ${proxyObjs[i]} = {};
            ${proxyObjs[i]} = new Proxy(${proxyObjs[i]}, ${handler});
        }`);
    }
}
proxyObjs = ['window', 'document', 'location', 'navigator', 'history', 'screen','canvas','CanvasRenderingContext2D']
getEnvs(proxyObjs);

最终效果

最后我们就可以进行尝试进行请求数据没啥问题打完收工

对本次逆向感兴趣的小伙伴可以点赞支持

获取渠道

想要相关项目源码资料的关注微信公众号(靓数智探私信知乎即可

后期会持续分享爬虫案例,不想自己造轮子的同学可加入我的专栏,有更多技巧、案例注意事项、案例坑点终结、答疑提问特权等你哦!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值