![如何实现反反浏览器调试?如何实现JS反反逆向?插图 如何实现反反浏览器调试?如何实现JS反反逆向?插图](https://blog.eswlnk.com/wp-content/uploads/wpcy/a7fd81efc5ded677066dc669da9f6d18.jpg)
浏览器的开发者工具相信大家都是非常的熟悉,毕竟在调试的时候经常用到。但是很多站点都不希望一般用户能够轻而易举的对自己的网页进行调试,进而剽窃代码。
其实反反调试也是很简单,你甚至可以到油猴市场自己去下一个插件或者自己写一个都行。由于我对JavaScript也不是太熟悉,所以只能从实践中总结点知识。
非VM
即打开浏览器调试工具后,当前的源代码界面不会跳转到VM界面,类似于某博客这种:
![如何实现反反浏览器调试?如何实现JS反反逆向?插图1 如何实现反反浏览器调试?如何实现JS反反逆向?插图1](https://static.eswlnk.com/2023/03/20230311153351580.png)
找到关键字「debugger」,打上断点,并且修改断点,将条件修改为「false」,修改后刷新页面即可绕过页面反调试。
VM
如果该段代码使用了「eval」方式或者其他加密形式,跳转到了VM里,例如以下的形式:
![如何实现反反浏览器调试?如何实现JS反反逆向?插图3 如何实现反反浏览器调试?如何实现JS反反逆向?插图3](https://static.eswlnk.com/2023/03/20230311153838781.png)
匿名函数,在VM中运行「debugger」,这时候我们只需要断点下来,然后运行以下代码段:
Function.prototype.constructor = function(){}
即可实现Hook,绕过页面的反调试。
当然,以上的反反调试教程都是针对非常简单的脚本,毕竟博主也是实力有限,O(∩_∩)O哈哈~
视频教程
为了方便一点,我录制了一个视频方便大家对JS反反调试有直观的理解:
这里就顺便给大家推荐下龙哥的主题,如果你对知识付费和主题更新有要求的,可以去购买龙哥的主题