首页
社区
课程
招聘
[原创]腾讯课堂批量下载详细js逆向及脚本(支持QQ、VX登陆)
发表于: 2023-6-13 22:39 10119

[原创]腾讯课堂批量下载详细js逆向及脚本(支持QQ、VX登陆)

2023-6-13 22:39
10119

(本脚本仅提供已购买视频下载功能,如有侵权,可联系本人删除)
m3u8下载大家应该都熟悉,主要关键点在于拿到m3u8链接,和视频流解密key

首先定位key生成位置

1.任选一节课打开,先根据网络访问的ts链接下XHR断点

2.因为已经开始下载视频流,所以此时能看到key的位置
图片描述
3.根据堆栈定位,key在何时被添加,一路断点过去,发现在t.<computer>时key为null
图片描述
图片描述
但是此时可以看到key已经生成
图片描述
选中变量名称,找到赋值的位置
图片描述
可以看到是通过Y6HG这个域下生成的base64字符串解密过来的
图片描述

找到生成key的字符串来源

1、这个base64值从(F12)网络检索并不存在,所以只能在Y6HG下断
图片描述
2、第一次断下来之后单步跟完上图function(e)并未执行,所以下第二个断点然后直接运行,发现调用这个函数时已经生成了base64字符串
图片描述
3、根据这个特殊名称检索发现只有一处有出现,下断点,刷新页面运行过去,发现此时dsign还是一串字符
图片描述
这个值会变化,但是好在从(F12)网络检索可以直接找到
图片描述
图片描述

找到dsign从字符串到base64

1.一直单步步过,直到步过以下函数,dsign发生变化,直接下断点步入。这里需要注意的是这个函数被多次调用,所以可以先取消,运行到上个断点(dsign:g)时再打上。
图片描述
2.通过单步找到关键函数,跟踪还原算法
图片描述
①先取前32位,和后16位,将中间64位每2位以16进制值转换成byte
图片描述
②将转换过后的结果base64
图片描述
③以前32位为秘钥,后16位为向量进行解密
图片描述
图片描述

结尾

其他找接口的过程不多赘述,bp抓包搜索下参数都有,最后放上已经写好的简陋脚本,修改其中这些参数就能批量下载,微信和QQ略有不同。
图片描述
图片描述

 

下载使用时最好添加自己的代理池


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2023-6-14 11:12 被hacktu编辑 ,原因: 脚本完善
上传的附件:
收藏
免费 2
支持
分享
最新回复 (6)
雪    币: 31
活跃值: (3254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
刚刚开始认真学习py起步,看的D版课2022年1月的,结果 iv加密部分 m3u8 失效,拿 腾讯课堂举例, 高级文章,js 逆向。留个脚印。
2024-5-23 02:30
0
雪    币: 10
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
感谢分享,好东西
2024-5-23 07:39
0
雪    币: 4383
活跃值: (3393)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
厉害
2024-5-23 08:40
0
雪    币: 131
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
测试了QQ号的课堂,可以下载,太谢谢啦 ,还是喜欢下载到本地来观看
2024-6-22 09:50
0
雪    币: 126
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6

请问大佬,现在这个方法还能用吗?我使用后,出现了报错。

2024-7-12 18:49
0
雪    币: 746
活跃值: (1514)
能力值: ( LV4,RANK:54 )
在线值:
发帖
回帖
粉丝
7
mb_byuuvgdv 请问大佬,现在这个方法还能用吗?我使用后,出现了报错。
报错都是课程列表结构解析问题
2024-10-23 16:50
0
游客
登录 | 注册 方可回帖
返回
//