上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

disable-devtool防控制台解除

[复制链接]
  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5992

    回帖

    6780

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6780

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2024-7-21 04:55:12 | 显示全部楼层 | 阅读模式

    测试地址https://tongcheng360.com/
    堆栈回溯可以拿到

     A = window.setInterval(function() {
                            if (!(e.isSuspend || l || D())) {
                                var t, n, i = f(U);
                                try {
                                    for (i.s(); !(t = i.n()).done; ) {
                                        var o = t.value;
                                        L[o.type] = !1,
                                        o.detect(q++)
                                    }
                                } catch (e) {
                                    i.e(e)
                                } finally {
                                    i.f()
                                }
                                T(),
                                "function" == typeof d.ondevtoolclose && (n = j,
                                !_() && n && d.ondevtoolclose())
                            }
                        }, d.interval),

    根据代码特征很像这个库
    https://link.zhihu.com/?target=https%3A//github.com/theajack/disable-devtool
    v2-8f53658cb56c9ba04d23363862934c13_720w.webp
    先不思考太多,我们先一处一处过,首先对setInterval进行hook,对函数进行toString来检测

    代码如下

    // ==UserScript==
    // @name         Pass Console
    // @namespace    https://bbs.tampermonkey.net.cn/
    // @version      0.1.0
    // @description  try to take over the world!
    // @author       You
    // @match        https://tongcheng360.com/*
    // @run-at       document-start
    // @grant        none
    // ==/UserScript==
    
    const originSetInterval = window.setInterval
    
    window.setInterval = function (func, time) {
        if (func.toString().indexOf('ondevtoolclose') !== -1) {
            return -1
        }
        return originSetInterval.call(this, func, time)
    }

    测试一下,结果发现只有这一个地方检测
    v2-4c7401258b74e7cf87273067c58ce9e2_720w.webp

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情
    无聊
    昨天 13:27
  • 签到天数: 784 天

    [LV.10]以坛为家III

    77

    主题

    523

    回帖

    881

    积分

    专家

    脚本猫首席体验官

    积分
    881

    油中2周年生态建设者新人报道油中3周年挑战者 lv2喜迎中秋

    发表于 2024-7-21 13:29:51 | 显示全部楼层
    ggnb!
    回复

    使用道具 举报

    发表回复

    本版积分规则

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