原本我以为知乎没有加密,,,,花了一天时间,知乎的感觉还有点。。。不过也学到一点点东西
https://www.zhihu.com/api/v4/search_v3这个接口要
分析篇
会看到这一部分,肯定会找加密位置,我大致讲讲,主要还是补环境
全局搜索x-zse-9 打上断点
找到位置,扣下来
然后按找他的要求补补补,注意名字别重复了,这个tC名字的还有一个函数也是。
说实话我是没看到 ty()是md5,所以我是硬扣的,这个不详细讲
所以重点是
tJ(ti).encrypt
这个要补一个webpacket,按照正常情况,找到加载器,再加入参数,再全局导出就行,
不想细讲
然后我看别人补的时候居然发现是根据random变的,我是没想到,我默认以为是时间戳了
我们将Math().random改写,方便我们检测嘛,不用请求来检查是否答案正确
剩下就靠我们的补环境了
先将代码放到浏览器中执行,运行
tJ(ti).encrypt('1')结果为
(后期添加,啊哈,图没了,这个结果直接去浏览器看了哈,或者就是我这个的最后结果那个)
我们就参考这个来补这个函数
补环境篇
先补上基础东西
注意加上来检查答案是否正确
没有报错,就知道难搞的东西,我们试着补一下undefined
实现就是navigator.userAgent
答案还是不对,继续补这些undefined,重点: Symbol(Symbol.toStringTag)是啥?
还给了解决措施,真不错,我们在浏览器看要补成啥
按照提示补5堆
终于出现一个不一样的了
补上发现
所以继续补
再继续
关注undefined以及最下面几行
发现
所以删了这个
再查查alert是啥东西
我们给alert补空
又回到补环境了
这就对了嘛
另外:在线接单+分享一个咸鱼店
【闲鱼】https://m.tb.cn/h.g8UbZSL?tk=75E231BcfMD ZH4920 「我在闲鱼发布了【适合爬虫新手,暑期正是学习的好时机,如果你只会request】」