JS混淆简单参考:几个实用的JS混淆工具。

1、 基本原理

混淆主要涉及两种思路:安全

a.经过正则替换实现的混淆器;ide

b.经过语法树替换实现的混淆器。工具

第一种实现成本低,可是效果也通常,适合对混淆要求不高的场景。第二种实现成本较高,可是更灵活,并且更安全,更适合对抗场景。网站

2、 工具

2.1 jascriptobfascator
包含在线版和桌面版,试用了下效果还行。编码

桌面版:spa

v2-6501b0fff23a7af97dadc75885619520_hd.jpg

2.2  Uglifyjs(开源)blog

uglifyjs是一个开源的js 压缩工具,主要用于压缩,混淆功能并不强。这ip

Uglify混淆主要使用了如下方法(AST指抽象语法树):
字符串解析成AST
解析AST,计算出做用域、变量名等
提供遍历AST的方法,找到你想要修改的节点
提供把AST打印成源代码的功能
提供美化代码的功能
提供定位某个word位置的功能作用域

2.3  jshsman字符串

jshaman是一个商业级工具,看了不少社区的评论,这个目前是最好的,能够在线无偿使用,也能够购买商业版。

地址:jshaman.com/
网站很干净,没什么烦人的广告,用起来挺清爽。

v2-a3e6b00f4736f29beb5acfec30551981_hd.jpg

2.4  jsfuck

jsfuck 是一个开源的js 混淆工具,原理比较简单,其实就是经过特定的字符串加上下标定位字符,再由这些字符替换源代码,从而实现混淆。
官网:jsfuck.com/,混淆功能看上去比较强大,可是本质上我认为是一种编码,并且它让会文件体积增大不少。对于太多的代码不能混淆,混淆后会出错。

3、 总结

建议:若是要作代码压缩,建议使用Uglifyjs,若是是为了安全性,作js代码混淆,建议使用jshaman。

相关文章
相关标签/搜索