【DevTools浏览器开发者工具反调试之无限Debugger跳过】
DevTools浏览器开发者工具无限Debugger跳过
- 问题
- 解决步骤
- 1. 跳过Debugger?
- 如下图
- 2. 覆盖JS文件?
- 3. 通过代理服务修改返回的js文件?
- 1. 下载Fiddler EveryWhere
- Tip: 有特殊需求的下载后请参考
- 2. 准备好环境后打开Fiddler
- 总结思想
问题
开发过程中调试网页打开浏览器开发者工具,会自动开启Debugger反调试,且设置忽略之后循环执行逻辑,导致电脑内存开销巨大以至于开发者工具崩溃,博主遇到时浏览器占用内存达到13G,根本无法进行下一步调试。
解决步骤
1. 跳过Debugger?
如下图
这个操作虽然可以暂时解决,但是你需要操作页面的话,浏览器会立马变得十分卡顿。无法操作页面直至电脑内存耗尽,直接PASS。
Tip: 仅限于博主遇到的情况,也许有些网站反调试不那么严格
2. 覆盖JS文件?
一般当无限Debugger开启之后会自动到执行的js方法中
(function anonymous() {debugger;
})();
这个时候你可以进入到生成此方法的js中,后面称为debug.js。你可能会想到替换文件,具体流程移步其他博哥教学或者AI。反正博主替换文件后,远程服务器直接不加载此文件了,一直阻塞,因此也PASS
3. 通过代理服务修改返回的js文件?
1. 下载Fiddler EveryWhere
链接直达
Tip: 有特殊需求的下载后请参考
Fiddler Every Where Enhance
2. 准备好环境后打开Fiddler
- 使用Fiddler打开浏览器
- 来到无限Debugger页面,前面也有说到的debug.js内容如下
function g() {var E = ["apply", "toString", "search", "constructor", "(((.+)+)+)+$", "return (function() ", '{}.constructor("return this")( )', "setInterval", "function *\\( *\\)", "\\+\\+ *(?:[a-zA-Z_$][0-9a-zA-Z_$]*)", "init", "test", "chain", "input", "log", "warn", "info", "error", "table", "trace", "length", "__proto__", "bind", "prototype", "CryptoAES", "replaceAll", "enc", "Utf8", "parse", "substring", "AES", "mode", "CBC", "pad", "Pkcs7", "rfc", "periodo", "regimen", "ejercicio", "encode", "then", "declaracionB64", "string", "debu", "gger", "call", "action", "stateObject"];g = function() {return E};return g()
}
function h(a, b) {var c = g();return (h = function(d, e) {d -= 0;return c[d]})(a, b)
}
function c(i) {function j(k) {var D = h;if (typeof k === D("0x2a"))return function(l) {}[D("0x3")]("while (true) {}")[D("0x0")]("counter");else1 !== ("" + k / k)[D("0x14")