吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10743|回复: 61
上一主题 下一主题
收起左侧

[Web逆向] 关于Classin网课回放的下载研究(2022.07)

  [复制链接]
跳转到指定楼层
楼主
Emeraldsheep 发表于 2022-8-10 11:07 回帖奖励
本帖最后由 Emeraldsheep 于 2022-8-19 08:32 编辑

本文仅供学习交流,请勿用于任何违法行为,转载时请注明出处
Classin是我见过的这些网课平台里面较为优秀的一个,不仅有自习室,老师上课还有很多功能可以使用
关于抓包问题,下面是我个人的探索经验,总结一下
问题起源
网课期间学校使用Classin平台上网课响应国家号召,但是我发现学校会删除一个星期前的网课视频来节省存储空间
(毕竟classin是个收费平台),无法进行以前课程的二次复习,这我就觉得很无奈,于是就想着抓包尝试下载

问题解决过程
当时在Windows端下载时,用Fiddler抓包发现根本没用(win7 win10我都测试过没用),下载了半天发现根本没用,只好转到万能的安卓端下载
(后来才发现Classin根本不走代{过}{滤}理)


我最现在我自己的手机上测试,我用的是没有ROOT的手机,在安卓上用HTTPCanary抓包发现Classin抓包抓不到什么东西,唯一的一个网址还是测试网址 sayhello
而且播放页面还会提示加载失败
  

后来在抓包错误区发现是自己的设备已经是安卓7了,不信任HttpCanary的根证书,后面用ROOT的手机才抓到了包
(默认会提示Handshake failed,原因是根证书不被信任),去异常区才发现又有这么多包失败
  

问题解决方法
注意了
Classin抓包要ROOT!!
(手机不方便ROOT的可以在电脑上使用网上的安卓模拟器,这个可以自行百度,能用ROOT就行)
(自己试过平行空间,发现根本没用,抓的东西还是跟主机一样的没用)
其次,因为安卓7以后系统默认不再信任用户安装的CA证书,要将HTTPCanary的根证书移动至系统CA,具体过程看图
   

>如果你是手机端4.4.5之前的版本

本人亲测就算你添加到了系统CA,进入播放页面还是没有什么东西,网课视频还是加载不出来
但后面发现这个网课链接不是m3u8,而是就像B站那样的直接视频链接+ 204 partial content模式,看多少请求多少文件
但我们可以绕过最开始的握手,就是先播放了一段时间后,再打开抓包,回到Classin播放后,就可以获得网课链接了
注意先不要开抓包播放一段时间后,再开抓包回到播放页调到视频结尾(让应用请求新视频),加载完成之后就可以去抓包去看结果了


下载方面,随便把链接拖到浏览器里或是IDM直接下载就可以了
(注意下载的时候要把亲测要把抓包软件关掉,否则只会报错无响应)


>如果你是手机端4.4.5以后的版本
那就方便多了,新版本貌似没有那么严格的请求机制,这是我最近几次才发现的,最近新版本甚至能抓到出网课数据结构的json
能够直接下载
直接打开HTTPCanary>> 打开Classin 》》 点击你要下载的网课视频》》 等待加载一段时间会提示加载失败,没事,这时候就可以去抓包去看看结果了
(虽然网课视频还是无法加载)(我也不知道为啥)
嫌麻烦的可以吧版本更新到最新版本,可以直接抓取
(注意下载的时候要把亲测要把抓包软件关掉,否则只会报错无响应)




