栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Python爬虫之Js逆向案例(4)-zhihu x-zst-81

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python爬虫之Js逆向案例(4)-zhihu x-zst-81

Python爬虫之Js逆向案例(4)-zhihu x-zst-81
声明:知乎加密逆向分析仅用于研究和学习

大家好,续《Python爬虫之Js逆向案例(1)-知乎搜索》分享之后,有小伙伴在评论区说让分享一下关于x-zst-81字段的逆向。今天本着分析这个字段来看如何分析这个字段,就目前来看,还没发现这个加密字段是用在哪里的,如果有小伙伴知道其用途的话,可以在评论区里说一下,不过虽然没有用到,但并不影响我们对这个字段进行逆向的研究和学习!

下面会进行以下几步进行分析(下方演示过程全部使用chrome浏览器);

  1. 破解关键字段;
一.破解关键字段;

老步骤,直接搜索x-zst-81字段,如下图,此时会有很多个位置出现,我们只需留意x-zst-81: XXX这种赋值格式的位置即可;

通过断点,发现x-zst-81字段是由xZst81字段赋值的,如下图:

所以我们继续搜索xZst81字段出现的赋值位置,通过断点,定位到如下位置:


断点到这个位置后,我在控制台直接运行这个n(),发现打印的结果也确实是接口请求头里的内容,接下来我们就重点来看这个n函数到是如何处理这个加密数据的。

二.加密函数具体分析

点击上面图中的链接,跳转到n函数如下图的位置2772行:


这时我们还发现了一个x-zst-81字段中起始位置的3_2.0,看来重头戏实在2760行后半部分这个函数的逆向了。

通过对M函数内部几行断点,我们发现,G,D这两个字符串的名字对应osa|osd,查看localStore和cookie确实找到了这两个内容;所以2722行,2723行,的值就找到了;

通过断点,我们发现e[c("0x19b")](Z, t, n, C)这句话的意思就是将t,n,C三个参数传到Z函数里运行而已;

2723行的t|n都找出来了,还有个Z和C,断点后发现,Z就是一个函数,C是个加密内容,我们先看C是如何生成的?

三.确定加密字符串C

通过查找,很容易找到这个字段C,如下图:

这段代码我们直接扣出来,把里面加密的字段如c("0x114") 在控制台直接输出一下放到抠出来的代码里,可直接运行,我们不用管这个函数内部是如何实现加密的,结果如下图:

现在还差一个Z函数了?

四.解密Z函数

Z函数的位置也是不要太明显了,如下图:

通过断点我们发现2760行上面这个for循环其实就是把,传进来的三个字段进行拼接成一个字符串,赋值给了t变量,e[c("0x1a2")](f, t)这行的意思同上面那个一样,参数t传给函数f去执行;

现在重点变成了2760行的f是如何运行的?

五.解密函数f

通过断点,我们进去到函数f的具体实现位置,如下图:

encodeURI就不用说了吧,那么重点就变成了__g._e2函数了,这时我们发现这个R函数上下文是个独立的模块,于是把这个模块扣下来改写一下运行,如下图:

报错了,缺啥补啥,通过调试发现,这个atob是代码里自己实现的一个atob,那就atob函数抠出来,不深究,再运行,如下图:

我艹,成了!!!开心到起飞!!!

这时细心的我发现好像哪里不对劲吧,对比一下,R函数运行的结果,发现输出的内容跟他们输出的不一致呀!!!因为上面的tt是我断点时从控制台打印出来的加密前的字符串,瞬间头秃了不是???那就继续研究为什么会这样呢???

六.加密结果不一致研究

有经验的同学可能一下就怀疑到一个地方,运行不报错,但是结果不一样的话,一般都是代码里的try-catch块可能捕获了异常,所以我们把抠出来的代码块里的catch里加上console.log打印一下看看,是不是被捕获了,如下图:


通过控制台的报错信息我们大致可以猜到,加密时调用了一些原生函数,顿时感觉情况不太妙啊!!!
在加密过程中,如果调用原生函数的话,有两个可能:

  1. 简单取值;
  2. 校验浏览器环境;

通过调试,发现很不幸,确实是在考验浏览器环境,,,

时间原因,今天先分析到这里,等我补完一个环境之后把后续的继续分享!!!
想看后续的老铁,在评论区讲出来,你们的点赞、评论就是我的动力!动力!动力!

未完!!!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003881.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号