概要:
t函数用于确保核心逻辑执行
c函数用于在一定条件下构造带有debugger新函数
此工具通过不断重定向至特定源代码位置能够让浏览器debugger处于暂停状态,对非授权调试者在debug时造成干扰,在一定程度上保护前端代码。
存在的解决方法:Deactivate breakpoints
存在的反解决方法:在模板代码中与业务逻辑耦合
模板代码(可直接使用):
!function () {
!function t() {
try {
!function c(n) {
(isNaN(n) || n % 20 === 0) &&
function () { }.constructor("'this is an anti-debugging tool';debugger")()
c(++n)
}(0)
} catch (e) {
setTimeout(t, 1e3)
}
}()
}();
说明:
t函数用于确保核心逻辑执行
c函数用于在一定条件下构造带有debugger新函数