完整代码如下:
((function() {
var callbacks = [],
timeLimit = 50,
open = false;
setInterval(loop, 1);
return {
addListener: function(fn) {
callbacks.push(fn);
},
cancleListenr: function(fn) {
callbacks = callbacks.filter(function(v) {
return v !== fn;
});
}
}
function loop() {
var startTime = new Date();
debugger;
if (new Date() - startTime > timeLimit) {
if (!open) {
callbacks.forEach(function(fn) {
fn.call(null);
});
}
open = true;
window.stop();
document.body.innerHTML = "";
} else {
open = false;
}
}
})()).addListener(function() {
window.location.reload();
});
1
MossFox 2023-08-06 11:00:20 +08:00 2
开发者工具里面点一下停用断点即可。
|
2
murmur 2023-08-06 11:00:51 +08:00 1
这种都是小把戏,那种检测调试模式下某些特殊对象的也是小把戏,以前听说过一种,美化后美化前因为某些不规范的写法,会导致代码执行逻辑变更,从而达到反调试
但是这种我还没见过 |
4
emonc 2023-08-06 11:13:45 +08:00 2
debugger --> contextmenu --> ignore line
|
5
estk 2023-08-06 11:16:00 +08:00 via iPhone
支付宝官网打开调试显示招聘信息
|
6
caiqichang 2023-08-06 16:20:03 +08:00
先打开开发者工具 -> deactive breakpoints ,再打开页面
|
7
loading 2023-08-06 18:23:00 +08:00
感觉放水了,我一般用这个,你可以感受一下。
https://github.com/obfuscar/obfuscar |
9
ericlgq2 2023-08-07 01:38:16 +08:00 via Android
这是开发忘了把断点去掉,别问我是怎么知道的。。。
|
10
HuskyYellow 2023-08-07 09:47:24 +08:00
|
11
aegon466 2023-08-07 10:46:23 +08:00
这就是前端忘了去掉 debug 或者是故意留的
|