1.购买服务器阿里云:服务器购买地址https://t.aliyun.com/U/DT4XYh若失效,可用地址
阿里云:
服务器购买地址
https://t.aliyun.com/U/DT4XYh
若失效,可用地址
https://www.aliyun.com/activity/wuying/dj?source=5176.29345612&userCode=49hts92d
腾讯云:
https://curl.qcloud.com/wJpWmSfU
若失效,可用地址
https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console
华为云
https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905
2.部署教程
3.代码如下
(function () {
'use strict';
let oldadd = EventTarget.prototype.addEventListener
EventTarget.prototype.addEventListener = function (...args) {
if (window.onblur !== null) {
window.onblur = null;
}
if (args.length !== 0 && args[0] === 'visibilitychange') {
console.log('劫持visibilitychange成功,奥利给!')
return;
}
return oldadd.call(this, ...args)
}
if (location.href.indexOf("assess_list") != -1) {
setTimeout(function () {
pinggu()
}, 1000)
}
async function pinggu() {
let questionNums = document.querySelectorAll("dl").length
for (let i = 0; i < questionNums; i++) {
let question = document.querySelectorAll("dl")[i]
question.querySelectorAll("label")[0].click()
await delay(500);
}
}
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
})();
解析
该脚在 国家药品安全专业技术人员培训网(nmpaied.com
)页面运行的脚本,作用包括:
评估页自动选 A 选项(逐题点击第一项);
干扰/绕过切屏限制(避免因切换窗口被系统判定并限制考试)。
主要方法的作用
劫持事件监听
重写EventTarget.prototype.addEventListener
:发现页面尝试监听
visibilitychange
(可用于切屏检测)时,直接拦截不注册;同时将
window.onblur
置空,减少页面对失焦/切屏的感知。
作用:降低页面基于可见性变化或失焦事件的切屏次数统计/限制效果。入口路由判断与延时启动
当 URL 含assess_list
时,setTimeout
延迟 1 秒后触发评估流程pinggu()
。评估自动选 A(
pinggu
)
遍历页面上每道题(document.querySelectorAll("dl")
),对每题的 第一个label
执行click()
(默认视为 A 选项),每题之间await delay(500)
做半秒延时,避免过快操作。通用延时工具(
delay
)
以Promise
包装setTimeout
,用于异步流程中的节奏控制。
注意:
本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。
没有评论:
发表评论