吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3633|回复: 44
收起左侧

[其他原创] 【油猴脚本】2024年bm教育线上培训考试自动答题

  [复制链接]
南岸 发表于 2024-5-7 08:37
本帖最后由 南岸 于 2024-5-16 12:22 编辑

保守机密,慎之又慎,千万不可以图省事。脚本图一乐,该学还得学。

脚本托管地址:2024年BM教育线上培训考试自动答题 (scriptcat.org)

使用方法:可复制到浏览器控制台执行,亦可以配合油猴、scriptcat脚本管理器使用(需在考试页面刷新一次才能执行)

实现代码:



let _d = window.document
let routerAfHooks = _d.querySelector('#app').__vue__.$router.afterHooks

if (routerAfHooks && routerAfHooks[0]) {
    let oldfunc = routerAfHooks[0]
    routerAfHooks[0] = (...args) => {
        if (args[0].path == "/bmExam") {
            ELEMENT.MessageBox.alert("点击确定,三秒后开始自动作答,此脚本不存在任何逆向操作,答案为后端返回且在开发者控制台可以找到对应的JSON数据包。").then(()=>{
                setTimeout(()=>{
                    let qlist = _d.querySelectorAll("#questionListDiv > li > ul > li")
                    let alist = _d.querySelector("#nav > div > div.pageBox > div.container1_box > div > div").__vue__.$data.examContents
                    let aindex = {"A":0,"B":1,"C":2,"D":3}
                    qlist.forEach((item,i) => {
                        let a_index = aindex[alist[i].answer]
                        let xlist = item.querySelectorAll("label")
                        xlist[a_index].click()
                    });
                },3000)
            })
        }
        return oldfunc.call(this,...args)
    } 
}

免费评分

参与人数 8吾爱币 +9 热心值 +8 收起 理由
三北豆酥糖 + 1 + 1 谢谢@Thanks!
娜美 + 2 + 1 课时的能否来一发
羡羡ice + 1 + 1 谢谢@Thanks!
yanglinman + 1 谢谢@Thanks!
Aminx520 + 1 + 1 你真刑!
wanglaihuai + 1 + 1 用心讨论,共获提升!
qqycra + 2 + 1 热心回复!
keview + 1 + 1 谢谢@Thanks!

查看全部评分

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

 楼主| 南岸 发表于 2024-5-7 08:41
keview 发表于 2024-5-7 08:40
这个答案从哪里来?还是胡乱答题?

答案就是后端返回来的
lx0113 发表于 2024-5-27 10:28
gamewfj 发表于 2024-5-9 17:24
楼主你好,通过F12的网络数据里可以看到题目和答案

这段代码看起来是JavaScript(特别是与Vue.js框架相关)的一部分,用于从DOM元素中获取某个Vue组件的实例,并进而访问其data对象中的examContents属性。:

_d.querySelector("#nav > div > div.pageBox > div.container1_box > div > div")
使用querySelector方法来选择DOM中特定的元素。这个选择器是一个CSS选择器,它指定了要选择的元素的路径。
这里,_d可能是一个Document对象或者一个包含目标元素的DOM元素。
这个选择器非常具体,它正在查找ID为nav的元素下的一个div元素,然后是一个具有pageBox类的div元素,接下来是一个具有container1_box类的div元素,然后再是两个嵌套的div元素(没有特定的类或ID)。
.__vue__
在Vue.js中,当你有一个Vue组件的根DOM元素时,Vue会在这个DOM元素上添加一个__vue__属性(在非生产模式下)。这个属性引用了Vue组件的实例。
使用.__vue__可以让我们从DOM元素直接访问到其背后的Vue组件实例。
.$data
在Vue组件实例上,$data属性是一个对象,它包含了组件的data函数返回的所有属性。这些属性在Vue模板中是响应式的,当它们改变时,视图也会自动更新。
.examContents
最后,我们从$data对象中访问examContents属性。这意味着在Vue组件的data函数中,有一个名为examContents的属性或响应式数据项。
综上所述,这段代码的目的是:从_d(可能是一个Document对象或DOM元素)中找到一个特定的DOM元素,然后使用Vue的非生产模式特性(__vue__)来访问该DOM元素背后的Vue组件实例,并从该实例的data对象中获取examContents属性的值。
keview 发表于 2024-5-7 08:40
keview 发表于 2024-5-7 08:42
南岸 发表于 2024-5-7 08:41
答案就是后端返回来的

好的,这就去试试,感谢分享
Qim626 发表于 2024-5-7 08:46
高手,厉害,学习了
retsyo 发表于 2024-5-7 08:53
好厉害,学习一下
layue 发表于 2024-5-7 08:57
留存备用,谢谢!
dominic8311 发表于 2024-5-7 08:57
厉害了,感谢分享
ymxck 发表于 2024-5-7 08:59
感谢楼主分享!
eleven7607 发表于 2024-5-7 09:00
先收藏了,等需要用的时候试一下,感谢分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 17:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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