土薯工具 Toolshu.com 登录 用户注册

JavaScript 混淆加密

  • 复制粘贴 JavaScript 代码
  • 上传 JavaScript 文件
  • 结果输出
点击上传 JavaScript 文件,或将文件拖拽到此处

预设配置

基础配置


防止格式化系数:

花指令注入系数:

混淆对象属性名模式:

保留的变量名:

标识符名称生成规则:

* 标识符:指代码中的变量名、函数名等

标识符前缀:

标识符字典:

字符串设置

字符串数组化比率:

字符串数组索引类型:

转换字符串数组调用比率:

字符串数组封装数量:

字符串数组封装类型:

字符串数组封装参数最大数量:

字符串数组编码类型:

拆分字符串的块长度:

强制转换字符串:

保留的字符串:

附加配置

调试保护间隔 (ms):

目标运行环境:

随机种子:

白名单域名:

非白名单域名自动跳转 URL:

Source Map 模式:

Source Map 基础 URL:

Source Map 文件名:

使用说明
配置项 说明 备注
压缩成一行 将混淆后的代码压缩为一行,减少可读性,增加调试难度。 如果需要进行调试,可以禁用。
简化代码结构 通过移除不必要的结构和优化代码来简化代码。 在复杂脚本中禁用可能导致代码错误。
防止格式化 添加反格式化措施,使代码难以美化或重新格式化。 需要设置 防止格式化系数(默认:0.75)。
花指令注入 注入死代码(不可达代码)以迷惑逆向工程师。 需要设置 花指令注入系数(默认:0.4)。
混淆对象属性名 重命名对象属性名,使代码更难理解。 使用 安全 模式以避免代码错误。不安全 模式可能导致运行时错误。
混淆全局变量和函数名 重命名全局变量和函数名,隐藏其用途。 如果全局变量被外部引用,可能会破坏代码。
保留的变量名 指定不应混淆的变量名(例如 ^someVariable 或正则表达式)。 适用于保留关键变量名。
标识符名称生成规则 设置混淆后变量名的生成规则(例如十六进制、字典模式、简化模式)。 十六进制:生成使用十六进制图案随机标识符的名称(如:0xabc123),简化模式:使用短字符名称 (如: a, b, c等等)。
标识符前缀 为所有混淆后的标识符添加前缀(例如 a_)。 可选。适用于多文件项目以避免冲突。
标识符字典 提供混淆后标识符的自定义名称列表(每行一个)。 仅在 标识符名称生成规则 中选择 字典模式 时生效。
字符串数组化 将字符串提取到数组中并用引用替换。 默认启用。如果性能是关键,可以禁用。
字符串数组化比率 设置字符串被添加到数组中的概率(0 到 1)。 默认:0.75。较低的值会降低混淆强度但提高性能。
字符串数组旋转 随机偏移字符串数组以隐藏字符串顺序。 默认启用。禁用可提高性能。
字符串数组乱序 随机打乱字符串数组以增加重构难度。 默认启用。禁用可提高性能。
字符串数组索引偏移 为字符串数组索引添加随机偏移以隐藏访问模式。 默认启用。禁用可提高性能。
字符串数组索引类型 设置字符串数组索引的格式(例如十六进制数或字符串)。 默认:十六进制数。选择 十六进制数值字符串 可增强混淆强度。
转换字符串数组调用 转换对字符串数组的调用以增加检测难度。 需要设置 转换字符串数组调用比率(默认:0.5)。
字符串数组封装数量 设置字符串数组的封装层数。 默认:1。增加层数可增强混淆强度但降低性能。
字符串数组封装类型 设置封装类型(例如 变量函数)。 选择 函数 可增强混淆强度但降低性能。
字符串数组封装参数最大数量 设置字符串数组封装的最大参数数量。 默认:2。增加数量可增强混淆强度但降低性能。
字符串数组链式调用 启用字符串数组封装之间的链式调用。 默认启用。禁用可提高性能。
字符串数组编码类型 使用 base64rc4 编码字符串数组值。 选择 rc4 可增强混淆强度但降低性能。
拆分字符串 将字符串拆分为指定长度的块以隐藏内容。 设置 拆分字符串的块长度 控制块大小(默认:10)。
使用 Unicode 转义序列 将字符串转换为 Unicode 转义序列以隐藏内容。 会显著增加代码大小。仅适用于小型脚本。
强制转换字符串 强制转换特定字符串(例如 ^some *string *or RegExp)。 适用于针对特定字符串进行混淆。
保留的字符串 指定不应转换的字符串(例如 ^some *string *or RegExp)。 适用于保留关键字符串。
数字转换为表达式 将数字转换为算术表达式以隐藏其值。 可能增加代码大小并降低性能。
转换 Object 的 Key 值 混淆对象键值以增加代码理解难度。 如果对象键值被外部引用,可能会破坏代码。
禁用控制台输出 在混淆后的代码中禁用 console.log 等函数。 适用于生产环境。
自我防御 如果代码被格式化或修改,使其无法运行。 强制启用 压缩成一行 模式。使用时需谨慎。
调试保护 通过无限循环或崩溃阻止调试。 设置 调试保护间隔 控制保护频率(建议设置为2000~4000毫秒)。
忽略 Import 防止混淆 import 语句。 适用于保留模块导入。
目标运行环境 设置混淆代码的目标环境(例如浏览器、Node.js)。 选择 浏览器(不使用 eval 函数) 以避免使用 eval
随机种子 设置随机种子以生成可重复的混淆结果。 -
白名单域名 限制代码仅在指定域名下运行(例如 www.example.com)。 可指定多个域名,每行一个。
非白名单域名自动跳转 URL 指定在非白名单域名下运行时跳转的 URL。 默认:about:blank
启用 Source Map 生成 Source Map 以调试混淆后的代码。 适用于调试,但可能暴露原始代码结构。
Source Map 模式 设置 Source Map 生成模式(例如内联或分离文件)。
内联——在混淆代码的末尾添加source map;
分离——使用独立的source Map文件 //# sourceMappingUrl=file.js.map。
选择 内联 简化操作,或选择 分离 用于生产环境。
Source Map 基础 URL 设置 Source Map 文件的基础 URL(例如 http://localhost:3000)。 Source Map 模式分离 时必须设置。
Source Map 文件名 设置 Source Map 文件的名称(例如 example)。 Source Map 模式分离 时必须设置。
评论区