JS反调试&无限DEBUGGER

淡淡的烟草味﹌ 2022-09-07 06:13 346阅读 0赞

1 条件说明

开发者工具是打开状态 && (JS代码中有debugger || JS中有定时处理)


2 样例代码

http://shanzhi.spbeen.com/

  1. setInterval(() => {
  2. (function (a) {return (function (a) {return (Function('Function(arguments[0]+"' + a + '")()'))})(a)})('bugger')('de', 0, 0, (0, 0));
  3. }, 1000);
  4. new Function().constructor('debugger').apply('action')

3 突破方法

1、关闭BreakPoint

2、关闭定时任务

3、修改JS代码

3.1 关闭BreakPoint

互相伤害,从根本上解决不了问题

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzk0OTcz_size_16_color_FFFFFF_t_70

3.2 闭定时任务

定时任务ID不知道,容易错杀

  1. ### 全杀
  2. for(let i = 0; i < 99999; i++) {
  3. window.clearInterval(i)
  4. }

3.3 修改JS代码

用Fiddler代理JS,删除产生DEBUGGER的代码 √

https://www.freesion.com/article/8186551197/

发表评论

表情:
评论列表 (有 0 条评论,346人围观)

还没有评论,来说两句吧...

相关阅读