tankren
V2EX  ›  问与答

你们公司要求用链工宝学复工网课吗?

  •  
  •   tankren · Mar 12, 2020 · 2090 views
    This topic created in 2277 days ago, the information mentioned may be changed or developed.

    不知道是哪个二代的公司开发的东西,一定要手机 APP 才能注册,注册后可以 PC 登录,安卓 APP 直接被 play protect 拦截。。。 用同事的苹果手机注册后登录,网课是 Flash 的,首次播放禁止拖拉进度条,播放完成后自己修改完成度 100%

    用 wireshark 抓了一下只发现定时 POST 视频播放状态,不知道有哪位大侠有兴趣破一下,比如怎么直接修改完成度为 100%或者解除限制拖动 http://start.lgb360.com/video.html

    	Line 341:                     myPlayer(myVvid, myPlayRate, myDetailId, myVideoCurrPoint, myVideoTime, courseDragswitch);
    	Line 570:                     //     myPlayer(myVvid, myPlayRate, myDetailId, myVideoCurrPoint, myVideoTime, courseDragswitch, 1);
    	Line 735:                 var courseDragswitch; // 首次播放是否限制拖动
    	Line 743:                             courseDragswitch = value.course_drag_switch;
    	Line 744:                             //  console.log(courseDragswitch, "courseDragswitch")
    	Line 744:                             //  console.log(courseDragswitch, "courseDragswitch")
    	Line 952:                                             myPlayer(value.sections[0].vVID, value.sections[0].playRate, value.sections[0].detailId, value.sections[0].videoCurrPoint, value.sections[0].videoTime, courseDragswitch);
    	Line 1120:                                                 myPlayer(value.sections[0].vVID, value.sections[0].playRate, value.sections[0].detailId, value.sections[0].videoCurrPoint, value.sections[0].videoTime, courseDragswitch);
    	Line 1234:                         myPlayer(sectionData[myIndex].vVID, sectionData[myIndex].playRate, sectionData[myIndex].detailId, sectionData[myIndex].videoCurrPoint, sectionData[myIndex].videoTime, courseDragswitch)
    	Line 1248:                         myPlayer(sectionData[0].vVID, sectionData[0].playRate, sectionData[0].detailId, sectionData[0].videoCurrPoint, sectionData[0].videoTime, courseDragswitch)
    	Line 1255:                 function myPlayer(vid, playRate, detailId, watchStartTime, videoTime, courseDragswitch, autoplay) {
    	Line 1264:                     // courseDragswitch
    	Line 1273:                     if (courseDragswitch === true || playRate === 100) {
    
    // 视频播放
                    function playVideo( playType, classStuId, stuHourDetailId, playStartTime, playEndTime, playStartPoint, playEndPoint) {
                        // playType: 类型( 0 播放 1 暂定 2 结束 3 返回 4 切换视频 5 关掉进程 6 互动无响应)
                        // classStuId: 班级学员编号
                        // stuHourDetailId: 学员学时明细编号
                        // playStartTime: 播放开始时间(系统时间)
                        // playEndTime: 播放结束时间(系统时间)
                        // playStartPoint: 播放开始时间点(播放器时间(秒))
                        // playEndPoint: 播放结束时间点(播放器时间(秒))
                        playStartPoint = parseInt(playStartPoint);
                        playEndPoint = parseInt(playEndPoint);
                        var logType = localStorage.getItem("pcType");
                        var data = [{
                            "logType":logType,
                            "playType": playType,
                            "classStuId": classStuId,
                            "stuHourDetailId": stuHourDetailId,
                            "playStartTime": playStartTime,
                            "playEndTime": playEndTime,
                            "playStartPoint": playStartPoint,
                            "playEndPoint": playEndPoint
                        }];
                        // console.log(data)
                        $.ajax({
                            url: url+'/lgb/course/videoLog.do',
                            type: 'post',
                            data: JSON.stringify(data),
                            beforeSend: function (request) {
                                request.setRequestHeader("memberId", myMemberId);
                                request.setRequestHeader("token", myToken);
                            },
                            datatype: "json",
                            contentType: "application/json",
                            success: function (result) {
                                if (result.status == 20000) {
                                    // console.log(result);
                                } else
                                    if (result.status == 10002) {
                                        checkLogin();
                                    }
                            },
                            error: function (err) {
                                // console.log(err)
                            }
                        });
                    }
    
    4 replies    2021-03-26 22:26:47 +08:00
    JZ8ZW193q6W9Awgy
        1
    JZ8ZW193q6W9Awgy  
       Mar 12, 2020
    这个网站名字就取的奇葩,完全看不懂,所以也就不点进去看了。。。
    tankren
        2
    tankren  
    OP
       Mar 12, 2020 via Android
    @xixibb 我搞定了 欺骗代码上次播放率已经是 100 然后就能拖动了 一个小时的视频 2 秒结束 改完成率为真的 100 太爽了 哈哈
    LUOXI23333
        3
    LUOXI23333  
       Mar 26, 2021 via Android
    楼主求教!两百多个学时 16 倍速我都看吐了😭😭😭
    tankren
        4
    tankren  
    OP
       Mar 26, 2021
    @LUOXI23333 #3 记不清了 依稀记得是给是否可以拖拽的判断逻辑设断点 手动把 playrate 改成 100 就可以拖动了 然后播放完系统就会把真的 100 写回服务器
    Line 1273: if (courseDragswitch === true || playRate === 100) {
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2920 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 04:21 · PVG 12:21 · LAX 21:21 · JFK 00:21
    ♥ Do have faith in what you're doing.