前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 爬虫进阶必备 | 某财富个股历史数据加解密逻辑分析

Python 爬虫进阶必备 | 某财富个股历史数据加解密逻辑分析

作者头像
咸鱼学Python
发布2021-09-28 15:38:36
5691
发布2021-09-28 15:38:36
举报
文章被收录于专栏:咸鱼学Python

点击上方“咸鱼学Python”,选择“加为星标”

第一时间关注Python技术干货!

图源:极简壁纸

今日网站

aHR0cHM6Ly9ndWJhLmVhc3Rtb25leS5jb20vcmFuay9zdG9jaz9jb2RlPTYwMDAzMQ==

这个网站来自 NTrach 大佬

最近大家是不是放假综合征啊,好像一下对技术文章失去了兴趣。

抓包分析与加密定位

经过抓包,可以看到下面这三个包

主要返回的数据也存在这三个包里,这三个包返回的数据都是下面这样的形式

我们想要分析的是历史数据,所以返回的值是var rankHistory = xxxxx

既然要对这个返回值解密,那么逻辑里就要取到rankHistory的值

所以直接检索rankHistory关键词就可以了

接下来定位到文件中的位置,如下

打上断点,刷新一下验证一下我们的想法

可以看到在scriptData = eval(scriptData)这行就已经可以看到明文了

所以往上就可以看到需要分析的函数是window.d(scriptData)

单步进去可以看到,具体的解密方法是下面这个

加密分析

上一部分我们定位到了解密的部分

通过下面这张图,可以大概知道这个解密的方法是 AES 解密

AES 的加解密有以下几个需要关注的地方

1、填充

2、加密模式

3、密钥

4、偏移量

知道上面几点就可以直接用加密库复现,不用一个个扣代码

现在我们根据上面几点在代码里找答案

前面两个,填充还有加密模式比较明显

1、填充 - Pkcs7

2、加密模式 - CBC

现在我们开始找密钥和偏移量

这时候就会有人说,上面那么明显的密钥和偏移量还找个啥啊?

经过分析之后其实这两个就是个摆设

还是要打上断点分析

其实打上断点,还是没办法断到位置

但是这里直接引用了两个变量名si

直接在这个方法里面找定义的位置

可以看到下面两个定义的位置

这里的CJS其实就是Crypto加密库,这里的owindow.CJS

所以这里还要搞明白o.M是用到什么方法

通过验证,i其实就是一个md5经过Crypto.enc.Utf8.parse的结果

既然这样的话,我们用代码复现一下,看是否能搞出结果

很完美,不要被代码忽悠就可以了。

昨天复现的时候一直没有给参数传值,导致一直报错,折腾了好久

附代码截图

我是没有更新就在摸鱼的咸鱼

以上就是今天的全部内容了

收到请回复~

我们下次再见。

对了,看完记得一键四连,这个对我真的很重要。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 今日网站
    • 抓包分析与加密定位
      • 加密分析
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档