当前位置: 首页 > news >正文

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:

小结

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

http://www.jsqmd.com/news/294843/

相关文章:

  • 救命神器2026 TOP8 AI论文工具:继续教育写作全攻略
  • 2026年GEO优化服务商选型清单:中小企业必问的8个问题
  • 23-MD5:淘宝
  • 面试 Java 基础八股文十问十答第二十一期
  • 2026年GEO优化服务商收费对比:中小企业按月付费vs年费哪个划算?
  • 所爱
  • 从DEM到三维地形:用PLY、OBJ、glTF构建GIS可视化模型
  • 2026年GEO优化服务商工具对比:中小企业自助式vs托管式怎么选?
  • 2026年适合中小企业的GEO优化服务商TOP5:按需求分类推荐
  • 多模态AI服务的“流量容灾”:根据内容类型切换备份节点
  • 46、【Ubuntu】【Gitlab】拉出内网 Web 服务:http.server 分析(三) - 详解
  • 论文写作效率翻倍!9款AI工具免费生成开题报告与论文大纲,写论文不再愁!
  • 2026成都梅毒专业诊疗机构推荐榜
  • 冬季皮肤干燥,洗澡用沐浴油、沐浴露
  • 学霸同款2026 9款一键生成论文工具测评:专科生毕业论文必备指南
  • LLM智能体如何重构法律实践:从独立模型到法律AI的全景解析
  • 大模型在生态环境领域的最优策略,非常详细收藏我这一篇就够了
  • AI产品经理必备:从零开始掌握大模型技术,附全套学习资料【建议收藏】_如何成为一名优秀的AI产品经理?
  • 大模型知识增强指南:RAG与微调的优劣势对比与场景选择
  • 大模型核心技术:从基础训练到多模态适配的完整指南
  • 完整教程:【自然语言处理】处理 GBK 编码汉字的算法设计
  • 2026年西南性病诊疗优质机构推荐指南:梅毒打一针多少钱、梅毒治疗、梅毒症状、梅毒能好吗、治疗hpv大概需要多少钱、治疗梅毒的医院、高危型hpv阳性选择指南
  • 1..24假期记录
  • A2A 协议的工作流程是怎样的?
  • 什么自查询?为什么在 RAG 中需要自查询?
  • 什么是物理像素和逻辑像素?设备像素比(DPR)是什么?
  • 大模型训练三阶段完全指南:从预训练到对齐,一文掌握GPT/LLaMA等模型训练流程(建议收藏)
  • 智谱ZRead MCP vs DeepWiki MCP:大模型开发者必备的MCP工具全解析
  • 主持专业创业踩坑记?我的经验分享,靠自我提升从亏损到盈利
  • 什么是 RAG?RAG 的主要流程是什么?