- Notifications
You must be signed in to change notification settings - Fork370
JS混淆代码的AST分析工具 AST analysis tool for obfuscated JS code
License
echo094/decode-js
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
基于 Babel 的 AST 分析器和处理器,可以处理以下情况:
- stringArray(包括添加了旋转操作,以及嵌套调用的情况)
- 死代码
- 控制流扁平化(switch)
- 局部代码变换(Object表达式、字符串分割等)
- 自定义代码(自保护,禁止控制台调试,禁止控制台输出)
An AST analyzer and processor based on Babel that can handle the following situations:
- stringArray (including Rotate, Wrappers, and ChainedCalls)
- deadCode
- controlFlowFlattening (switch)
- transformer (ObjectExpression, SplitString, and etc.)
- customCode (self-defending, debug-protection, console-output)
如果在安装和运行过程中出现问题,请先排查isolated-vm的安装和使用要求
If problems occur during installation and execution, please check the requirements ofisolated-vm first
准备一个nodejs环境 (22.x以上)
Prepare a nodejs environment (>=22.x)
通过
npm i
安装依赖Install the dependencies via
npm i
按如下方式运行插件:
Run the plugins as follows:
# pre-defined commandnpm run xxx# or full commandnpm run decode -- -ttype [-i input.js] [-o output.js]
xxx
为预定义的指令,见package.json中的scripts
字段。
xxx
are predefined commands, see thescripts
field inpackage.json.
type
:
- common (高频局部混淆)
- jjencode (sojson.com 版本)
- sojson
- sojsonv7
- obfuscator
默认输入文件为input.js
,文件中不能包含除混淆代码以外的内容(例如非混淆代码)。
The default input file isinput.js
. The file cannot contain additional codes other than obfuscated code (such as non-obfuscated code).
默认输出文件为output.js
。
The default output file isoutput.js
.
About
JS混淆代码的AST分析工具 AST analysis tool for obfuscated JS code
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.