前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >反调试问题-debugger

反调试问题-debugger

作者头像
老肥码码码
发布2020-01-17 15:05:06
1.7K0
发布2020-01-17 15:05:06
举报
文章被收录于专栏:算法与数据之美

最近在爬取某个网页时,发现了一种奇怪的现象。在打开浏览器进入所要爬取的网页之后,我们通常会选择F12即打开开发者工具来对网页进行分析。但这个页面一打开控制台就不断的debugger,无法正常观察Network。

虽然这个代码简单,但是却很有效。该匿名函数不停地打断我们,阻止我们观察网页,并且不断的产生不可回收的对象,占据我们的内存,造成内存泄漏,没过多久浏览器就会卡顿,甚至需要用任务管理器强行结束任务。

那我们如何来解决这个问题呢?

相对应的,我们也有一种简单有效的方法,那就是禁止断点,具体操作是点击Deactive breakpoints,或者Ctrl+F8 即可(下图右上角的蓝色箭头)。

禁用断点之后,这种不断debugger的反调试问题也得到了解决,我们可以正常观察Network。但是要命的是,我们如同因噎废食,断了调试这条路。禁用了断点,我们也没有办法进行断点调试了。

当然我们还有一些其他的办法可以处理debugger问题。目标就是既能阻止网页不停地debugger,也能让我们在网页上进行断点调试

方法一

添加条件断点,具体操作如下图,在debugger的位置选择添加条件断点,并输入false。

方法二

下载这个含有debugger的js文件到本地,将debugger代码除去,使用抓包工具Fiddler替换js文件,具体的操作可以见这篇文章

这个替换的js文件是去除debugger之后的js文件。这样我们就解决了某些网页的debugger问题。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与数据之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档