JS代码加密后,植入的僵尸代码能被去除吗?
“僵尸代码植入”是一项常用的JS代码混淆加密技术,通过向代码中随机插入无用代码,达到扰乱代码结构、阻碍阅读理解代码的效果。
且看尝试:
假如有如下JS代码,使用JShaman进行混淆加密。
在配置中,只选择“僵尸代码植入”:
保护结果如下:
从上图可见,增加了定义、赋值代码。这多出来的随机代码便是僵尸代码,但它们不影响正常功能。
这时,似乎是可以区分出僵尸代码,因为变量名称不同。
但JS混淆加密还有其它功能,而且往往是多功能混合使用的。
比如在配置中再增加一项“变量名混淆”:
这样生成的代码将发生变化,如下所示:
由上图可见,变量名也变得没有规律可循。无法区分哪行是原始代码、哪行是僵尸代码。
那么,也就无法去除僵尸代码。
在实际的JS代码混淆加密操作中,还有更多的功能可选用,比如JShaman专业版有20多项功能,多种保护功能结合之后,代码混淆结果更混乱、安全强度更高。
留言与评论(共有 0 条评论) “” |