破解无限 debugger


破解无限 debugger

这几天碰到了一个网站,打开 F12 直接 debugger ,点击下一步,一直 debugger什么都做不了。

然后就开始百度,看大家怎么解决的。基本上大多数都是通过查看调用栈,找到调用函数的地方,然后在 console 中重写这个函数。

但是不知道大家有没有遇到一种情况,重写是没用的,重写完之后再次点击下一步,或者关闭 F12 后,打开还是 debugger 的,还是不可以打断点。所以也就没啥用,或者就是我没找对地方。

解决办法:

使用抓包工具,注入修改过的 js。

查看调用栈,找到前端 debugger 的位置,一般都是定时任务 setInterval 执行匿名或者有名字函数实现,将这个 js 复制出来,然后将定时执行函数的地方注释掉就行。

直接搜索 setInterval ,查看里面执行的方法,然后将所有执行到这个函数的地方全部注释掉。将执行 s 函数的全部注释掉就行了。

需要注意的地方就是,有时候 js 已经缓存到本地了,然后使用抓包工具时找不到这个 js 的请求。这时候需要点击一下下面这个地方。然后刷新就可以了。然后抓包工具中就看到这个 js 了

打开 charls, 点击 tools -> map local, 然后点击添加。填入相应的内容。

然后刷新之后,页面的 debugger 就没了,你也可以继续打断点了。

不过在这个网站 debugger 中还有一个问题,它的 js 名字一直是动态变化的,每次都不一样,所以如果写死的话,就没用了。需要根据规则去匹配这个东西。但是 charles中的这个好像不能做设置了,具体也没查,如果可以的话记得留言告诉我一声。

可以使用一个谷歌插件来解决这个问题。reres 插件

点击详细信息,配置可以访问本地文件

点击添加规则,增加匹配的规则,与本地修改后的 js,点击保存

配置规则

重新去请求,就解决了。完成!


补充一下:

好多的 debugger 还是挺好过的,文书的 直接 false 就可以了

文书debugger

mark


文章作者: Andrew
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Andrew !
评论
 上一篇
使用 pyppeteer 碰到的错误 使用 pyppeteer 碰到的错误
pyppeteer 实在是有点坑,坑太多了,填不完。 使用 pyppeteer 碰到的错误 pyppeteer.errors.ElementHandleError: Error: failed to find element matchin
2020-01-02
下一篇 
使用 gunicorn + nginx + supervisor 部署 flask 项目 使用 gunicorn + nginx + supervisor 部署 flask 项目
部署 flask 项目的流程及要点 flask 一个使用 Python 编写的轻量级 Web 应用框架 gunicorn “绿色独角兽”是一个被广泛使用的高性能的 Python WSGI UNIX HTTP 服务器,移植自Ruby 的独角兽
2019-12-04
  目录