提交 806dc143 作者: 毛细亚

测试选项

上级 9e9e6399
module.exports = { module.exports = {
// 自己的混淆配置 // 自己的混淆配置
my: { my: {
// seed:845729517, // seed:845729517, //此选项为随机生成器设置种子。这对于创建可重复的结果很有用
stringArray: true, // 压缩成一行 删除字符串文字并将它们放在一个特殊的数组中。例如,字符串"Hello World"invar m = "Hello World";将被替换为类似var m = _0x12c456[0x1]; stringArray: true, // 压缩成一行 删除字符串文字并将它们放在一个特殊的数组中。例如,字符串"Hello World"invar m = "Hello World";将被替换为类似var m = _0x12c456[0x1];
// 僵尸代码 // 僵尸代码
deadCodeInjection: true, deadCodeInjection: true,
...@@ -11,27 +11,29 @@ module.exports = { ...@@ -11,27 +11,29 @@ module.exports = {
debugProtectionInterval: false,// 如果选中,则会在“控制台”选项卡上使用间隔强制调试模式,从而更难使用“开发人员工具”的其他功能。 debugProtectionInterval: false,// 如果选中,则会在“控制台”选项卡上使用间隔强制调试模式,从而更难使用“开发人员工具”的其他功能。
log: true,// 是否允许将信息记录到控制台。 log: true,// 是否允许将信息记录到控制台。
disableConsoleOutput: false,// 通过用空函数替换它们来禁用console.log,console.info,console.error和console.warn。这使得调试器的使用更加困难。 disableConsoleOutput: false,// 通过用空函数替换它们来禁用console.log,console.info,console.error和console.warn。这使得调试器的使用更加困难。
// identifierNamesGenerator: 'mangled-shuffled', //标识符的混淆方式 hexadecimal(十六进制) mangled(短标识符) dictionary 需要与identifiersDictionary同时使用 mangled-shuffled 和 mangled 相同 但是字母会被打乱 identifierNamesGenerator:'mangled-shuffled', //标识符的混淆方式 hexadecimal(十六进制) mangled(短标识符) dictionary 需要与identifiersDictionary同时使用 mangled-shuffled 和 mangled 相同 但是字母会被打乱 不知为何 mangled 会无响应 所以推荐用 mangled-shuffled
// identifiersDictionary:['_zw_,_mxy_,_zwan_,-nzy_'],//dictionary选项设置标识符字典。字典中的每个标识符将用于几个变体,每个字符的大小写不同。因此,字典中标识符的数量应取决于原始源代码中的标识符数量。 // identifiersDictionary:['_zw_,_mxy_,_zwan_,-nzy_'],//dictionary选项设置标识符字典。字典中的每个标识符将用于几个变体,每个字符的大小写不同。因此,字典中标识符的数量应取决于原始源代码中的标识符数量。
identifiersPrefix:'_mxy_',//全局标识符添加特定前缀,在混淆同一页面上加载的多个文件时使用此选项。此选项有助于避免这些文件的全局标识符之间发生冲突。为每个文件使用不同的前缀 identifiersPrefix:'_m_',//全局标识符添加特定前缀,在混淆同一页面上加载的多个文件时使用此选项。此选项有助于避免这些文件的全局标识符之间发生冲突。为每个文件使用不同的前缀
// identifierNamesCache:{}, // 此选项的主要目标是能够在混淆多个源/文件期间使用相同的标识符名称。 // identifierNamesCache:{}, // 此选项的主要目标是能够在混淆多个源/文件期间使用相同的标识符名称。
// inputFileName: 'main.js', // inputFileName: 'main.js',
// numbersToExpressions:true,//启用数字到表达式的转换 会将数字转化为表达式的形式 eg:const foo = 1234; output const foo=-0xd93+-0x10b4+0x41*0x67+0x84e*0x3+-0xff8; // numbersToExpressions:true,//启用数字到表达式的转换 会将数字转化为表达式的形式 eg:const foo = 1234; output const foo=-0xd93+-0x10b4+0x41*0x67+0x84e*0x3+-0xff8;
renameGlobals: true,// 是否启用全局变量和函数名称的混淆 renameGlobals: true,// 是否启用全局变量和函数名称的混淆
// renameProperties:true,//启用属性名称的重命名。所有内置 DOM 属性和核心 JavaScript 类中的属性都将被忽略。这个打开会报错 // renameProperties:true,//启用属性名称的重命名。所有内置 DOM 属性和核心 JavaScript 类中的属性都将被忽略。这个打开会报错
// simplify:true,// 通过简化实现额外的代码混淆。 // renamePropertiesMode:safe 设置renameProperties重命名的方式 尝试以更安全的方式重命名属性以防止运行时错误。在这种模式下,某些属性将被排除在重命名之外。 unsafe以不安全的方式重命名属性,没有任何限制。
simplify:true,// 通过简化实现额外的代码混淆。
rotateStringArray: true,// 通过固定和随机(在代码混淆时生成)的位置移动数组。这使得将删除的字符串的顺序与其原始位置相匹配变得更加困难。如果原始源代码不小,建议使用此选项,因为辅助函数可以引起注意 rotateStringArray: true,// 通过固定和随机(在代码混淆时生成)的位置移动数组。这使得将删除的字符串的顺序与其原始位置相匹配变得更加困难。如果原始源代码不小,建议使用此选项,因为辅助函数可以引起注意
// 编码的所有字符串文字stringArray使用base64或rc4并插入即用其解码回在运行时的特殊代码。true(boolean):stringArray使用编码值base64;false(boolean):不编码stringArray值;'base64'(string):stringArray使用编码值base64;'rc4'(string):stringArray使用编码值rc4。大约慢30-50%base64,但更难获得初始值。建议禁用unicodeEscapeSequence带rc4编码的选项以防止非常大的混淆代码。 // 编码的所有字符串文字stringArray使用base64或rc4并插入即用其解码回在运行时的特殊代码。true(boolean):stringArray使用编码值base64;false(boolean):不编码stringArray值;'base64'(string):stringArray使用编码值base64;'rc4'(string):stringArray使用编码值rc4。大约慢30-50%base64,但更难获得初始值。建议禁用unicodeEscapeSequence带rc4编码的选项以防止非常大的混淆代码。
// splitStrings:true,//将文字字符串拆分为具有splitStringsChunkLength选项值长度的块。 // splitStrings:true,//将文字字符串拆分为具有splitStringsChunkLength选项值长度的块。
// splitStringsChunkLength:0.5,//设置splitStrings选项的块长度。 // splitStringsChunkLength:0.5,//设置splitStrings选项的块长度。
stringArrayEncoding: ['none'], stringArrayEncoding: ['none'],
stringArrayThreshold:0, // stringArrayThreshold:0,
// stringArrayIndexesType:['hexadecimal-number'],'hexadecimal-number'( default): 将字符串数组调用索引转换为十六进制数 'hexadecimal-numeric-string': 将字符串数组调用索引转换为十六进制数字字符串
stringArrayIndexShift:true,// 为所有字符串数组调用启用额外的索引移位 stringArrayIndexShift:true,// 为所有字符串数组调用启用额外的索引移位
stringArrayShuffle:true,//随机打乱stringArray数组项。 stringArrayShuffle:true,//随机打乱stringArray数组项。
// stringArrayWrappersCount:1,//设置string array每个根或函数作用域内部的包装器计数。每个范围内的实际包装器数量literal受此范围内节点数的限制。 // stringArrayWrappersCount:1,//设置string array每个根或函数作用域内部的包装器计数。每个范围内的实际包装器数量literal受此范围内节点数的限制。
selfDefending: false,// 混淆后不能时使用代码美化 selfDefending: false,// 混淆后不能时使用代码美化
// 允许启用/禁用字符串转换为unicode转义序列。Unicode转义序列大大增加了代码大小,并且可以轻松地将字符串恢复为原始视图。建议仅对小型源代码启用此选项。 // 允许启用/禁用字符串转换为unicode转义序列。Unicode转义序列大大增加了代码大小,并且可以轻松地将字符串恢复为原始视图。建议仅对小型源代码启用此选项。
target: 'browser', target: 'browser-no-eval',
// 是否启用混淆对象键 // 是否启用混淆对象键
transformObjectKeys: true, transformObjectKeys: true,
unicodeEscapeSequence: false unicodeEscapeSequence: false
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -48,25 +48,17 @@ module.exports={ ...@@ -48,25 +48,17 @@ module.exports={
module:{ module:{
rules: [ rules: [
{ {
test: /\.(js|jsx)$/, test: /\.(js)$/,
include: "/src/", include: "/src/",
use: [{ use: [{
loader: "babel-loader", loader: WebpackObfuscator.loader,
options: { },{
presets: ['react', 'es2015', 'stage-0'], loader: "babel-loader",
} options: {
}], presets: ['react', 'es2015', 'stage-0'],
}
}],
}, },
{
test: /\.js$/,
exclude: [
path.resolve(__dirname, '')
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
}
}
] ]
}, },
plugins:[ plugins:[
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论