突破Chrome反调试(debugger指令)
伊始
好多视频VIP解析站点,为了防止其他人爬取解析源,加入了反调试机制防止别人去分析他这个程序调用,反调试机制就是很简单的debugger
指令。本身是用于正常调试使用,但是发现如果不开启Chrome的开发者工具,不会触发这个指令,于是通过该指令,衍生出了一系列的反调试方案。
比如
1 | while (true) { |
卡到你起飞。
反反调试
其实反反调试非常简单,网上流传了很多条件断点法,忽略断点等方案,但是不是很有利于我们去分析整个脚本的执行流程。一是如果出现很多的debugger
一个一个的去忽略太费事,如果忽略全部debugger
有些地方你自己也没法下断分析了不是。于是我们通过代理方案,劫持数据从服务器下发到浏览器,将这些debugger
全部patch掉就完事。在这里我使用了Python的一套MITM框架mitmproxy
。当然,如果喜欢jJavaScript方案的可以使用anyproxy
,阿里巴巴大佬开发的。
1 | from mitmproxy import http |
脚本非常简单,破坏掉反调试指令即可。