文杰在线工具
  • 免费流量卡办理
  • 切换模式
    收藏列表
    放到桌面
    收录申请
    工具搜索
    用户登陆
    点击上传JS文件
    转换结果:复制
    基本设置
    调用保护
    域名锁定
    启用源映射
    字符串转换
    字符串数组索引
    字符串数组调用
    字符串数组包装
    字符串数组编码
    拆分字符串
    字符串转换为Unicode形式
    标识符转换
    标识符
    重命名设置
    基他设置
    控制流平坦化
    死代码注入
    压缩成一行 去除代码中的换行符。
    标识符混淆方式 dictionary

    使用来自 标识符字典 中的名称

    hexadecimal

    使用十六进制模式随机生成 (如:0xabc123)

    mangled

    使用简短的名称 (如: a, b, c..)

    标识符字典

    设置标识符混淆的名称字典。

    标识符前缀

    设置混淆后的标识符使用特定的前缀

    当混淆加载在同一页面上的多个文件时,请配置此选项,防止它们之间的冲突。

    混淆全局变量

    开启此选项可能影响其它代码的运行,请谨慎使用!

    开启后,将混淆全局变量与全局函数名。

    自我保护

    开启后将使加密后的代码无法被格式化。

    启用此选项后代码将被强制压缩成一行。

    控制流平坦化

    此选项非常影响性能,请按需开启!

    使代码控制流扁平化。控制流扁平化是一种阻碍程序理解的源代码结构转换。访问点我 了解其原理。

    阈值:范围:0~1,值越大,代码阅读难度越大,但输出的代码运行效率也越低。

    死代码注入

    该选项将会导致加密后的代码量变大。

    随机向代码中插入无意义的代码(不会被运行)使得代码的解密变得更困难。

    阈值:范围:0~1

    启用该选项需要同时开启 字符串转换为数组 功能。

    分割字符串

    启用该选项将导致加密后的代码量变大。

    将文本字符串按照 分割字符串块长度 设定的值进行分割。

    字符串块长度:使用该选项来指定字符串分割后的块长度。

    字符串转换为数组

    去除代码中固定的字符串文本,并将其统一放在一个数组中。

    例:var m = "Hello World"; 中的 "Hello World",将会被替换为一个函数调用,在运行时再检索此值。

    例:var m = _0xb0c3('0x1');

    打乱字符串数组位置

    将字符串数组放在一个随机的位置。如果您的原始源代码量很大,建议开启这个选项,能大大提升代码解密难度。

    打乱字符串数组排序

    随机排列字符串数组中的内容。

    加密字符串数组

    开启后将导致代码运行效率略微降低。

    RC4 加密方式加密后解密难度大,但加密后的代码运行效率比 Base64 加密方式低 30-35%。

    字符串转数组阈值

    此设置来调整将字符串文字插入到字符串数组中的概率(从0到1)。

    此设置在大型代码库中非常有用,因为对字符串数组函数的重复调用会降低代码速度。

    字符串转换为 Unicode 形式

    将字符串转换为它们的 Unicode 形式。

    这个没什么意义,不建议开启。

    禁用控制台输出

    通过重写为空函数禁用 console.log, console.info, console.errorconsole.warn

    调试保护

    启用后,如果开启浏览器控制台,浏览器将被冻结。

    保护间隔:开启后,会使用一个定时器来卡住控制台,使得控制台无法进行调试操作。

    域名锁定

    如添加了锁定域名,则加密后的代码只能在锁定域名下运行

    例:73so.com 的子域名全部设置为白名单域名,添加 .73so.com 即可。

    保留标识符

    白名单中的标识符不会被混淆。支持正则表达式。

    例:添加 ^someName 则所有以 someName 开头的变量、函数名和函数参数都不会被混淆。

    保留字符串

    同上

    源映射

    注意:请确保不要在生产环境中开启

    Source maps 能帮助你调试 JavaScript 代码。如果非要在生产中进行调试,可以将单独的 Source maps 文件上载到秘密位置,然后将浏览器指向该位置。

    Inline Source Map

    将 Source maps 射嵌入到混淆代码的结果中。如果需要进行本地调试,会很有用。

    Separate Source Map

    将 Source maps 一起生成一个单独的文件。这对于调试生产中的代码很有用,因为这使您可以将 Source maps 上传到服务器上的秘密位置,然后设置浏览器指向该位置。

    使用 Source Map Base URLSource Map File Name 来自定义sourceMappingURL ,并附加到加密后代码的末尾。

    加密种子

    值为0时, 每次加密同一段代码得到的结果都不一样。

    如果你需要同一段代码每次的加密结果保持一致,将种子值设为一个固定的整数即可。

    关于混淆模式介绍:

    高混淆,低性能:性能将比没有混淆慢得多。

    中混淆,最佳性能:性能将比没有混淆更慢。

    低混淆,高性能:性能将处于相对正常的水平。

    自定义设置:可根据自己的需求,设置混淆的参数。

    注:本工具全程在浏览器端进行加密,不会向服务器端传输任何数据。

    注:混淆后的代码无法恢复为原始代码,请在混淆前备份原始代码。

    推荐阅读
    主页 搜索 收藏 开灯关灯