想对网站进行爬虫操作或分析算法时,打开F12和往常不同的是,浏览器自动断点,导致无法正常分析js,如图可知,浏览debugger处于暂停状态,这是前端浏对非授权调试者在debug时造成干扰,在一定程度上保护前端代码这种情况比较无奈,本文说下自己解决的两个方法吧!
本文涉及工具:浏览器,fiddler
演示登陆的地址:https://m.eyee.com/login (后期网站如有变动,学习方法即可)
(function anonymous( ) { debugger })
(function anonymous(
) {
debugger
})
有点底子的,我们很快可以寻找到造成这种弹窗的js代码,他是处于https://m.eyee.com/login的源代码中的,其余反调试代码也大同小异,我们只需要找到位置即可:
<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>
点击Deactivate breakpoints : 使所有断点临时失效,这也意味着我们不能进行断点调试了,但是其余功能都可以正常使用
我们点击后,按钮将变为蓝色,然后我们点击Resume script excution 【继续执行】,现在我们就不会被无聊的vm显示给烦恼了!
方法1的方法治标不治本,虽然可以不受干扰,对于简单的js加密分析可以解决问题,但是复杂的算法,我们需要断点分析的时候,却也失去了功能,这时候我们需要借助另一款工具fiddler,下面方法2默认工具你已经配置好可以直接使用的,如果不会,https://blog.csdn.net/baoming_mm/article/details/102995141 请参考这篇文章
在断点处前方数字右击 切记右击位置喔,如图,选择 第三个,输入 false 回车,然后点击放行继续,就可以不再弹了
运用fiddler的AutoResponder,我们既然已经知道让我们无限debugger的js位置,我们就想办法替换或者去掉这段代码,刚好工具拥有自动重定向文件的功能,我们来通过截图看看使用方法
第一步:熟悉界面的大致功能意思
1.工作面板说明
Enable rules:启动按钮
Unmatched requests passthrough:不匹配的请求继续发送
Enable Latency:设置延时
过滤规则输入框:可以根据自己的需要编写正则、精确匹配、字符串匹配等规则
本地文件输入框:选择需要使用的本地文件
第二步:保存出需要替换的代码,记住保存位置,待会儿要用
第三步:设置匹配规则和需要替换的本地文件
纯字符串匹配:不区分大小写,直接对包含有这个字符串的接口返回使用本地文件覆盖
NOT匹配:不区分大消息,匹配不包含后面填写的字符串的接口
EXACT匹配:精确匹配,区分大小写;精确匹配
第四步:我们去刷新页面,就会自动替换我们符合规则的地址的文件了,我们再次f12会发现,已经不会再有问题了。
第五步:然后我们就可以愉快的分析加密啦,就和平时操作一样,想干啥干啥,这也是最后的效果图,不得不说,fiddler真是一个神器,还有更多实用的功能需要你去发现,好了,教程到此结束!