一文读懂:Javascript混淆技巧示例– Trickst

发布于 3 天前  8 次阅读


最近在写项目的时候正好涉及到Javascript,顺手整理了一下相关资料。

Found this helpful? Share it with your team and leave a comment below!

正文

有时在抓取某些网站时,您会查看JavaScript代码,它看起来

就像一个完全无法阅读的混乱-无论你眯了多少眼睛,你都不能

理解它。那是因为它已经被混淆了。代码混淆是一种转变

这意味着代码难以阅读和逆向工程。许多网站利用

JavaScript混淆使爬虫/自动化开发人员难以处理问题。

考虑以下非常简单的Javascript语句:

我们将讨论各种混淆方法。为了让事情更清楚,我们将

一次一种混淆技术,并举例说明每种技术如何改变这种

代码的形式是不可读的。然而,应该注意的是,通常

在防刮网站中使用多种混淆方法。

我们将尝试一些混淆JS代码的在线工具。十六进制字符串编码

并关闭所有复选框,但“编码字符串”混淆的代码将如下所示:

"\ x48\ x65\ x6C\ x6C\ x6F\ x2C\ x20\ x77\ x6F\ x72\ x6C\ x64\ x21\ x20"

硬编码字符串的每个ASCII字符都被转换为十六进制形式,可以

在程序员模式下使用计算器验证。这很常见,但相当薄弱

更多内容

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

篇幅原因就先写这么多,后面有空会再补充更多实战案例。有问题评论区见。

Reference: Javascript obfuscation techniques by example – Trickster Dev


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