V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tankren
V2EX  ›  问与答

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

  •  
  •   tankren · 2020-03-12 08:56:48 +08:00 · 1374 次点击
    这是一个创建于 1717 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道是哪个二代的公司开发的东西,一定要手机 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 条回复    2021-03-26 22:26:47 +08:00
    xixibb
        1
    xixibb  
       2020-03-12 10:15:21 +08:00
    这个网站名字就取的奇葩,完全看不懂,所以也就不点进去看了。。。
    tankren
        2
    tankren  
    OP
       2020-03-12 10:18:09 +08:00 via Android
    @xixibb 我搞定了 欺骗代码上次播放率已经是 100 然后就能拖动了 一个小时的视频 2 秒结束 改完成率为真的 100 太爽了 哈哈
    LUOXI23333
        3
    LUOXI23333  
       2021-03-26 17:13:14 +08:00 via Android
    楼主求教!两百多个学时 16 倍速我都看吐了😭😭😭
    tankren
        4
    tankren  
    OP
       2021-03-26 22:26:47 +08:00
    @LUOXI23333 #3 记不清了 依稀记得是给是否可以拖拽的判断逻辑设断点 手动把 playrate 改成 100 就可以拖动了 然后播放完系统就会把真的 100 写回服务器
    Line 1273: if (courseDragswitch === true || playRate === 100) {
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2724 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:09 · PVG 23:09 · LAX 07:09 · JFK 10:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.