多次混淆加密JS代码能得到不同的结果吗?

一份相同的JAVAScript代码,进行多次混淆加密,能得到不同的结果吗?
答案是肯定的,能 。
JShaman可以实现这个效果 。即:加密结果具有多态性、变化性 。
下面实测展示 。
来到JShaman网站 , 用它默认的示例代码做测试,如下图所示 。

多次混淆加密JS代码能得到不同的结果吗?

文章插图
配置也使用默认的 , 如下图所示 。
多次混淆加密JS代码能得到不同的结果吗?

文章插图
然后进行混淆加密 。第一次得到的加密代码如下图 。
多次混淆加密JS代码能得到不同的结果吗?

文章插图
打开浏览器的开发者工具,在控制台中 , 将上面的代码用alert的方式显示其代码长度 。
代码:alert(`加密后的JS代码`.length + " bytes");
显示如下图 , 代码长度显示为2898字节 。
多次混淆加密JS代码能得到不同的结果吗?

文章插图
再混淆一次 , 又一次得新结果,这次是2817字节 , 如下图:
多次混淆加密JS代码能得到不同的结果吗?

文章插图
再试 , 又得到3000字节,如下图:
多次混淆加密JS代码能得到不同的结果吗?

文章插图
由此可见,同一段JavaScript代码用JShaman混淆加密,会得到不同的新JavaScript加密代码 。
这种不同结果的意义是什么呢?
它体现了JavaScript混淆加密的保护强度 , 多态的结果表明混淆过程中使用了不同的加密算法,所以才生成了不同的加密代码 。

【多次混淆加密JS代码能得到不同的结果吗?】


    推荐阅读