如何让AI给你写油猴脚本,从此网课不用怕!"

admin 2026-10-18 04:14:35 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

如何让AI给你写油猴脚本,从此网课不用怕!

原创

大表哥吆
大表哥吆

kali笔记

2026年8月18日 00:00
甘肃

在小说阅读器读本章

去阅读

在工作和学习中,我们常常会遇到各类网课平台或继续教育平台,通过看视频来学习。说实在的,真的是一点意思都没有。通常,我们可以用Tampermonkey(油猴)脚本,来实现刷课时,用极短的时间学完整个科目。但这对普通用户而言,是有很高的门槛!


接下来,我们以某继续教育平台为例,借助AI工具帮助我们来完成油猴脚本的编写。

平台是怎么\"计时\"的

通常,这些平台如果通过插件进行“快进”,是无法获得学时的。要\"加速\",先得搞清楚学时到底是怎么被统计出来的。接下来,我们先将整个页面下载,完成后,将整个页面(主要是相关js)扔给AI进行分析。看看他是如何计时的。

完成后分析效果如下:

1.1 学时来自哪个接口

打开视频学习页video/study.do抓包能看到核心请求只有一个:

POST /mizar/study/activity/video/record.do    position=143          ← 当前播放到第几秒    length=180            ← 本次\"真实观看\"了多少秒    token=...             ← 表单里自带的会话 token    trainCourseId=... courseActivityId=... 等一堆参数

length 就是服务器用来累计学时的那一栏。它由页面的 getLengthAndReTimer() 函数计算出来。

1.2 getLengthAndReTimer 的计时逻辑

页面里埋了一套纯墙钟计时器,关键代码简化后是这样:

// 播放时:记录起始时间function timePlay() {    startTime = new Date().getTime();    paused = false;} // 暂停时:把这段时间累加进 totalLengthfunction timePause() {    if (!paused) {        endTime = new Date().getTime();        totalLength += Math.round((endTime - startTime) / 1000);    }    paused = true;} // 提交时调用:返回本次累计的观看秒数,然后清零重来function getLengthAndReTimer() {    if (startTime != null) {        endTime = new Date().getTime();        totalLength += Math.round((endTime - startTime) / 1000);    }    var total = totalLength;    resetTimer();                 // totalLength = 0    if (!paused) timePlay();      // 还在播就重新开始计时    return total;}

要点:length 是一个\"增量\",它表示\"自上次提交以来,真实过去了多少秒\",而不是累计看了多久。服务器把每一次的 length 累加起来,就是总学时。

1.3 record.do 提交了什么

页面每 3 分钟触发一次提交(vInterval = 3 * 60 * 1000):

function loopSubmit() {    submitVideo(\"1\");} function submitVideo(vType) {    var vCurTime = parseInt(getLengthAndReTimer());   // 本次观看秒数    var vVideoPosition = parseInt(vplayer.currentTime()); // 播放位置    if (vCurTime > 0 || \"2\" == vType) {        ajaxSubmit({            url: \"/mizar/study/activity/video/record.do\",            form: \"myForm\",            params: { position: vVideoPosition, length: vCurTime }        });    }}

于是真相浮出水面:

  • • length = 两次提交之间的墙钟秒数(只跟时间有关,跟视频画面播到哪无关)。
  • • position = 视频播放位置(跟画面有关,是服务器判断\"看到哪了\"和反作弊的依据)。

1.4 另一条通道:进度打点

播放器 eduplayer 还会每 30 秒向一个独立的统计域名上报一次播放进度:

GET https://video.xxxxx.com/api/update?data={\"video_url\":\"...\",\"curr_time\":143,\"user_id\":\"...\",\"epss_id\":\"...\"}

curr_time 就是当前播放秒数。这条通道更像\"观看进度 + 反作弊埋点\",和 record.do 的学时累计是两套东西,但脚本会一起处理,保证两个通道口径一致。

1.5 视频结束与自动跳转

当视频播完,浏览器触发 ended 事件,页面会:

vplayer.on('ended', function () {    onVideoEnd();          // submitVideo(\"2\"):提交结束,length 结算最后一笔    // ...3 秒后    doNext();              // 请求 getNext.do,拿到下一节并跳转});

关键:跳下一节(doNext)只有在 ended 事件真正触发后才会发生。

如上,了解到了整个系统的逻辑结果。接下来便可以让Hermes写初步的脚本。注意:Claude Codex等工具是不会给你写作弊代码的,可以让Hermes先写,写完后让他们去给你改就行了

脚本测试

接下来,我们根据上方得到的步骤让AI给我们写出相关js。并加载到网站进行测试。

对脚本进行测试,汇总BUG

脚本测试效果

如上,一个40分钟的视频,只需看3分钟(要保证你看了)就能完成课时。

更多精彩文章 欢迎关注我们


如何让AI给你写油猴脚本,从此网课不用怕!" 网络安全文章

如何让AI给你写油猴脚本,从此网课不用怕!"

文档通过分析某继续教育平台的计时机制,揭示其学时统计依赖提交接口record.do的length参数,该参数记录真实墙钟秒数。基于此,作者指导读者借助AI工具编写油猴脚本以自动刷课时,建议保持最小真实观看时长并通过技术手段操纵length值,从而快速完成课程学习。文中包含详细技术分析和操作步骤。
武装你的浏览器-HackToolsPlus" 网络安全文章

武装你的浏览器-HackToolsPlus"

本文介绍了一款名为HackToolsPlus的浏览器渗透测试插件,其核心功能包括Repeater重放器、Intruder爆破、Race竞争测试、Intercept拦截器、Collaborator协作模式及Decoder解码器等,旨在将BurpSuite式能力嵌入ChromeDevTools,无需配置代理或证书即可进行Web安全测试。同时文章还分享了一个通过fuzz将登录接口参数改为register实现任意用户注册的高校人脸采集系统实战案例,强调了信息收集与接口测试的重要性。
Agent开发(七)-更高效优雅的skill加载" 网络安全文章

Agent开发(七)-更高效优雅的skill加载"

本文介绍Agent开发中skill加载的优化方案,核心思路是将技能目录放入系统提示词,并复用已有的read工具来加载技能文件,从而避免新增list_skills和load_skill两个工具。该方法减少了token消耗和模型调用轮次,提升了效率。关键洞察是加载技能等于读文件,系统提示词适合存放模型始终需要知道的信息。可操作建议是采用此思路优化Agent开发,节省工具位并简化流程。
评论:0   参与:  0