[EHALL 2024] 对于devtools的禁用以及绕过方法
我们可以从府库微信公众号找到javascript脚本
Array.from(document.querySelectorAll(".bh-radio-label"))
.filter((item)=>{return ['完全符合', '非常满意'].includes(item.innerText)})
.forEach((item)=>{item.click()})
Array.from(document.querySelectorAll("input[data-x-bl='100']"))
.forEach((item)=>{ item.checked=true })
Array.from(document.querySelectorAll("input[type='checkbox']"))
.forEach((item)=>{ item.checked=true })
Array.from(document.getElementsByClassName("bh-txt-input__txtarea"))
.forEach((item)=>{ item.value="教学很负责,老师辛苦了。"; })
但是当我们打开F12的时候,F12不灵了,转而使用Ctrl+Shift+C(F12同理,开发人员使用这个来选中页面某个对象)的方法打开devtools的时候,页面也会被关掉,解决方案如下:
1.我们先在空白的标签页(或者其他无关页面)打开devtools,并且把devtools调整到Sources窗口
2.注意到有一个暂停按钮,我们先在其他窗口打开一个页面,然后把网址复制到新标签页里面,在访问的同时快速按下暂停按钮,可以看到网页已经成功被暂停掉!
3.接下来我们就不紧不慢的点开Console栏,我们可以看到有一行输出如下图,点击右边那个红圈,又来到了Sources窗口,不过这次我们进入了"disable-devtool.js"的源码界面。
4.按下Ctrl+F,搜索源码内容["detectors", "ondevtoolclose", "ignore"]
,随后来到下图地方,点击左边红框,下一个断点
5.随后点击浏览器的刷新按钮,下一次加载好页面的时候,应该会断在你刚刚打断点的地方,然后返回Console页面,输入d.ondevtoolopen=null
即可,然后,在Sources界面关闭断点,点击运行,这时候千万不要刷新浏览器界面,直接进评测的地方,输入最开始的脚本即可。
6.建议读者多次熟练尝试并掌握,节约我们的时间。