Myluzh Blog

Strive to become a dream architect.

青年大学习一键跳过与实现原理分析

发布时间: 2020-7-20 文章作者: myluzh 分类名称: NOTE


0x01 前言
    又到了每周一次的青年大学习时间了,青年大学习时长也从小视频慢慢变成了大电影...
    众所周知,用苹果手机可以直接把进度条直接拖到最后直接完成学习,这种拖动进度条的方式的确可以实现一键跳过。
    今天有人来问我,能不能实现安卓手机一键跳过青年大学习,想要实现也不是不可能,花了一点时间分析了下青年大学习,emmm然后写了篇文章记录下。

0x02 分析
    下面我们分析从输入信息到学习完成后,服务端跟客户端之间的请求结构。

1.当我们输入完信息,点击开始“去学习”后,页面会跳转,跳转时并未传递任何参数,拦截下来的跳转地址为
http://h5.cyol.com/special/daxuexi/9rclojmfh12/m.html

2.点击“开始学习”后,继续进行拦截,本地会GET一个.mp4视频过来,这个就是我们要看的青年大学习视频。
点击查看原图

3.继续拦截分析发现,直到视频看完,客户端与服务端也没有进行任何数据交互行为了。
点击查看原图

0x03 结论
    当你填写完信息点击“去学习”,提交表单进行跳转的时候,服务器就已经记录了你在看视频的请求了,所以后台是不知道你看没看完的,当点击提交那一刻,你就已经被标记为学习完了。也就是你看不看完视频根本没事。

0x04 其他
    既然已经知道了,视频看不看完都没有关系,但是学习完的截图咋办?可以直接用同学的截图,也可以直接把拖动视频到末尾。

    苹果手机 直接在控制中心有进度条,拖动到视频末尾即可。
    安卓手机 需要借助微信X5内核调试来实现,实现方法如下:
  1. 微信内打开:http://debugmm.qq.com/?forcex5=true,会提示 force use x5 switch is on ,然后关掉页面。
  2. 微信内打开:http://debugtbs.qq.com,会开始下载微信X5内核,下载完成后会进入调试界面。
  3. 关掉调试界面,微信内打开:http://debugx5.qq.com,进入X5调试界面,在“信息”选项中,打开vConsole调试功能。
  4. 复制如下代码,等下有用
    document.getElementById('Bvideo').currentTime=300;
  5. 进入青年大学习播放视频页面,点击绿色的vConsole按钮(如果没有此按钮,看1-3步骤有没有做对),在打开的控制台中输入刚刚复制的代码,点击OK即可。

标签: 青年大学习

发表评论