news 2026/7/25 4:13:58

22-RSA全扣+标准AES:网易云

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
22-RSA全扣+标准AES:网易云

网站地址:网易云

加密参数+定位

找加密参数这里不细说了,通过py注释即可验证:

然后xhr开始定位,通过跟栈可以看到加密位置在此:

进window…xxx函数可看到核心加密位置:

调试过程需注意不要往回翻页,网易云会有缓存,往回翻页明文不对,现在我们来分析一下这个加密过程:

然后经过非对称(不知是否魔改,但看着不像标准)得到第二个加密参数:

具体细节我们扣代码时候在根据报错看即可

扣代码

先将核心函数扣下来:

然后将c和b函数扣下来,以及调用的函数:

再补上标准对称加密库,运行看看:

缺明文,补上,再运行:

缺函数,但是这个函数牵连甚大,需要扣很多,我们多刷新网页多触发接口看看这些到底变不变,结果发现不变,那就直接写死,再运行:

补上a函数,再运行:

这是RSA开始发力了,因为我不确定他是否标准所以没有导模块,我们直接扣吧:

现在缺少变量,直接将函数下面定义的变量拿下来:

拿下

补充

至于为什么从这里开扣:

这也是一种假设:因为上面是自执行方法,可能属于另一个模块了,我们向上翻可以看到CryptoJS导出的位置,应该就是对称加密的自执行方法吧:

封装与调用

js封装:

py调用:

importrequestsimportexecjsimportosimporttimeclassJSExecutor:def__init__(self,js_file_path):ifnotos.path.exists(js_file_path):print(f'js代码不存在:{js_file_path}')withopen(js_file_path,'r',encoding='utf-8')asf:self.js_code=f.read()# execjs.compile() 将JavaScript 代码编译为一个可执行的对象self.js_code=execjs.compile(self.js_code)defcall(self,func_name,*args):""" 封装python对js代码中函数的调用 :param func_name: js代码中的函数名 :param args: js代码中函数所需的参数 :return: js中函数运行后的结果 """returnself.js_code.call(func_name,*args)defget_data(params,encSecKey):headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0',}data={'params':params,'encSecKey':encSecKey,}response=requests.post('https://music.163.com/weapi/comment/resource/comments/get',headers=headers,data=data,)returnresponse.json()if__name__=='__main__':js_executor=JSExecutor('03-网易云评论RSA+AES对称加密.js')# for page in range(1, 10):# print(f'-------------------------------------------正在爬取第{page}页---------------------------------------')page=1js_params=js_executor.call('encryptParams','3324117652',page,'16e3194fa1fa8205f7d88a5c1908ddfe')print(get_data(js_params['encText'],js_params['encSecKey']))time.sleep(0.8)

result:

小结

本文不算难,当初学习逆向时也算是卡了我一段时间,今天分享一下,如有问题请及时提出,加油加油

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 4:51:42

大模型核心技术:从基础训练到多模态适配的完整指南

文章详细介绍了大模型的三大训练阶段:预训练阶段(无监督学习海量数据)、指令微调阶段(使用带标签数据二次训练)和人类反馈强化学习阶段(引入人类评价进行价值对齐)。同时阐述了优化大模型的几种…

作者头像 李华
网站建设 2026/7/24 15:16:01

MAF快速入门(13)常见智能体编排模式

大家好,我是Edison。 最近我一直在跟着圣杰的《.NETAI智能体开发进阶》课程学习MAF开发多智能体工作流,我强烈推荐你也上车跟我一起出发! 上一篇,我们学习了MAF中如何进行子工作流。本篇,我们来了解下在MAF中如何快速…

作者头像 李华
网站建设 2026/7/22 9:18:03

《AI Flow: Perspectives, Scenarios, and Approaches》论文解读

《AI Flow: Perspectives, Scenarios, and Approaches》论文深度解读 (论文链接:https://arxiv.org/html/2506.12479v1,发布于2025年6月14日,领域:cs.AI) 一、论文基本信息 1. 核心团队与背景 作者单位&…

作者头像 李华
网站建设 2026/7/23 3:51:31

软件测试之单元测试

所谓单元测试指,指的是对软件中最小可测试单元开展细致的检查与验证工作。 具体而言,它主要用于检验单个类的准确性,确保其功能符合预期。 单元测试与集成测试、系统测试存在显著差异。它是软件开发流程中前置的测试环节,规模最…

作者头像 李华