Javascript加密混淆

拖拽JavaScript文件 或者 点击读取JavaScript文件

                    

混淆加密配置


一键配置


基础配置



标识符名称生成器


标识符前缀




目标运行环境

调试保护设置




字符串设置


字符串编码


字符串加密系数






过滤设置

锁定域名


保留方法


保留字符串


附加设置

源码地图


源码地图地址


源码地图文件名


标识种子ID

JAVASCRIPT代码混淆工具配置说明


压缩成一行 将换行符及空格等进行压缩
标识符名称生成器

使用此选项来控制如何混淆标识符(变量名,函数名等)。

十六进制
生成使用十六进制图案随机标识符的名称(如:0xabc123

短字符:
使用短字符名称 (如: a, b, c等等)

标识符前缀

此选项使所有全局标识符具有特定的前缀。

混淆在同一页面上加载的多个文件时,请使用此选项。此选项有助于避免这些文件的全局标识符之间的冲突。为每个文件使用不同的前缀。

方法变量重命名
此选项可能会破坏您的代码。仅在知道它的功能时启用它。

使用声明启用对全局变量和函数名称的混淆。

K保护

此选项使输出代码可抵抗格式设置和变量重命名。如果尝试在混淆后的代码上使用JavaScript美化器,则该代码将无法正常工作,从而使其难以理解和修改。

需要压缩成一行设置。

防止格式化
此选项对性能的影响最大为运行速度降低1.5倍。

启用代码控制流平整。控制流扁平化是源代码的结构转换,它阻碍了程序的理解。

格式化系数


在较大的代码库中,建议降低此值,因为大量的控制流转换会增加代码的大小并减慢其速度(从0到1)。

花指令代码注入
此选项极大地增加了混淆代码的大小(最多200%)。

此功能将混淆代码的随机块(即,将不执行的代码)添加到混淆后的输出中,从而更难进行反向工程。

花指令注入率


您可以使用此设置来调整该选项影响节点的概率(从0到1)。

需要字符串加密选项支持。

字符串加密

删除字符串文字并将其放置在特殊数组中。例如,字符串“ Hello World”中的字符串var m = "Hello World";将替换为对某个函数的调用,该函数将在运行时检索其值,例如:var m = _0xb0c3('0x1'); 请参阅以下有关如何配置此功能或多或少具有弹性的选项。

旋转字符串数组


将字符串数组移动一个固定且随机的位置(在代码混淆中生成)。这使得将删除的字符串的顺序与其原始位置匹配变得更加困难。 如果您的原始源代码不小,则建议使用此选项,因为辅助功能会引起注意。

如果源代码不小,建议使用此选项。

重排字符串数组


随机排序字符串数组。

字符串编码


此选项会稍微降低脚本速度。

使用Base64或RC4 编码的所有字符串文字,并插入一个特殊的函数,该函数用于在运行时对其进行解码。

请注意,RC4选项比​​Base64选项慢大约30-35%,但是更难找回字符串。

字符串加密系数


您可以使用此设置来调整将字符串文字插入的可能性(从0到1)。

此设置在大型代码库中很有用,因为反复调用该字符串加密函数会降低代码速度。

变量加密

转换混淆对象键。

例如,将此代码var a = {enabled: true};混淆后,此代码将隐藏enabled对象键:var a = {}; a[_0x2ae0[('0x0')] = true;。

需要使用字符串加密的参数设置

Unicode转义序列

转换混淆对象键。

将所有字符串转换为它们的unicode表示形式。例如,字符串"Hello World!"将被转换为"'\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21"。

此转换非常容易还原,并且将大大增加混淆的代码大小。不建议在较大的代码库中使用。

禁用控制台输出

禁止使用console.log,console.info,console.error和console.warn,这使得调试器的使用更加困难。

调试保护
如果打开开发人员工具,则可以冻结浏览器。

使用该选项,几乎不可能使用开发人员工具的控制台选项卡(在Google Chrome和Mozilla Firefox上)。

调试保护间隔


如果选中该选项,则会使用一个时间间隔在“ 控制台”选项卡上强制使用调试模式 ,从而使开发人员工具的其他功能难以使用。

在经过混淆的源代码中会插入一个反复调用的特殊代码进行运作。

锁定域名

锁定混淆的源代码,使其仅在特定的域和/或子域上运行。对于仅复制并粘贴源代码并在其他地方运行的人来说,这真的很难。

多个域名或者子域名
可以将代码锁定到多个域或子域。例如,要对其进行锁定以使代码仅在www.bejson.com上运行,请使用add www.bejson.com,使其可在bejson.com的任何子域上使用.bejson.com。

保留名称

禁用混淆和标识符的生成,这些标识符与通过的RegExp(正则)模式匹配。

例如,如果添加^bejsoncom,混淆器将确保 不会破坏以bejson开头的所有变量,函数名称和函数参数。

保留字符串

禁用字符串文字的转换,该文字与通过的RegExp(正则)模式匹配。

例如,如果添加^bejson *string,混淆器将确保所有以某个字符串开头的字符串 都不会在“字符串加密”中进行加密处理。

源码地图
确保不要上传嵌入了嵌入式内嵌源代码图的混淆后的源代码,因为它包含原始源代码。

源映射可以帮助您调试混淆的Java Script源代码。如果要在生产中进行调试,可以将单独的源映射文件上载到秘密位置,然后将浏览器指向该位置。

内联源地图
这会将源代码的源映射嵌入到混淆代码的结果中。如果只想在计算机上进行本地调试,则很有用。

单独的源地图
这将与源映射一起生成一个单独的文件。这对于调试生产中的代码很有用,因为这使您可以将源映射上载到服务器上的秘密位置,然后指向浏览器使用它。
使用“ 源地图基本URL”和“ 源地图文件名”来自定义sourceMappingURL将添加到混淆代码末尾的属性。
举例来说,如果你的设置基本URL来 "http://bejson.com:9000"和文件名来 "tool",你会得到://# sourceMappingURL=http://bejson.com:9000/tool.js.map。附加到混淆代码的末尾。

种子

默认情况下(seed = 0),每次对代码进行混淆时,都会得到一个新的结果(即:不同的变量名,插入到中的不同变量 stringArray等)。如果要获得可重复的结果,请将设置seed为特定的整数。

您最近使用了:

收藏 菜单 QQ