Javascript反调试-滥用Chromium 完全指南

发布于 2 小时前  6 次阅读


关于Javascript,网上资料比较零散,这里做个相对完整的总结。

Have questions? Feel free to ask in the comments section below.

正文

Javascript反调试-滥用Chromium Devtools视野镜面板Chromium Devtools视野镜面板

可以允许devtools在主线程被调试器暂停时执行Javascript !我用这个技巧创造了一个非常强大的

跟踪用户完成的调试流程并相应地更改执行流程-查看

作为长期反调试技术研究的一部分,我确实(强烈建议您阅读

如果你从来没有为了了解我的工作的性质而这样做) ,我遇到了一个

这促使我进行了我将在本文中介绍的研究:

这让我想知道它是如何工作的。让我与您分享我的理解:

当您在不打开开发工具的情况下运行上面的代码时,什么也不会发生。但是一旦您打开开发工具,

那里发生的事情是,代码不断记录创建的

一旦devtools被要求记录有关元素的详细信息,它尝试获取以呈现它的详细信息之一是

,因为它是一种非常常用的属性,也是一种重要的属性。因此,通常情况下,如果您创建

但在上面的代码示例中,代码的创建者覆盖了

元素本身具有一个getter ,一个getter函数,当被调用时,它声称确信知道devtools是开放的。

当你想到这一点时,这种确定性实际上是合理的。对此的引用

元素只能通过函数的内部作用域访问

更多内容

除了上面提到的内容,还有几个点值得注意。首先是浏览器的兼容性,不同浏览器对Web Crypto API的支持程度有所不同。其次是性能问题,加密操作在大量数据时可能会影响用户体验。最后是密钥管理,如何安全地存储和传输密钥也是一个需要考虑的问题。

本文首发于JSVMP博客,转载注明出处。后续会持续更新更多相关内容。

Reference: Javascript Anti Debugging - Abusing Chromium Devtools Scope Pane · Gal Weizman


点击体验一键VMP加密 |下滑查看JSVMP相关文章