准备工作:
1.网站及工具
JavaScript Obfuscator Tool 主要研究对象,主要是研究此网站的各种混淆方法及破解办法。
JS NICE: Statistical renaming, Type inference and Deobfuscation 用来格式化代码,方便调试。
notepad++ 编辑代码。
https://astexplorer.net/ 用来查看各种代码的AST结构。
2.nodejs的安装
官方网站 https://nodejs.org/zh-cn/
win10 可以直接下载最新版进行安装
win7 最高似乎只能安装nodejs 13.14.0版本 ,需要去页面https://nodejs.org/zh-cn/download/releases/ 下载安装。
安装过程略。
3. vscode的安装
下载地址:https://code.visualstudio.com/ 安装过程略
主要用于调试代码。
babel安装及相关文档
1. Babel的安装
新建一个文件夹,cmd窗口转到此路径下,首先初始化项目:
npm init
然后执行以下命令:
# babel遍历器
npm install @babel/traverse --save
# code解析为ast
npm install @babel/parser --save
# ast操作相关工具类
npm install @babel/types --save
# ast还原为代码
npm install @babel/generator --save
接着可参考参考:https://blog.csdn.net/weixin_40352715/article/details/109809754
可将此文章中的例子在vscode中调试以下,一来试一试环境是否已配置好,二来也先看一看效果。
2. babel官方文档
接着学习基础知识:
babel-handbook/plugin-handbook.md at master · jamiebuilds/babel-handbook · GitHub
babel-handbook/user-handbook.md at master · jamiebuilds/babel-handbook · GitHub
PS:Pandoc 可以将md文件转换为word或者pdf文件。
3.babel插件常用api
此部分来源:https://www.jianshu.com/p/7c8c5ae1e4be
行文至此,顺便梳理下babel中的一些api,市面上很少有这方面的内容,一般都是讲解插件配置和一些demo插件的编写。以下的内容都是参考源码和注释得来的。