这是我抓到的json文件包(部分隐私信息已经屏蔽)
里面的内容还是很详细的,但我们主要是要网课链接
[JavaScript] 纯文本查看 复制代码
{
    "data": {
        "lessonId": "476634xxxxx",
        "lessonName": "2022B四月份网课 xxx班数学(1/8)",
        "lessonData": {
            "lessonStatus": 1,
            "vodList": [

            ],
            "fileList": [
                {
                    "CIDExt": "",
                    "CreateTime": "2022-04-19 09:43:10",
                    "Duration": 7201,
                    "EndTime": "2022-04-19 09:43:06",
                    "FileId": "387702302xxxxxxx",
                    "FileName": "",
                    "Message": "Operation succeeded",
                    "Playset": [
                        {
//注意这里的PlaySet就是网课视频的地址 playback.eeo.cn域名
// 还有默认抓到的包里是有反斜杠转义符的 比如https:\/\/playback这种,注意要把反斜杠去掉
                            "Definition": "0",
                            "Url": "https://playback.eeo.cn/794b4a11vodbj125241xxxx/xxxxxxxxxxxxxxxxxxxx/f0.mp4"
                        }
                    ],
                    "Size": "293289461",
                    "SourceType": 0,
                    "StartTime": "2022-04-19 07:43:08",
                    "Status": "2"
                },
                {
                    "CIDExt": "",
                    "CreateTime": "2022-04-19 10:12:48",
                    "Duration": 1780,
                    "EndTime": "2022-04-19 10:12:44",
                    "FileId": "387702302xxxxxxxxxx",
                    "FileName": "",
                    "Message": "Operation succeeded",
                    "Playset": [
                        {
                            "Definition": "0",
                            "Url": "https://playback.eeo.cn/794b4a11vodbj1252xxxxx/aadfd0eexxxxxxxxxxxxxxx/f0.mp4"
                        }
                    ],
                    "Size": "82364417",
                    "SourceType": 0,
                    "StartTime": "2022-04-19 09:43:06",
                    "Status": "2"
                }
            ]
        },
        "lessonStarttime": "1655595600",
        "lessonEndtime": "1655604600",
        "courseLogo": "",
        "courseName": "2022B四月份网课 xxx班数学(1/8)",
        "courseIntroduce": "",
        "lessonIntroduce": "",
        "schoolLogo": "/upload/images/20190425/24a56ee4xxxxxxxxxxx.png",
        "schoolName": "网课1区",
        "showClassVideo": "1",
        "avoidRecordReplay": "0",
        "teacherId": "5086xxxx",
        "teacherName": "xx",
        "teacherAvatar": "",
        "teacherBio": "",
        "chatroomStatus": "0",
        "playNum": 0,
        "likeNum": 0,
        "onlineNum": 0,
        "lessonCode": 1,
        "lessonStatus": 1,
        "userType": 1,
        "lessonType": "1"
    },
    "error_info": {
        "errno": 1,
        "error": "程序正常执行"
    }
}

   

IMG_20220727_091255.png (95.12 KB, 下载次数: 14)

IMG_20220727_091255.png

免费评分

参与人数 7吾爱币 +4 热心值 +7 收起 理由
meilidemm + 1 谢谢@Thanks!
Kendodoo + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
odium + 1 + 1 谢谢@Thanks!
toutouxuejishu + 1 我很赞同!
ufldh + 1 + 1 谢谢@Thanks!
yeyu9542 + 1 + 1 谢谢@Thanks!
山岚 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 2#
 楼主| Emeraldsheep 发表于 2022-8-18 10:53 |楼主
本帖最后由 Emeraldsheep 于 2022-8-30 20:20 编辑

关于有人说可以用Fiddler抓包,我当时就是电脑上搞了很久没抓成功,网上查了很久也没有什么方法
这篇主要是我自己的经验分享,当时就是因为Fiddler抓半天包没一点用才去安卓端抓包的
(如果有哪位大神可以用Fiddler抓包的也可以分享下方法)
直接批量暂时还没发现请求头有什么规律,只能手动抓包后批量下载
推荐
7Wen 发表于 2022-9-2 19:58
Emeraldsheep 发表于 2022-8-30 20:22
支持大佬
发这篇帖子主要是当时自己有下载需求而网上一直没有方法,自己探索了一点点才总结出来的
我是 ...

哈哈,也是学生党。。回头有空发一下吧,最近有点忙。难点在于360的壳,不过也可以取巧的方式过了
推荐
jimmyzang 发表于 2023-6-6 22:14
jango93 发表于 2023-6-6 14:13
大佬,你在2020年的那个文章写作工具还能发一下下载吗,下不了了。。。

用ChatGPT吧,比我那个好用。我的工具地址:
链接: https://pan.baidu.com/s/185BHwp9SXRXo8Q1WEEVBtQ?pwd=9aki 提取码: 9aki
3#
xixicoco 发表于 2022-8-10 17:05
主要就一个抓包嘛
4#
vr4u 发表于 2022-8-11 14:13
classin里面是什么课程
5#
odium 发表于 2022-8-12 01:48
很有借鉴意义,谢谢楼主!
头像被屏蔽
6#
hua111 发表于 2022-8-12 09:22
提示: 作者被禁止或删除 内容自动屏蔽
7#
 楼主| Emeraldsheep 发表于 2022-8-12 10:29 |楼主
vr4u 发表于 2022-8-11 14:13
classin里面是什么课程

classin是个中立的技术平台,就和钉钉网课差不多
课程只是学校自己录制的
8#
Lazarus123 发表于 2022-8-14 20:30
非常好啊
9#
平淡 发表于 2022-8-19 22:20
还没弄过classin的课程,改天去看看热闹
10#
GMaxx 发表于 2022-8-26 14:27
可以帮忙下载吗,考研党:1没时间2没动手能力,可以开个新帖挂悬赏。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-14 13:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表