Skip to content

hjdhnx/decode-js

This branch is 9 commits behind echo094/decode-js:main.

Folders and files

NameName
Last commit message
Last commit date
Aug 9, 2024
Sep 22, 2024
Sep 26, 2023
Sep 18, 2022
Sep 26, 2023
Sep 18, 2022
Sep 13, 2022
Mar 24, 2024
Aug 24, 2024
Aug 24, 2024

Repository files navigation

decode-js

基于 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)

使用 Usage

如果在安装和运行过程中出现问题,请先排查isolated-vm的安装和使用要求

If problems occur during installation and execution, please check the requirements of isolated-vm first

  1. 准备一个nodejs环境 (16.x以上 推荐18.x)

    Prepare a nodejs environment (>=16.x and 18.x is suggested)

  2. 通过npm i安装依赖

    Install the dependencies via npm i

  3. 按如下方式运行插件:

    Run the plugins as follows:

# pre-defined command
npm run xxx
# or full command
npm run decode -- -t type [-i input.js] [-o output.js]

xxx为预定义的指令,见package.json中的scripts字段。

xxx are predefined commands, see the scripts field in package.json.

type

  • common (高频局部混淆)
  • jjencode (sojson.com 版本)
  • sojson
  • sojsonv7
  • obfuscator

默认输入文件为input.js,文件中不能包含除混淆代码以外的内容(例如非混淆代码)。

The default input file is input.js. The file cannot contain additional codes other than obfuscated code (such as non-obfuscated code).

默认输出文件为output.js

The default output file is output.js.

Related Projects

About

有关JS混淆的AST分析工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%