当前位置: 首页 > 知识库问答 >
问题:

避免检测到“Chrome DevTools(控制台)是否打开”

羊舌和安
2023-03-14

今天我看到这个帖子,看看Chrome控制台是否打开了。

我可以绕过它,它可以被分配给另一个函数。我尝试了object.defineProperty=null,然后检测函数就消失了(我知道写一个模拟函数更好,这里只是一个示例)

使用obj.__defineGetter__(object.prototype.__defineGetter__)

object.prototype.__defineGetter__=null不会破坏检测,怎么走?

最后,我不得不说,我不喜欢被人监督。希望有一个合适的方式四处走动。

共有1个答案

韩弘方
2023-03-14

检测使用DevTools的方法有很多,因此很难全部阻止它们。随着DevTools获得了新的特性,有了新的方法来检测它的使用。任何阻止检测的第三方工具都不能信任阻止100%的检测技术。

这里有一个bug报告给Chromium团队,关于将检测阻塞直接集成到Chrome中的想法。

彻底阻止对使用DevTools的任何检测的唯一方法是禁用JavaScript。当禁用页面的javascript时,您仍然可以在DevTools控制台中执行javascript。我发现在打开DevTools后立即禁用javascript就足够了,如下所示:

    null
chrome.exe --remote-debugging-port=9222

然后,您可以使用不同的用户配置文件启动一个单独的客户端Chrome实例:

chrome.exe --user-data-dir=<some directory>

现在,您可以从客户端导航到给定的端口,并附加到任何已发现的选项卡以进行调试:http://localhost:9222

 类似资料:
  • 问题内容: 我正在使用这个小脚本来查找Firebug是否打开: 而且效果很好。现在,我正在搜索半小时,以找到一种方法来检测Google Chrome的内置Web开发人员控制台是否已打开,但找不到任何提示。 这个: 不起作用。 编辑: 因此,似乎无法检测到Chrome控制台是否处于打开状态。但是有一个“hack”有效,但有一些缺点: 控制台断开连接后将无法工作 在页面加载中打开控制台时将不起作用 因

  • 问题内容: 我目前正在学习go,我的一些代码如下所示: 这在我看来有点不对劲,因为错误检查占用了大多数行。有没有更好的方法来进行错误处理?我是否可以通过一些重构来避免这种情况? 更新: 感谢您的所有答案。请注意,在我的示例中,doB取决于a,doC取决于b,依此类推。因此,大多数建议的重构在这种情况下不起作用。还有其他建议吗? 问题答案: 这是一个常见的投诉,有几个答案。 以下是一些常见的问题:

  • 问题内容: 建议在HTML页面中使用表格(现在已经有了CSS)? 表格有什么用途?表具有哪些CSS所没有的功能? 问题答案: 一点都不。但是将表格用于表格数据。只是不要将它们用于一般布局。 但是,如果您显示表格数据(例如结果或什至是表格),请继续使用表格!

  • 问题内容: 我的C程序粘贴在下面。在bash中,程序打印“ char is”,不打印Ω。我的语言环境均为en_US.utf8。 问题答案: 这很有趣。显然,编译器将omega从UTF-8转换为UNICODE,但libc某种程度上将其弄乱了。 首先:-format说明符期望一个(即使在wprintf -version 中也是如此),因此您必须指定(并因此指定字符串)。 其次,如果您像这样将语言环境设

  • 你可以使用printf将消息打印到控制台,从而知道应用程序是如何运行的。这是调试代码的很有用的手段,因为你可以打印变量的值、知道什么时候代码将阻塞等等。 我们尝试使用函数unsigned char leds_get(void);打印LED的状态。 获取LED的状态,并将其打印到屏幕。修改test-leds.c如下: #include "contiki.h" #include "dev/leds.h

  • 问题内容: 我用option运行pytest 。 不幸的是,这会打印出很多点。例: 有没有办法避免这么长的点和“ s”字符列表? 更新资料 有一个有效的答案。但是不知何故对我来说太长了。我现在使用此解决方法:我将其添加到调用pytest的脚本中: 问题答案: 详细选项无法关闭测试结果打印。但是,可以通过多种方式进行自定义,包括结果打印。要更改此设置,您将覆盖该挂钩。 关闭短字母 创建一个具有以下内