
智能摘要 AI
本文介绍了如何应对网站的反调试机制,确保开发者工具正常用于调试。常见的反调试手段包括防止代码在浏览器开发者工具中显示或加密代码以隐藏其内容。文中提供了两种绕过方法:对于未使用`eval`或其他加密方式的代码,通过修改`debugger`断点条件为`false`即可绕过;而对于使用`eval`或加密的代码,可在VM中通过重定义`Function.prototype.constructor`为一个空函数来实现Hook,从而绕过反调试。此外,作者还分享了一个视频教程,帮助读者更直观地理解这一过程,并推荐了一个相关主题。
浏览器的开发者工具相信大家都是非常的熟悉,毕竟在调试的时候经常用到。但是很多站点都不希望一般用户能够轻而易举的对自己的网页进行调试,进而剽窃代码。
其实反反调试也是很简单,你甚至可以到油猴市场自己去下一个插件或者自己写一个都行。由于我对JavaScript也不是太熟悉,所以只能从实践中总结点知识。
非VM
即打开浏览器调试工具后,当前的源代码界面不会跳转到VM界面,类似于某博客这种:

找到关键字「debugger」,打上断点,并且修改断点,将条件修改为「false」,修改后刷新页面即可绕过页面反调试。
VM
如果该段代码使用了「eval」方式或者其他加密形式,跳转到了VM里,例如以下的形式:

匿名函数,在VM中运行「debugger」,这时候我们只需要断点下来,然后运行以下代码段:
Function.prototype.constructor = function(){}即可实现Hook,绕过页面的反调试。
当然,以上的反反调试教程都是针对非常简单的脚本,毕竟博主也是实力有限,O(∩_∩)O哈哈~
视频教程
为了方便一点,我录制了一个视频方便大家对JS反反调试有直观的理解:
这里就顺便给大家推荐下龙哥的主题,如果你对知识付费和主题更新有要求的,可以去购买龙哥的主题





