• 浏览器打不开DevTools?


    随笔记录下某网站禁止通过F12, Ctrl+Shift+I等快捷键来打开开发者工具,其次通过浏览器宽高定时来重定向。

    • 目标网站
    aHR0cHM6Ly93d3cuemhpaHUuY29tL21hcmtldC9wYWlkX2NvbHVtbi8xNjkxOTY2MTg4MzY2ODYwMjg4L3NlY3Rpb24vMTc1MjcyNjI3MjMzMjIxMDE3Nw==
    
    • 1
    • 问题描述

      当我们通过F12或者Ctrl+Shift+I去打开开发者工具的时候,并不能打开,没有任何反应,这个时候猜测,有可能是触发了快捷键或者功能键,被禁止,然后我们另辟蹊径,又通过右上角->更多工具->开发者工具先打开,然后再粘贴网站,发现几秒之后重定向到空白页面,这个时候猜测可能检测了浏览器宽高啥的,但是我们打开如下图模式,再打开网站,还是重定向到空白窗口,这个时候就 需要通过断点来进行分析

    • 进行script断点分析

      打开开发者工具,然后进行script断点,然后打开目标网站,会断住,然后一直跳过,会来到一个可疑的js如下:

      然后进行搜索123,发现有3处

      其中一段js正是监控了F12如下:

      e.addEventListener("keydown", (function(n) {
          var i = (n = n || e.event).keyCode || n.which;
          if (123 === i || t(n, i) || o(n, i))
              return F(e, n)
      }
      ), !0)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      为什么这里是123呢,搜索相关的功能键码表如下:

      按键键码按键键码
      F1112F7118
      F2113F8119
      F3114F9120
      F4115F10121
      F5116F11122
      F6117F12123

      完整可参考:https://blog.csdn.net/JayceDeng/article/details/78474652

      除了F12,其次还对meta,alt,ctrl,shift做了相关检测,具体可参考web API:https://developer.mozilla.org/zh-CN/docs/Web/API/KeyboardEvent/keyCode

      那为啥会重定向呢?我们在中搜索window.innerWidth,定位到如下图:

      也就是说当e||n 满足 条件的时候,就会走this.onDevToolOpen()这个方法,那我们搜索看一看,定位到如下图:

      我们可以在 A.ondevtoolopen(this.type, _) 打上断点,然后进行释放,重新开始

      _ 是一个函数,我们点进去,如下图:

      经过分析,核心就在window.history.back() 和下面的setTimeout里面

      查Web API

      就知道原因所在了,这个js中还有其他点的检测,就不过多累赘。

    • 解决方案

      将这个js保存到本地,然后替换掉所有检测点(太多可能不太现实),可以考虑置空或者留个打印就行了

  • 相关阅读:
    论文解读(XR-Transformer)Fast Multi-Resolution Transformer Fine-tuning for Extreme Multi-label Text Classification
    Java异常
    pgzrun 拼图游戏制作过程详解(6,7)
    LeetCode每日一题(2196. Create Binary Tree From Descriptions)
    2021Java面试题及答案整理(最新汇总版)
    Python基础语法(一)
    Vue公共loading升级版(处理并发异步差时响应)
    JMeter--逻辑控制器--仅一次控制器
    JS教程之 什么是 JSX?为什么我们需要它?
    【vue】下拉、上拉刷新
  • 原文地址:https://blog.csdn.net/qq_44902227/article/details/138195937