JS 混淆加密工具

基本原理

混淆主要涉及两种思路:

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

b.通过语法树替换实现的混淆器。

第一种实现成本低,但是效果也一般,适合对混淆要求不高的场景。第二种实现成本较高,但是更灵活,而且更安全,更适合对抗场景。

obfuscator

包含在线版和桌面版,试用了下效果不错,没有发现处理之后报错、异常的情况。是一个不错的 js 混淆工具。

在线版:网址

Uglifyjs(开源)

uglifyjs是一个开源的js 压缩工具。这个从社区的评论里来看好像是最常使用的,在 node.js 环境下执行。

Git 地址:https://github.com/mishoo/UglifyJS2

使用方法:http://blog.fens.me/nodejs-uglifyjs2-js/

Uglify混淆主要使用了以下方法(AST指抽象语法树):

  • 字符串解析成AST
  • 解析AST,计算出作用域、变量名等
  • 提供遍历AST的方法,找到你想要修改的节点
  • 提供把AST打印成源代码的功能
  • 提供美化代码的功能
  • 提供定位某个word位置的功能

jscrambler

jscrambler是一个商业级工具,看了很多社区的评论,这个目前是最好的,需要付费。

地址:https://jscrambler.com/

jsfuck(开源)

jsfuck 是一个开源的js 混淆工具,原理比较简单,其实就是通过特定的字符串加上下标定位字符,再由这些字符替换源代码,从而实现混淆。

官网:http://www.jsfuck.com/

混淆功能看上去比较强大,但是本质上我认为是一种编码:

而且文件体积会受很大影响。

git地址:https://github.com/aemkei/jsfuck

Esprima

网址 演示

Esprima 是一个用于对 JS 代码做词法或者语法分析的工具

只支持js,不支持 flow 或者 typescript 格式

SpiderMonkey

网址

mozilla 的 SpiderMonkey, 可以通过JavaScript API来访问. 这使得我们更容易的用JavaScript写出处理JavaScript源代码的工具, 比如语法高亮工具,静态分析工具, 翻译器,编译器,混淆器等等.

赞(0) 打赏
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

    暂无评论...