Loading... <div class="tip share">请注意,本文编写于 1307 天前,最后修改于 1056 天前,其中某些信息可能已经过时。</div> # 需要的工具 1. wireshark 2. python # 分析过程 通过远程桌面连接到客户的桌面,发现这个软件是使用QT进行开发,遵循了能看就基本上是可以确定能够下载的原则,使用Fiddler这样轻量级的软件是可以的,只是CTS不支持使用代理,搭建proxifier全局代理的话,时间成本有点大,所以直接上了wireshark,根据抓取数据包,可以看到请求时遵循HTTP协议的,那就基本肯定是没有使用流的形式,地址结尾是mp4,直接下载是没有办法下载的,猫腻应该就是在请求头信息了,通过Postman加上了模拟的请求,可以得到正确的响应,那就直接使用python写一个自动化的脚本,根据分析请求头和地址变换,可以锁定一个目录的数据,因此每次只能下载一个文件夹下的,由于时间关系就没有进行深入分析。 # 过程 1. 打开wireshark,选择有线网卡,这时候就已经开始抓包了。 2. 设置过滤器,内容为HTTP,也就是说,只看HTTP协议的记录 ![Snipaste_2021-04-24_23-38-18.png][1] 3. 打开CTS,找到视频库,找到你想下载的阶段以及天数,注意,加入你现在已经打开了第一天的目录,这个时候停止wireshark抓包,不然疯狂抓包,影响性能,尤其是自动下载的时候。 4. 找到Info列下面,有list字样的记录,并且双击这个。复制最下面的FULL request URI.{右键--复制--!值} ![22.png][2] 5. 把刚刚复制的文本粘贴到任意位置,在地址中,找到uid=,把uid=后面的数据复制到conf.json中的uid值里,到&结尾,conf.json中有样例。同理sign也是这样操作的,详情看如下图所示。 ![333.png][3] 6.还剩下authKey,这个需要打开一个视频,通过视频的封包信息,找到authKey,如下图所示。最好是打开视频后就立刻关闭视频。这个时候wireshark中Info列下有VIDEO字样的那条记录,双击那条记录。同样复制最下面的FULL request URI.{右键--复制--!值} ![444444.png][4] 6. 同样,复制到任意位置,找到authKey字段,复制到conf.json中的authKey值里。如下图所示 ![555.png][5] 7. 这时候,就要修改其他字段了。level就是第几个阶段,也就是目录,dir就是第几天,如果说,视频库中存在三级目录,这时候需要在任意一个值后面拼接[/目录]。对应表如下图所示。 ![666.png][6] 8. 这个时候,打开run.bat 或者 offcnCTSDownloader.py 目的就是让python对代码进行解析运行。 当程序运行结束,找到你定义的保存路径,这时就能看到下载完成的视频了。 # 异常分析 > {"info":"WRONG_KEY"} 一般都是你的sign有问题,重新抓一下,实在不行就全部的过程走一遍,把上面的uid,sign,authKey,level,dir,全部的检查一遍,有的讲师习惯加上其他字符,所以不要忽视level这个字段, 例如 > "level": "第三阶段", > "dir": "day12-视频", > 和 > "level": "第二阶段", > "dir": "day12", <div class="tip inlineBlock error"> 注意,图示中的zzz和zzzz可以存在,只是在下载过程中复制的一个参考,但是上面的key,也就是左面的不要动,只改后面就行 </div> <div class="tip inlineBlock error"> 注意,每换一天,就要重新抓一次目录 </div> <div class="tip inlineBlock error"> 写完过滤器之后敲回车啊,要不然过滤器不生效 </div> # conf.json解释 uid: 这个相当于学号,改一次就行,往后都是一样的。 sign: 这个每换一次文件夹,就会更改一次,所以这个包一定要抓。 authKey: 这个一般情况下是抓一次就行,后面就不需要认证,如果程序运行中,能够列出目录,但是无法下载,就要改这个字段了。 level: 也就是视频库中的第一级目录 dir: 视频库中的二级目录 download: 这个是下载位置 clazz: 也就是你的班级编号 # 下载 exe 是编译后的,可以直接打开 py是源代码,感觉需要优化,可以自己优化一下 bat 是启动器,报错的话,能显示不会闪退。 [CTS下载助手.rar][7] [1]: https://www.zunmx.top/usr/uploads/2021/04/3180709533.png [2]: https://www.zunmx.top/usr/uploads/2021/04/547609424.png [3]: https://www.zunmx.top/usr/uploads/2021/04/3092212629.png [4]: https://www.zunmx.top/usr/uploads/2021/04/2783623456.png [5]: https://www.zunmx.top/usr/uploads/2021/04/3419065003.png [6]: https://www.zunmx.top/usr/uploads/2021/04/3364566321.png [7]: https://www.zunmx.top/usr/uploads/2021/04/4133595258.rar © 禁止转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏
4 条评论
现在还能用吗
不清楚,前一阵子有反馈说无法使用,但是经过修改后还是可以下载的。
py文件有问题吧
检查一下python版本和依赖信息,或者是看一下报错信息吧,因为时间过去也好久了,当时给同学写的一个脚本,现在可能已经不适用了。