
https://ftty.ydmap.cn/booking/schedule/101332?salesItemId=100341
他通过这段代码不停生成 debugger 的代码 有什么办法可以阻止他,然后调试我自己打的断点
29556: ()=>{ (()=>{ if ("undefined" !== typeof window && !window.location.port) try { t() } catch (n) {} function e(e, t) { return Math.floor(Math.random() * (t - e)) + e } function t() { setInterval((()=>{ const t = e(0, 100); (function() { return !1 } )["constructor"](`\n // 禁止调试 \n ${Array.from({ length: t }).fill("\n ").join("")}\n debugger\n `)["call"]() } ), 50) } } )() } 1 Meursau1T 2024-08-14 15:36:21 +08:00 有个想法,没试过,是不是可以先抓包得到这个 js 文件,然后改写接口返回值,把这行代码干掉 |
2 icedx 2024-08-14 15:49:04 +08:00 看起来是在 console 洗屏的? |
3 happyeveryday 2024-08-14 15:51:52 +08:00 先拉下来,chrome devtools network 覆盖此文件 |
4 LuckyLauncher 2024-08-14 15:55:12 +08:00 1. 访问网站,打开 console ,进入 debugger 2. 通过 debugger 右侧面板找到调用栈的上一层,进入 3. 右键代码面板,选择 override content ,选中 setInterval 那段函数,注释掉并保存 4. 刷新页面,进行调试 |
5 jpyl0423 2024-08-14 15:55:30 +08:00 |
6 LuckyLauncher 2024-08-14 15:56:25 +08:00 所以我说,搞这种东西就自己玩玩,实际上没啥用 |
7 xiangyuecn 2024-08-14 15:57:00 +08:00 Function.prototype.call=()=>{ console.log("call")} |
8 y77FXoxF970725SJ 2024-08-14 16:07:10 +08:00 控制台执行: var handler = window.setInterval(() => {}, 1000); for(let i = 1; i <= handler; i++) { clearInterval(i); } |
9 weixiangzhe 2024-08-14 16:08:53 +08:00 开个代理工具替换这个 js |
10 hafuhafu 2024-08-14 16:12:18 +08:00 直接 F12 停用断点就行了.. |
11 catamaran 2024-08-15 17:30:59 +08:00 |
13 lisongeee 2024-08-15 17:50:10 +08:00 |
14 CC11001100 2024-08-18 19:15:56 +08:00 |
15 mzl980425 2024-08-19 19:07:38 +08:00 装个油猴插件,把 setInterval 函数给重写掉 ```Javascript // ==UserScript== // @name New script ydmap.cn // @namespace Violentmonkey Scripts // @match https://ftty.ydmap.cn/booking/schedule/101332* // @grant none // @version 1.0 // @author - // @description 2024/8/19 19:05:07 // ==/UserScript== window._setInterval = window.setInterval; window.setInterval = (fn, delay) => { if (fn.toString().includes('debugger')) { return; } else { return window._setInterval(fn, delay); } } ``` |