吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 16051|回复: 132
收起左侧

[Web逆向] 某网络学院学习的”偷懒“思路分析

    [复制链接]
wanglaihuai 发表于 2023-2-16 14:56
前几日接到求助,帮朋友完成20课时的网络学习。
我想都没想就接下了,寻思找个接口直接把学习时间提交上去,易如反掌。
最不济最不济,咱还能16x播放,也简单的很。



然鹅,当我登陆的时候,发现自己还是太天真。
首先,不能多开窗口。打开第二个播放窗口后,就会弹出:





其次,倍速播放不管用……无论多快的播放速度,获取学习时长的间隔还是一样的。
经过分析,这个学习,是通过每隔一段时间,通过post请求上报视频播放时间,而不是上报播放时长。





这已经是我见过防作弊做的最好的站了(除了人脸识别上课)。

于是有两个思路来“偷懒”:

1,直接post播放时长。

按照请求格式,把session_time字段写的长一写(甚至直接写成本节课的时长,我没测试。)然后提交,就可以获得学习时长。






但是,这个方法太暴力,不知是否会出发后台警报(之前测试一个学习平台,post请求发出去,返回了“账号作弊已记录,拉黑……”巴拉巴拉的)。

2,窗口多开。

稳妥一点的还是老老实实的挂课,多窗口学习。
搜索“停止计时”,发现多窗口检查居然是通过一个xhr请求的返回值1/2来判断。那我们可以拦截并修改这个请求,即可绕过检测。




这里我用的油猴脚本,也没啥技术含量,就几行简单的代码:


[JavaScript] 纯文本查看 复制代码
(function() {
    'use strict';
    const originOpen = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function (method, url) {
    if (url.indexOf("checkcourse.do")>-1) {
        this.addEventListener("readystatechange", function () {
            if (this.readyState === 4) {
            const res = JSON.parse(this.responseText);
            Object.defineProperty(this, "responseText", {
            writable: true,
       });
       this.responseText = "1";
           console.log(this.responseText);
      }
    });
  }
  originOpen.apply(this, arguments);
};
})();


总结:
虽然写来简单,但是过程还挺曲折的,作为一个js小白,绕了不少弯路,也学习到了不少新东西。大佬勿喷。

免费评分

参与人数 19吾爱币 +21 热心值 +15 收起 理由
giy + 1 热心回复!
blkLock + 1 + 1 谢谢@Thanks!
无敌小王 + 1 + 1 我很赞同!
evarn + 1 + 1 谢谢@Thanks!
paidaxing2049 + 1 鼓励转贴优秀软件安全工具和文档!
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
多幸运遇见baby + 1 + 1 用心讨论,共获提升!
zuishi + 1 谢谢@Thanks!
hackerxj + 1 要是代码有过程解析就完美了
bbsv + 1 用心讨论,共获提升!
1MajorTom1 + 1 热心回复!
wxue + 1 + 1 没仔细看,以为加速可搞掂,惭愧!
lsy832 + 2 + 1 用心讨论,共获提升!
Bob5230 + 1 谢谢@Thanks!
meilidemm + 1 谢谢@Thanks!
wanfon + 1 + 1 热心回复!
破竹而入 + 1 + 1 用心讨论,共获提升!
xyl52p + 1 谢谢@Thanks!
zk20120707 + 1 + 1 用心讨论,共获提升!

查看全部评分

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

 楼主| wanglaihuai 发表于 2025-6-11 14:49
绵绵细雨 发表于 2025-6-10 11:12
大佬有详细教程吗,谢谢

1、先在开发者模式播放视频,暂停后找到这个请求。

2、把请求复制出来:

3、把数值改成视频的时长,单位 秒

4、改好了之后,到powershell里提交。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
sEast1985 + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| wanglaihuai 发表于 2023-2-17 13:39
zty001 发表于 2023-2-17 13:05
有点需求,每年要参加继教,不能倍数不能多开都算了,不在乎这一两天,慢慢挂就是,关键是学习几分钟就弹个 ...

形式主义的东西,就要用实用主义给它怼回去,这种学习能偷懒还是尽量偷懒。
 楼主| wanglaihuai 发表于 2025-1-2 09:07
比太阳更光 发表于 2024-12-27 20:55
老哥,人还在么,我这里挂机出现可以多开至6个窗口,可是好像还是一会儿一检测,会检测到

人还在 前两天学习,放弃多开,直接抓包提交学习时长,也没问题。
随风飘摇 发表于 2023-2-16 15:04
感谢楼主,谢谢楼主的知识。
smorfia 发表于 2023-2-16 15:15
感谢楼主,谢谢楼主的知识!!
lfer 发表于 2023-2-16 15:18
“偷懒”,才是人类进步的最大源动力。感谢分享。
与时俱进 发表于 2023-2-16 15:34
做个成品吧
 楼主| wanglaihuai 发表于 2023-2-16 15:40

最后已经是成品了,放到油猴就能多开窗口。
Pwaerm 发表于 2023-2-16 15:42


如果记词和判断在后端。这样不会有实际的效果。
侃遍天下无二人 发表于 2023-2-16 15:42
这个我好像见过,我的解决办法是挂到云主机上放几天不管
alilongyaxi 发表于 2023-2-16 15:49
感谢分享
 楼主| wanglaihuai 发表于 2023-2-16 15:50
侃遍天下无二人 发表于 2023-2-16 15:42
这个我好像见过,我的解决办法是挂到云主机上放几天不管

问题在于,每节课都要点开才能学,还不能多开窗口。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2026-10-22 10:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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