Python 爬虫进阶必备 | 某指数分析平台解密逻辑分析

举报
xianyuplus 发表于 2021/03/20 00:34:58 2021/03/20
【摘要】 今日网站aHR0cCUzQS8vemhpc2h1LmJhaWR1LmNvbS92Mi9tYWluL2luZGV4Lmh0bWwlMjMvdHJlbmQvJTI1RTglMjU4NSUyNUJFJTI1RTglMjVBRSUyNUFGJTNGd29yZHMlM0QlMjVFOCUyNTg1JTI1QkUlMjVFOCUyNUFFJTI1QUY=前面写了多篇文章是关于加密参数加密的,今天写一篇关...

今日网站

aHR0cCUzQS8vemhpc2h1LmJhaWR1LmNvbS92Mi9tYWluL2luZGV4Lmh0bWwlMjMvdHJlbmQvJTI1RTglMjU4NSUyNUJFJTI1RTglMjVBRSUyNUFGJTNGd29yZHMlM0QlMjVFOCUyNTg1JTI1QkUlMjVFOCUyNUFFJTI1QUY=

前面写了多篇文章是关于加密参数加密的,今天写一篇关于返回值解密的文章,供各位大佬参考

抓包分析与加密定位

先来看看需要分析的结果,可以看到页面是存在时间轴与指数值两个值的,我们现在就是要抓取这个指数轴的值

经过简单分析,看到下面这个请求有一串的data值是以密文的形式返回的,我们大胆猜测这就是加密的返回结果,页面一定存在解密的逻辑来解密这段data

可以看到这个加密的结果是有 3 段,分别是pcallwise,这里解密的逻辑用的应该是同一个,所以我们只要分析一个出来就行了。

分别搜索datapcwise等关键次都没有找到加密的逻辑,xhr断点也试了,也没有找解密的逻辑。

通过参考之前写过的稀牛数据的文章还有我在之前写过的一些基础文章中提到的可以通过检索加解密的关键词来定位的思路

突然想到还有解密的关键词decrypt可以再试试

果不其然,让我找到了下面这些结果

我追进去打上断点,果然就是我们需要的逻辑(希望所有的前端工程师都能写好注释)

也可以通过堆栈找到上一层逻辑来确认

加密逻辑分析

这个逻辑很清楚,我们直接复制出来看看能不能解密


完事,这个逻辑非常简单

这个逻辑也可以复写成Python版本

def decrypt_data(password, data):
    n = list(password)
    i = list(data)
    a = {}
    result = []
    ln = int(len(n) / 2)
    start = n[ln:]
    end = n[:ln]
    for j, k in zip(start, end):
        a.update({k: j})
    for j in data:
        result.append(a.get(j))
    return ''.join(result)

以上就是今天的全部内容了,咱们下次再会~

[ 完 ]

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。