1. 爬虫_前端无限debugger反调试
有时打开网站 F12 检查页面时,会出现无限debugger情况,数据和页面加载不出来,参考博主学习做一些总结
用到的工具 : 谷歌浏览器 ,fiddler抓包
网页地址:https://m.eyee.com/login (后期网站如有变动,学习方法即可,博主的网址)
简单分析与解决
1. 检查页面时 会直接到 debugger 函数,在源码中可以找到 下面这段代码:
<script>
var _0xde02 = ["length", "", "debugger", "constructor"];
!(function test() {
try {
!(function _0x6ba3x2(_0x6ba3x3) {
((_0xde02[1] + _0x6ba3x3 / _0x6ba3x3)[_0xde02[0]] !== 1 || _0x6ba3x3 === 0) && function() {}
[_0xde02[3]](_0xde02[2])(),
_0x6ba3x2(++_0x6ba3x3)
}(0))
} catch (e) {
setTimeout(test, 80)
}
}())
</script>
解决方法:
1. 简易抓包或者分析js适用,浏览器过滤
Deactivate breakpoints : 使所有断点临时失效,这也意味着我们不能进行断点调试了,但是其余功能都可以正常使用
点击按钮将变为蓝色,然后我们点击Resume script excution 【继续执行, 现在我们就不会被无聊的vm显示给烦恼了
浏览器---->> 检查(F12) ---->> Source(资源) --->>> Deactivate breakpoints
弊端 :
虽然可以不受干扰,对于简单的js加密分析可以解决问题,
但是复杂的算法,我们需要断点分析的时候,却也失去了功能,
这时候我们需要借助另一款工具fiddler,下面方法2默认工具你已经配置好可以直接使用的,
如果不会,https://blog.csdn.net/baoming_mm/article/details/102995141 请参考这篇文章
2. 解决实际问题-最简单的方法
在断点处前方数字右击 切记右击位置喔,如图,选择 第三个,输入 false 回车,然后点击放行继续,就可以不再弹了
3. 解决实际问题- fiddler的一个功能
学习 fiddler的网址:https://www.jianshu.com/p/8add9cc67f55
运用fiddler的AutoResponder,我们既然已经知道让我们无限debugger的js位置,
我们就想办法替换或者去掉这段代码,刚好工具拥有自动重定向文件的功能
1. 了解 fiddler 的界面 (我的用了插件 汉化了)
Enable rules:启动按钮,
Unmatched requests passthrough:不匹配的请求继续发送
Enable Latency:设置延时
过滤规则输入框:可以根据自己的需要编写正则、精确匹配、字符串匹配等规则
本地文件输入框:选择需要使用的本地文件
2. 保存出需要替换的代码,记住保存位置,待会儿要用
请求返回是什么格式就是用什么格式保存,HTML就保存HTML,json就保存josn,改变格式可能会解析不出来
3. 设置匹配规则和需要替换的本地文件
EXACT匹配:精确匹配,区分大小写;精确匹配
EXACT:接上 请求的地址,就重定向到 本地文件
4. 我们去刷新页面,就会自动替换我们符合规则的地址的文件了,我们再次f12会发现,已经不会再有问题了
通过上面这几种方法就可以解决 无线debugger 问题了,有加密的可以进行分析加密啦!