Bình luận
Tôi đã thêm
{
...
loader: `webpack-obfuscator/loader`
...
}
đến cấu hình trang web của tôi. Khi xây dựng ứng dụng của tôi [vue.js], mô -đun không thể được giải quyết.
Sử dụng
$ npm install --save-dev javascript-obfuscator8 hoạt động như mong đợi.
Versioninformation:
- HĐH: MacOS Catalina 10.15.5
- Nút: V12.16.2
- Webpack: 4.43.0
- WebPack-obfuscator: 1.8.1
Nếu bạn cần thêm thông tin, xin vui lòng cho tôi biết
Tôi mong đợi điều này = [ngay bây giờ sử dụng
$ npm install --save-dev javascript-obfuscator9. Tôi phải suy nghĩ về cách khắc phục nó.
Cập nhật lên
0. Sử dụng Trình tải như được mô tả ở đây:
Use loader like described here:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Nếu có sự cố xảy ra một lần nữa - hãy cho tôi biết
Nó đang hoạt động, cảm ơn bạn đã trả lời nhanh chóng.
Chuyện gì đã xảy ra thế::
Không thể xây dựng một thực thi duy nhất khi sử dụng mã obfuscate. Tôi đang sử dụng công cụ JavaScript ObfusCator vì tôi muốn tăng cường bảo mật ứng dụng của mình.
Khi tôi chạy ứng dụng của mình với mã bị obfuscated, nó hoạt động tốt, nhưng khi tôi muốn tạo một thực thi với NEXE, nó không hoạt động.
Những gì bạn mong đợi sẽ xảy ra::
Tạo thực thi khi sử dụng mã obfuscated.
Cách tái tạo nó [tối thiểu và chính xác nhất có thể]::
Tôi đang gặp vấn đề khi yêu cầu các tệp cục bộ và sử dụng các đường dẫn tương đối.
Ví dụ: 1Error:
1
Error:
nội bộ/mô -đun/cjs/loader.js: 638 ném err; ^ Lỗi: Không thể tìm thấy mô -đun './somemodule'
throw err;
^
Error: Cannot find module './someModule'
Environment::
- Nền tảng [OS/Phiên bản]: MacOS Catalina Phiên bản: 10.15.4
- Phiên bản nút máy chủ: 10.16.1
- Phiên bản nút đích:
- Phiên bản Nexe: 3.3.2
- Phiên bản Python: 2.7
Webpack có obfuscate không?
Điều đáng nói là các plugin webpack như Uglify hoặc Webpack Obfuscator chỉ cung cấp Minification/obfuscation cơ bản và có thể nhanh chóng được đảo ngược với các công cụ tự động. Vì vậy, họ không bảo vệ đúng các tệp gói webpack.
JavaScript obfuscator
- JavaScript ObfusCator là một obfuscator miễn phí mạnh mẽ cho JavaScript, chứa nhiều tính năng cung cấp bảo vệ cho mã nguồn của bạn.
- Các tính năng chính:
- Các biến đổi tên
- Khai thác và mã hóa chuỗi
- Các biến đổi mã khác nhau
- và nhiều hơn nữa...
Ví dụ về mã bị che khuất: github.com
Phiên bản trực tuyến:
obfuscator.io
Bổ sung:
- Plugin WebPack: WebPack-Obfuscator
- Trình tải trang web: OBFUSCATOR-LOADER
- Gulp: Gulp-JavaScript-obfuscator
- Grunt: Grunt-Contrib-Enduscator
- Rollup: Rollup-plugin-javascript-obfuscator
- WEEX: WEEX-Devtool
- Malta: Malta-JS-obfuscator
- Plugin Netlify: Netlify-plugin-js-obfuscator
Bạn có thể hỗ trợ dự án này bằng cách quyên góp:
- [Opencollective] //opencollective.com/javascript-obfuscator
- Thẻ tín dụng PayPal //www.paypal.com/donate
- PayPal //www.paypal.me/javascriptobfuscator
- .
Rất cảm ơn tất cả những người ủng hộ!
GHI CHÚ! Readme trên nhánh chính có thể không khớp với bản phát hành ổn định mới nhất!
Nếu bạn có câu hỏi, hãy kiểm tra phần này trước: Câu hỏi thường gặp
Quan trọng
Chỉ obfuscate mã thuộc về bạn.Không nên sử dụng các tập lệnh và polyfills của nhà cung cấp bảo vệ, vì mã bị che khuất chậm hơn 15-80% [phụ thuộc vào các tùy chọn] và các tệp lớn hơn đáng kể.
Cài đặt
Sử dụng sợi hoặc npm
Cài đặt gói bằng sợi hoặc NPM và thêm nó vào
2 hoặc
3 của bạn:
$ yarn add --dev javascript-obfuscator
hoặc
$ npm install --save-dev javascript-obfuscator
Trong một trình duyệt
Từ CDN:
Từ
4:
Cách sử dụng
var JavaScriptObfuscator = require['javascript-obfuscator']; var obfuscationResult = JavaScriptObfuscator.obfuscate[ ` [function[]{ var variable1 = '5' - 3; var variable2 = '5' + 3; var variable3 = '5' + - '2'; var variable4 = ['10','10','10','10','10'].map[parseInt]; var variable5 = 'foo ' + 1 + 1; console.log[variable1]; console.log[variable2]; console.log[variable3]; console.log[variable4]; console.log[variable5]; }][]; `, { compact: false, controlFlowFlattening: true, controlFlowFlatteningThreshold: 1, numbersToExpressions: true, simplify: true, stringArrayShuffle: true, splitStrings: true, stringArrayThreshold: 1 } ]; console.log[obfuscationResult.getObfuscatedCode[]]; /* var _0x9947 = [ 'map', 'log', 'foo\x20', 'bvmqO', '133039ViRMWR', 'xPfLC', 'ytpdx', '1243717qSZCyh', '2|7|4|6|9|', '1ErtbCr', '1608314VKvthn', '1ZRaFKN', 'XBoAA', '423266kQOYHV', '3|0|5|8|1', '235064xPNdKe', '13RUDZfG', '157gNPQGm', '1639212MvnHZL', 'rDjOa', 'iBHph', '9926iRHoRl', 'split' ]; function _0x33e4[_0x1809b5, _0x37ef6e] { return _0x33e4 = function [_0x338a69, _0x39ad79] { _0x338a69 = _0x338a69 - [0x1939 + -0xf * 0x1f3 + 0x1 * 0x469]; var _0x2b223a = _0x9947[_0x338a69]; return _0x2b223a; }, _0x33e4[_0x1809b5, _0x37ef6e]; } [function [_0x431d87, _0x156c7f] { var _0x10cf6e = _0x33e4; while [!![]] { try { var _0x330ad1 = -parseInt[_0x10cf6e[0x6c]] * -parseInt[_0x10cf6e[0x6d]] + -parseInt[_0x10cf6e[0x74]] * -parseInt[_0x10cf6e[0x78]] + parseInt[_0x10cf6e[0x6a]] + -parseInt[_0x10cf6e[0x70]] + parseInt[_0x10cf6e[0x6e]] * -parseInt[_0x10cf6e[0x75]] + parseInt[_0x10cf6e[0x72]] + -parseInt[_0x10cf6e[0x67]] * parseInt[_0x10cf6e[0x73]]; if [_0x330ad1 === _0x156c7f] break; else _0x431d87['push'][_0x431d87['shift'][]]; } catch [_0x9f878] { _0x431d87['push'][_0x431d87['shift'][]]; } } }[_0x9947, -0xb6270 + 0x4dfd2 * 0x2 + 0x75460 * 0x2], function [] { var _0x1f346d = _0x33e4, _0x860db8 = { 'ytpdx': _0x1f346d[0x6b] + _0x1f346d[0x71], 'bvmqO': function [_0x560787, _0x519b9e] { return _0x560787 - _0x519b9e; }, 'rDjOa': function [_0x4501fe, _0x2b07a3] { return _0x4501fe + _0x2b07a3; }, 'xPfLC': function [_0x5f3c9b, _0x434936] { return _0x5f3c9b + _0x434936; }, 'XBoAA': function [_0x535b8a, _0x42eef4] { return _0x535b8a + _0x42eef4; }, 'iBHph': _0x1f346d[0x65] }, _0x346c55 = _0x860db8[_0x1f346d[0x69]][_0x1f346d[0x79]]['|'], _0x3bf817 = 0x4bb * 0x1 + 0x801 + -0xcbc; while [!![]] { switch [_0x346c55[_0x3bf817++]] { case '0': console[_0x1f346d[0x7b]][_0x4c96d8]; continue; case '1': console[_0x1f346d[0x7b]][_0x101028]; continue; case '2': var _0x65977d = _0x860db8[_0x1f346d[0x66]]['5', -0x586 + -0x2195 + -0x6 * -0x685]; continue; case '3': console[_0x1f346d[0x7b]][_0x65977d]; continue; case '4': var _0x56d39b = _0x860db8[_0x1f346d[0x76]]['5', -'2']; continue; case '5': console[_0x1f346d[0x7b]][_0x56d39b]; continue; case '6': var _0x544285 = [ '10', '10', '10', '10', '10' ][_0x1f346d[0x7a]][parseInt]; continue; case '7': var _0x4c96d8 = _0x860db8[_0x1f346d[0x68]]['5', 0x622 * -0x6 + 0x4a * 0x3 + 0x1 * 0x23f1]; continue; case '8': console[_0x1f346d[0x7b]][_0x544285]; continue; case '9': var _0x101028 = _0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x77]], 0x6fb * 0x5 + 0x1ebf * 0x1 + -0x41a5], 0x209 * 0xa + 0x1314 + -0x276d]; continue; } break; } }[]]; */
5
Trả về đối tượng
6 chứa hai phương thức công khai:
-
7 - Trả về
8 với mã bị che khuất;
-
9 - Nếu tùy chọn
0 được bật - Trả về
8 với bản đồ nguồn hoặc một chuỗi trống nếu tùy chọn
2 được đặt là
3;
-
4 - Trả về đối tượng với tên nhận dạng tên bộ đệm nếu tùy chọn
5 được bật,
6 cũng vậy.
Gọi
7 cho đối tượng
6 sẽ trả về
8 với mã bị lỗi.
Phương thức lấy hai tham số,
var JavaScriptObfuscator = require['javascript-obfuscator']; var obfuscationResult = JavaScriptObfuscator.obfuscate[ ` [function[]{ var variable1 = '5' - 3; var variable2 = '5' + 3; var variable3 = '5' + - '2'; var variable4 = ['10','10','10','10','10'].map[parseInt]; var variable5 = 'foo ' + 1 + 1; console.log[variable1]; console.log[variable2]; console.log[variable3]; console.log[variable4]; console.log[variable5]; }][]; `, { compact: false, controlFlowFlattening: true, controlFlowFlatteningThreshold: 1, numbersToExpressions: true, simplify: true, stringArrayShuffle: true, splitStrings: true, stringArrayThreshold: 1 } ]; console.log[obfuscationResult.getObfuscatedCode[]]; /* var _0x9947 = [ 'map', 'log', 'foo\x20', 'bvmqO', '133039ViRMWR', 'xPfLC', 'ytpdx', '1243717qSZCyh', '2|7|4|6|9|', '1ErtbCr', '1608314VKvthn', '1ZRaFKN', 'XBoAA', '423266kQOYHV', '3|0|5|8|1', '235064xPNdKe', '13RUDZfG', '157gNPQGm', '1639212MvnHZL', 'rDjOa', 'iBHph', '9926iRHoRl', 'split' ]; function _0x33e4[_0x1809b5, _0x37ef6e] { return _0x33e4 = function [_0x338a69, _0x39ad79] { _0x338a69 = _0x338a69 - [0x1939 + -0xf * 0x1f3 + 0x1 * 0x469]; var _0x2b223a = _0x9947[_0x338a69]; return _0x2b223a; }, _0x33e4[_0x1809b5, _0x37ef6e]; } [function [_0x431d87, _0x156c7f] { var _0x10cf6e = _0x33e4; while [!![]] { try { var _0x330ad1 = -parseInt[_0x10cf6e[0x6c]] * -parseInt[_0x10cf6e[0x6d]] + -parseInt[_0x10cf6e[0x74]] * -parseInt[_0x10cf6e[0x78]] + parseInt[_0x10cf6e[0x6a]] + -parseInt[_0x10cf6e[0x70]] + parseInt[_0x10cf6e[0x6e]] * -parseInt[_0x10cf6e[0x75]] + parseInt[_0x10cf6e[0x72]] + -parseInt[_0x10cf6e[0x67]] * parseInt[_0x10cf6e[0x73]]; if [_0x330ad1 === _0x156c7f] break; else _0x431d87['push'][_0x431d87['shift'][]]; } catch [_0x9f878] { _0x431d87['push'][_0x431d87['shift'][]]; } } }[_0x9947, -0xb6270 + 0x4dfd2 * 0x2 + 0x75460 * 0x2], function [] { var _0x1f346d = _0x33e4, _0x860db8 = { 'ytpdx': _0x1f346d[0x6b] + _0x1f346d[0x71], 'bvmqO': function [_0x560787, _0x519b9e] { return _0x560787 - _0x519b9e; }, 'rDjOa': function [_0x4501fe, _0x2b07a3] { return _0x4501fe + _0x2b07a3; }, 'xPfLC': function [_0x5f3c9b, _0x434936] { return _0x5f3c9b + _0x434936; }, 'XBoAA': function [_0x535b8a, _0x42eef4] { return _0x535b8a + _0x42eef4; }, 'iBHph': _0x1f346d[0x65] }, _0x346c55 = _0x860db8[_0x1f346d[0x69]][_0x1f346d[0x79]]['|'], _0x3bf817 = 0x4bb * 0x1 + 0x801 + -0xcbc; while [!![]] { switch [_0x346c55[_0x3bf817++]] { case '0': console[_0x1f346d[0x7b]][_0x4c96d8]; continue; case '1': console[_0x1f346d[0x7b]][_0x101028]; continue; case '2': var _0x65977d = _0x860db8[_0x1f346d[0x66]]['5', -0x586 + -0x2195 + -0x6 * -0x685]; continue; case '3': console[_0x1f346d[0x7b]][_0x65977d]; continue; case '4': var _0x56d39b = _0x860db8[_0x1f346d[0x76]]['5', -'2']; continue; case '5': console[_0x1f346d[0x7b]][_0x56d39b]; continue; case '6': var _0x544285 = [ '10', '10', '10', '10', '10' ][_0x1f346d[0x7a]][parseInt]; continue; case '7': var _0x4c96d8 = _0x860db8[_0x1f346d[0x68]]['5', 0x622 * -0x6 + 0x4a * 0x3 + 0x1 * 0x23f1]; continue; case '8': console[_0x1f346d[0x7b]][_0x544285]; continue; case '9': var _0x101028 = _0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x77]], 0x6fb * 0x5 + 0x1ebf * 0x1 + -0x41a5], 0x209 * 0xa + 0x1314 + -0x276d]; continue; } break; } }[]]; */0 và
var JavaScriptObfuscator = require['javascript-obfuscator']; var obfuscationResult = JavaScriptObfuscator.obfuscate[ ` [function[]{ var variable1 = '5' - 3; var variable2 = '5' + 3; var variable3 = '5' + - '2'; var variable4 = ['10','10','10','10','10'].map[parseInt]; var variable5 = 'foo ' + 1 + 1; console.log[variable1]; console.log[variable2]; console.log[variable3]; console.log[variable4]; console.log[variable5]; }][]; `, { compact: false, controlFlowFlattening: true, controlFlowFlatteningThreshold: 1, numbersToExpressions: true, simplify: true, stringArrayShuffle: true, splitStrings: true, stringArrayThreshold: 1 } ]; console.log[obfuscationResult.getObfuscatedCode[]]; /* var _0x9947 = [ 'map', 'log', 'foo\x20', 'bvmqO', '133039ViRMWR', 'xPfLC', 'ytpdx', '1243717qSZCyh', '2|7|4|6|9|', '1ErtbCr', '1608314VKvthn', '1ZRaFKN', 'XBoAA', '423266kQOYHV', '3|0|5|8|1', '235064xPNdKe', '13RUDZfG', '157gNPQGm', '1639212MvnHZL', 'rDjOa', 'iBHph', '9926iRHoRl', 'split' ]; function _0x33e4[_0x1809b5, _0x37ef6e] { return _0x33e4 = function [_0x338a69, _0x39ad79] { _0x338a69 = _0x338a69 - [0x1939 + -0xf * 0x1f3 + 0x1 * 0x469]; var _0x2b223a = _0x9947[_0x338a69]; return _0x2b223a; }, _0x33e4[_0x1809b5, _0x37ef6e]; } [function [_0x431d87, _0x156c7f] { var _0x10cf6e = _0x33e4; while [!![]] { try { var _0x330ad1 = -parseInt[_0x10cf6e[0x6c]] * -parseInt[_0x10cf6e[0x6d]] + -parseInt[_0x10cf6e[0x74]] * -parseInt[_0x10cf6e[0x78]] + parseInt[_0x10cf6e[0x6a]] + -parseInt[_0x10cf6e[0x70]] + parseInt[_0x10cf6e[0x6e]] * -parseInt[_0x10cf6e[0x75]] + parseInt[_0x10cf6e[0x72]] + -parseInt[_0x10cf6e[0x67]] * parseInt[_0x10cf6e[0x73]]; if [_0x330ad1 === _0x156c7f] break; else _0x431d87['push'][_0x431d87['shift'][]]; } catch [_0x9f878] { _0x431d87['push'][_0x431d87['shift'][]]; } } }[_0x9947, -0xb6270 + 0x4dfd2 * 0x2 + 0x75460 * 0x2], function [] { var _0x1f346d = _0x33e4, _0x860db8 = { 'ytpdx': _0x1f346d[0x6b] + _0x1f346d[0x71], 'bvmqO': function [_0x560787, _0x519b9e] { return _0x560787 - _0x519b9e; }, 'rDjOa': function [_0x4501fe, _0x2b07a3] { return _0x4501fe + _0x2b07a3; }, 'xPfLC': function [_0x5f3c9b, _0x434936] { return _0x5f3c9b + _0x434936; }, 'XBoAA': function [_0x535b8a, _0x42eef4] { return _0x535b8a + _0x42eef4; }, 'iBHph': _0x1f346d[0x65] }, _0x346c55 = _0x860db8[_0x1f346d[0x69]][_0x1f346d[0x79]]['|'], _0x3bf817 = 0x4bb * 0x1 + 0x801 + -0xcbc; while [!![]] { switch [_0x346c55[_0x3bf817++]] { case '0': console[_0x1f346d[0x7b]][_0x4c96d8]; continue; case '1': console[_0x1f346d[0x7b]][_0x101028]; continue; case '2': var _0x65977d = _0x860db8[_0x1f346d[0x66]]['5', -0x586 + -0x2195 + -0x6 * -0x685]; continue; case '3': console[_0x1f346d[0x7b]][_0x65977d]; continue; case '4': var _0x56d39b = _0x860db8[_0x1f346d[0x76]]['5', -'2']; continue; case '5': console[_0x1f346d[0x7b]][_0x56d39b]; continue; case '6': var _0x544285 = [ '10', '10', '10', '10', '10' ][_0x1f346d[0x7a]][parseInt]; continue; case '7': var _0x4c96d8 = _0x860db8[_0x1f346d[0x68]]['5', 0x622 * -0x6 + 0x4a * 0x3 + 0x1 * 0x23f1]; continue; case '8': console[_0x1f346d[0x7b]][_0x544285]; continue; case '9': var _0x101028 = _0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x77]], 0x6fb * 0x5 + 0x1ebf * 0x1 + -0x41a5], 0x209 * 0xa + 0x1314 + -0x276d]; continue; } break; } }[]]; */1 - mã nguồn và các tùy chọn tương ứng:
-
var JavaScriptObfuscator = require['javascript-obfuscator']; var obfuscationResult = JavaScriptObfuscator.obfuscate[ ` [function[]{ var variable1 = '5' - 3; var variable2 = '5' + 3; var variable3 = '5' + - '2'; var variable4 = ['10','10','10','10','10'].map[parseInt]; var variable5 = 'foo ' + 1 + 1; console.log[variable1]; console.log[variable2]; console.log[variable3]; console.log[variable4]; console.log[variable5]; }][]; `, { compact: false, controlFlowFlattening: true, controlFlowFlatteningThreshold: 1, numbersToExpressions: true, simplify: true, stringArrayShuffle: true, splitStrings: true, stringArrayThreshold: 1 } ]; console.log[obfuscationResult.getObfuscatedCode[]]; /* var _0x9947 = [ 'map', 'log', 'foo\x20', 'bvmqO', '133039ViRMWR', 'xPfLC', 'ytpdx', '1243717qSZCyh', '2|7|4|6|9|', '1ErtbCr', '1608314VKvthn', '1ZRaFKN', 'XBoAA', '423266kQOYHV', '3|0|5|8|1', '235064xPNdKe', '13RUDZfG', '157gNPQGm', '1639212MvnHZL', 'rDjOa', 'iBHph', '9926iRHoRl', 'split' ]; function _0x33e4[_0x1809b5, _0x37ef6e] { return _0x33e4 = function [_0x338a69, _0x39ad79] { _0x338a69 = _0x338a69 - [0x1939 + -0xf * 0x1f3 + 0x1 * 0x469]; var _0x2b223a = _0x9947[_0x338a69]; return _0x2b223a; }, _0x33e4[_0x1809b5, _0x37ef6e]; } [function [_0x431d87, _0x156c7f] { var _0x10cf6e = _0x33e4; while [!![]] { try { var _0x330ad1 = -parseInt[_0x10cf6e[0x6c]] * -parseInt[_0x10cf6e[0x6d]] + -parseInt[_0x10cf6e[0x74]] * -parseInt[_0x10cf6e[0x78]] + parseInt[_0x10cf6e[0x6a]] + -parseInt[_0x10cf6e[0x70]] + parseInt[_0x10cf6e[0x6e]] * -parseInt[_0x10cf6e[0x75]] + parseInt[_0x10cf6e[0x72]] + -parseInt[_0x10cf6e[0x67]] * parseInt[_0x10cf6e[0x73]]; if [_0x330ad1 === _0x156c7f] break; else _0x431d87['push'][_0x431d87['shift'][]]; } catch [_0x9f878] { _0x431d87['push'][_0x431d87['shift'][]]; } } }[_0x9947, -0xb6270 + 0x4dfd2 * 0x2 + 0x75460 * 0x2], function [] { var _0x1f346d = _0x33e4, _0x860db8 = { 'ytpdx': _0x1f346d[0x6b] + _0x1f346d[0x71], 'bvmqO': function [_0x560787, _0x519b9e] { return _0x560787 - _0x519b9e; }, 'rDjOa': function [_0x4501fe, _0x2b07a3] { return _0x4501fe + _0x2b07a3; }, 'xPfLC': function [_0x5f3c9b, _0x434936] { return _0x5f3c9b + _0x434936; }, 'XBoAA': function [_0x535b8a, _0x42eef4] { return _0x535b8a + _0x42eef4; }, 'iBHph': _0x1f346d[0x65] }, _0x346c55 = _0x860db8[_0x1f346d[0x69]][_0x1f346d[0x79]]['|'], _0x3bf817 = 0x4bb * 0x1 + 0x801 + -0xcbc; while [!![]] { switch [_0x346c55[_0x3bf817++]] { case '0': console[_0x1f346d[0x7b]][_0x4c96d8]; continue; case '1': console[_0x1f346d[0x7b]][_0x101028]; continue; case '2': var _0x65977d = _0x860db8[_0x1f346d[0x66]]['5', -0x586 + -0x2195 + -0x6 * -0x685]; continue; case '3': console[_0x1f346d[0x7b]][_0x65977d]; continue; case '4': var _0x56d39b = _0x860db8[_0x1f346d[0x76]]['5', -'2']; continue; case '5': console[_0x1f346d[0x7b]][_0x56d39b]; continue; case '6': var _0x544285 = [ '10', '10', '10', '10', '10' ][_0x1f346d[0x7a]][parseInt]; continue; case '7': var _0x4c96d8 = _0x860db8[_0x1f346d[0x68]]['5', 0x622 * -0x6 + 0x4a * 0x3 + 0x1 * 0x23f1]; continue; case '8': console[_0x1f346d[0x7b]][_0x544285]; continue; case '9': var _0x101028 = _0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x77]], 0x6fb * 0x5 + 0x1ebf * 0x1 + -0x41a5], 0x209 * 0xa + 0x1314 + -0x276d]; continue; } break; } }[]]; */
0 [8, mặc định:
6] - bất kỳ mã nguồn hợp lệ nào, được truyền dưới dạng chuỗi;
-
var JavaScriptObfuscator = require['javascript-obfuscator']; var obfuscationResult = JavaScriptObfuscator.obfuscate[ ` [function[]{ var variable1 = '5' - 3; var variable2 = '5' + 3; var variable3 = '5' + - '2'; var variable4 = ['10','10','10','10','10'].map[parseInt]; var variable5 = 'foo ' + 1 + 1; console.log[variable1]; console.log[variable2]; console.log[variable3]; console.log[variable4]; console.log[variable5]; }][]; `, { compact: false, controlFlowFlattening: true, controlFlowFlatteningThreshold: 1, numbersToExpressions: true, simplify: true, stringArrayShuffle: true, splitStrings: true, stringArrayThreshold: 1 } ]; console.log[obfuscationResult.getObfuscatedCode[]]; /* var _0x9947 = [ 'map', 'log', 'foo\x20', 'bvmqO', '133039ViRMWR', 'xPfLC', 'ytpdx', '1243717qSZCyh', '2|7|4|6|9|', '1ErtbCr', '1608314VKvthn', '1ZRaFKN', 'XBoAA', '423266kQOYHV', '3|0|5|8|1', '235064xPNdKe', '13RUDZfG', '157gNPQGm', '1639212MvnHZL', 'rDjOa', 'iBHph', '9926iRHoRl', 'split' ]; function _0x33e4[_0x1809b5, _0x37ef6e] { return _0x33e4 = function [_0x338a69, _0x39ad79] { _0x338a69 = _0x338a69 - [0x1939 + -0xf * 0x1f3 + 0x1 * 0x469]; var _0x2b223a = _0x9947[_0x338a69]; return _0x2b223a; }, _0x33e4[_0x1809b5, _0x37ef6e]; } [function [_0x431d87, _0x156c7f] { var _0x10cf6e = _0x33e4; while [!![]] { try { var _0x330ad1 = -parseInt[_0x10cf6e[0x6c]] * -parseInt[_0x10cf6e[0x6d]] + -parseInt[_0x10cf6e[0x74]] * -parseInt[_0x10cf6e[0x78]] + parseInt[_0x10cf6e[0x6a]] + -parseInt[_0x10cf6e[0x70]] + parseInt[_0x10cf6e[0x6e]] * -parseInt[_0x10cf6e[0x75]] + parseInt[_0x10cf6e[0x72]] + -parseInt[_0x10cf6e[0x67]] * parseInt[_0x10cf6e[0x73]]; if [_0x330ad1 === _0x156c7f] break; else _0x431d87['push'][_0x431d87['shift'][]]; } catch [_0x9f878] { _0x431d87['push'][_0x431d87['shift'][]]; } } }[_0x9947, -0xb6270 + 0x4dfd2 * 0x2 + 0x75460 * 0x2], function [] { var _0x1f346d = _0x33e4, _0x860db8 = { 'ytpdx': _0x1f346d[0x6b] + _0x1f346d[0x71], 'bvmqO': function [_0x560787, _0x519b9e] { return _0x560787 - _0x519b9e; }, 'rDjOa': function [_0x4501fe, _0x2b07a3] { return _0x4501fe + _0x2b07a3; }, 'xPfLC': function [_0x5f3c9b, _0x434936] { return _0x5f3c9b + _0x434936; }, 'XBoAA': function [_0x535b8a, _0x42eef4] { return _0x535b8a + _0x42eef4; }, 'iBHph': _0x1f346d[0x65] }, _0x346c55 = _0x860db8[_0x1f346d[0x69]][_0x1f346d[0x79]]['|'], _0x3bf817 = 0x4bb * 0x1 + 0x801 + -0xcbc; while [!![]] { switch [_0x346c55[_0x3bf817++]] { case '0': console[_0x1f346d[0x7b]][_0x4c96d8]; continue; case '1': console[_0x1f346d[0x7b]][_0x101028]; continue; case '2': var _0x65977d = _0x860db8[_0x1f346d[0x66]]['5', -0x586 + -0x2195 + -0x6 * -0x685]; continue; case '3': console[_0x1f346d[0x7b]][_0x65977d]; continue; case '4': var _0x56d39b = _0x860db8[_0x1f346d[0x76]]['5', -'2']; continue; case '5': console[_0x1f346d[0x7b]][_0x56d39b]; continue; case '6': var _0x544285 = [ '10', '10', '10', '10', '10' ][_0x1f346d[0x7a]][parseInt]; continue; case '7': var _0x4c96d8 = _0x860db8[_0x1f346d[0x68]]['5', 0x622 * -0x6 + 0x4a * 0x3 + 0x1 * 0x23f1]; continue; case '8': console[_0x1f346d[0x7b]][_0x544285]; continue; case '9': var _0x101028 = _0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x77]], 0x6fb * 0x5 + 0x1ebf * 0x1 + -0x41a5], 0x209 * 0xa + 0x1314 + -0x276d]; continue; } break; } }[]]; */
1 [var JavaScriptObfuscator = require['javascript-obfuscator']; var obfuscationResult = JavaScriptObfuscator.obfuscate[ ` [function[]{ var variable1 = '5' - 3; var variable2 = '5' + 3; var variable3 = '5' + - '2'; var variable4 = ['10','10','10','10','10'].map[parseInt]; var variable5 = 'foo ' + 1 + 1; console.log[variable1]; console.log[variable2]; console.log[variable3]; console.log[variable4]; console.log[variable5]; }][]; `, { compact: false, controlFlowFlattening: true, controlFlowFlatteningThreshold: 1, numbersToExpressions: true, simplify: true, stringArrayShuffle: true, splitStrings: true, stringArrayThreshold: 1 } ]; console.log[obfuscationResult.getObfuscatedCode[]]; /* var _0x9947 = [ 'map', 'log', 'foo\x20', 'bvmqO', '133039ViRMWR', 'xPfLC', 'ytpdx', '1243717qSZCyh', '2|7|4|6|9|', '1ErtbCr', '1608314VKvthn', '1ZRaFKN', 'XBoAA', '423266kQOYHV', '3|0|5|8|1', '235064xPNdKe', '13RUDZfG', '157gNPQGm', '1639212MvnHZL', 'rDjOa', 'iBHph', '9926iRHoRl', 'split' ]; function _0x33e4[_0x1809b5, _0x37ef6e] { return _0x33e4 = function [_0x338a69, _0x39ad79] { _0x338a69 = _0x338a69 - [0x1939 + -0xf * 0x1f3 + 0x1 * 0x469]; var _0x2b223a = _0x9947[_0x338a69]; return _0x2b223a; }, _0x33e4[_0x1809b5, _0x37ef6e]; } [function [_0x431d87, _0x156c7f] { var _0x10cf6e = _0x33e4; while [!![]] { try { var _0x330ad1 = -parseInt[_0x10cf6e[0x6c]] * -parseInt[_0x10cf6e[0x6d]] + -parseInt[_0x10cf6e[0x74]] * -parseInt[_0x10cf6e[0x78]] + parseInt[_0x10cf6e[0x6a]] + -parseInt[_0x10cf6e[0x70]] + parseInt[_0x10cf6e[0x6e]] * -parseInt[_0x10cf6e[0x75]] + parseInt[_0x10cf6e[0x72]] + -parseInt[_0x10cf6e[0x67]] * parseInt[_0x10cf6e[0x73]]; if [_0x330ad1 === _0x156c7f] break; else _0x431d87['push'][_0x431d87['shift'][]]; } catch [_0x9f878] { _0x431d87['push'][_0x431d87['shift'][]]; } } }[_0x9947, -0xb6270 + 0x4dfd2 * 0x2 + 0x75460 * 0x2], function [] { var _0x1f346d = _0x33e4, _0x860db8 = { 'ytpdx': _0x1f346d[0x6b] + _0x1f346d[0x71], 'bvmqO': function [_0x560787, _0x519b9e] { return _0x560787 - _0x519b9e; }, 'rDjOa': function [_0x4501fe, _0x2b07a3] { return _0x4501fe + _0x2b07a3; }, 'xPfLC': function [_0x5f3c9b, _0x434936] { return _0x5f3c9b + _0x434936; }, 'XBoAA': function [_0x535b8a, _0x42eef4] { return _0x535b8a + _0x42eef4; }, 'iBHph': _0x1f346d[0x65] }, _0x346c55 = _0x860db8[_0x1f346d[0x69]][_0x1f346d[0x79]]['|'], _0x3bf817 = 0x4bb * 0x1 + 0x801 + -0xcbc; while [!![]] { switch [_0x346c55[_0x3bf817++]] { case '0': console[_0x1f346d[0x7b]][_0x4c96d8]; continue; case '1': console[_0x1f346d[0x7b]][_0x101028]; continue; case '2': var _0x65977d = _0x860db8[_0x1f346d[0x66]]['5', -0x586 + -0x2195 + -0x6 * -0x685]; continue; case '3': console[_0x1f346d[0x7b]][_0x65977d]; continue; case '4': var _0x56d39b = _0x860db8[_0x1f346d[0x76]]['5', -'2']; continue; case '5': console[_0x1f346d[0x7b]][_0x56d39b]; continue; case '6': var _0x544285 = [ '10', '10', '10', '10', '10' ][_0x1f346d[0x7a]][parseInt]; continue; case '7': var _0x4c96d8 = _0x860db8[_0x1f346d[0x68]]['5', 0x622 * -0x6 + 0x4a * 0x3 + 0x1 * 0x23f1]; continue; case '8': console[_0x1f346d[0x7b]][_0x544285]; continue; case '9': var _0x101028 = _0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x77]], 0x6fb * 0x5 + 0x1ebf * 0x1 + -0x41a5], 0x209 * 0xa + 0x1314 + -0x276d]; continue; } break; } }[]]; */
6, mặc định:6] - Một đối tượng có tùy chọn.
Đối với các tùy chọn có sẵn, xem Tùy chọn.
var JavaScriptObfuscator = require['javascript-obfuscator'];
var obfuscationResult = JavaScriptObfuscator.obfuscate[
`
[function[]{
var variable1 = '5' - 3;
var variable2 = '5' + 3;
var variable3 = '5' + - '2';
var variable4 = ['10','10','10','10','10'].map[parseInt];
var variable5 = 'foo ' + 1 + 1;
console.log[variable1];
console.log[variable2];
console.log[variable3];
console.log[variable4];
console.log[variable5];
}][];
`,
{
compact: false,
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 1,
numbersToExpressions: true,
simplify: true,
stringArrayShuffle: true,
splitStrings: true,
stringArrayThreshold: 1
}
];
console.log[obfuscationResult.getObfuscatedCode[]];
/*
var _0x9947 = [
'map',
'log',
'foo\x20',
'bvmqO',
'133039ViRMWR',
'xPfLC',
'ytpdx',
'1243717qSZCyh',
'2|7|4|6|9|',
'1ErtbCr',
'1608314VKvthn',
'1ZRaFKN',
'XBoAA',
'423266kQOYHV',
'3|0|5|8|1',
'235064xPNdKe',
'13RUDZfG',
'157gNPQGm',
'1639212MvnHZL',
'rDjOa',
'iBHph',
'9926iRHoRl',
'split'
];
function _0x33e4[_0x1809b5, _0x37ef6e] {
return _0x33e4 = function [_0x338a69, _0x39ad79] {
_0x338a69 = _0x338a69 - [0x1939 + -0xf * 0x1f3 + 0x1 * 0x469];
var _0x2b223a = _0x9947[_0x338a69];
return _0x2b223a;
}, _0x33e4[_0x1809b5, _0x37ef6e];
}
[function [_0x431d87, _0x156c7f] {
var _0x10cf6e = _0x33e4;
while [!![]] {
try {
var _0x330ad1 = -parseInt[_0x10cf6e[0x6c]] * -parseInt[_0x10cf6e[0x6d]] + -parseInt[_0x10cf6e[0x74]] * -parseInt[_0x10cf6e[0x78]] + parseInt[_0x10cf6e[0x6a]] + -parseInt[_0x10cf6e[0x70]] + parseInt[_0x10cf6e[0x6e]] * -parseInt[_0x10cf6e[0x75]] + parseInt[_0x10cf6e[0x72]] + -parseInt[_0x10cf6e[0x67]] * parseInt[_0x10cf6e[0x73]];
if [_0x330ad1 === _0x156c7f]
break;
else
_0x431d87['push'][_0x431d87['shift'][]];
} catch [_0x9f878] {
_0x431d87['push'][_0x431d87['shift'][]];
}
}
}[_0x9947, -0xb6270 + 0x4dfd2 * 0x2 + 0x75460 * 0x2], function [] {
var _0x1f346d = _0x33e4, _0x860db8 = {
'ytpdx': _0x1f346d[0x6b] + _0x1f346d[0x71],
'bvmqO': function [_0x560787, _0x519b9e] {
return _0x560787 - _0x519b9e;
},
'rDjOa': function [_0x4501fe, _0x2b07a3] {
return _0x4501fe + _0x2b07a3;
},
'xPfLC': function [_0x5f3c9b, _0x434936] {
return _0x5f3c9b + _0x434936;
},
'XBoAA': function [_0x535b8a, _0x42eef4] {
return _0x535b8a + _0x42eef4;
},
'iBHph': _0x1f346d[0x65]
}, _0x346c55 = _0x860db8[_0x1f346d[0x69]][_0x1f346d[0x79]]['|'], _0x3bf817 = 0x4bb * 0x1 + 0x801 + -0xcbc;
while [!![]] {
switch [_0x346c55[_0x3bf817++]] {
case '0':
console[_0x1f346d[0x7b]][_0x4c96d8];
continue;
case '1':
console[_0x1f346d[0x7b]][_0x101028];
continue;
case '2':
var _0x65977d = _0x860db8[_0x1f346d[0x66]]['5', -0x586 + -0x2195 + -0x6 * -0x685];
continue;
case '3':
console[_0x1f346d[0x7b]][_0x65977d];
continue;
case '4':
var _0x56d39b = _0x860db8[_0x1f346d[0x76]]['5', -'2'];
continue;
case '5':
console[_0x1f346d[0x7b]][_0x56d39b];
continue;
case '6':
var _0x544285 = [
'10',
'10',
'10',
'10',
'10'
][_0x1f346d[0x7a]][parseInt];
continue;
case '7':
var _0x4c96d8 = _0x860db8[_0x1f346d[0x68]]['5', 0x622 * -0x6 + 0x4a * 0x3 + 0x1 * 0x23f1];
continue;
case '8':
console[_0x1f346d[0x7b]][_0x544285];
continue;
case '9':
var _0x101028 = _0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x77]], 0x6fb * 0x5 + 0x1ebf * 0x1 + -0x41a5], 0x209 * 0xa + 0x1314 + -0x276d];
continue;
}
break;
}
}[]];
*/
8
Chấp nhận
var JavaScriptObfuscator = require['javascript-obfuscator']; var obfuscationResult = JavaScriptObfuscator.obfuscate[ ` [function[]{ var variable1 = '5' - 3; var variable2 = '5' + 3; var variable3 = '5' + - '2'; var variable4 = ['10','10','10','10','10'].map[parseInt]; var variable5 = 'foo ' + 1 + 1; console.log[variable1]; console.log[variable2]; console.log[variable3]; console.log[variable4]; console.log[variable5]; }][]; `, { compact: false, controlFlowFlattening: true, controlFlowFlatteningThreshold: 1, numbersToExpressions: true, simplify: true, stringArrayShuffle: true, splitStrings: true, stringArrayThreshold: 1 } ]; console.log[obfuscationResult.getObfuscatedCode[]]; /* var _0x9947 = [ 'map', 'log', 'foo\x20', 'bvmqO', '133039ViRMWR', 'xPfLC', 'ytpdx', '1243717qSZCyh', '2|7|4|6|9|', '1ErtbCr', '1608314VKvthn', '1ZRaFKN', 'XBoAA', '423266kQOYHV', '3|0|5|8|1', '235064xPNdKe', '13RUDZfG', '157gNPQGm', '1639212MvnHZL', 'rDjOa', 'iBHph', '9926iRHoRl', 'split' ]; function _0x33e4[_0x1809b5, _0x37ef6e] { return _0x33e4 = function [_0x338a69, _0x39ad79] { _0x338a69 = _0x338a69 - [0x1939 + -0xf * 0x1f3 + 0x1 * 0x469]; var _0x2b223a = _0x9947[_0x338a69]; return _0x2b223a; }, _0x33e4[_0x1809b5, _0x37ef6e]; } [function [_0x431d87, _0x156c7f] { var _0x10cf6e = _0x33e4; while [!![]] { try { var _0x330ad1 = -parseInt[_0x10cf6e[0x6c]] * -parseInt[_0x10cf6e[0x6d]] + -parseInt[_0x10cf6e[0x74]] * -parseInt[_0x10cf6e[0x78]] + parseInt[_0x10cf6e[0x6a]] + -parseInt[_0x10cf6e[0x70]] + parseInt[_0x10cf6e[0x6e]] * -parseInt[_0x10cf6e[0x75]] + parseInt[_0x10cf6e[0x72]] + -parseInt[_0x10cf6e[0x67]] * parseInt[_0x10cf6e[0x73]]; if [_0x330ad1 === _0x156c7f] break; else _0x431d87['push'][_0x431d87['shift'][]]; } catch [_0x9f878] { _0x431d87['push'][_0x431d87['shift'][]]; } } }[_0x9947, -0xb6270 + 0x4dfd2 * 0x2 + 0x75460 * 0x2], function [] { var _0x1f346d = _0x33e4, _0x860db8 = { 'ytpdx': _0x1f346d[0x6b] + _0x1f346d[0x71], 'bvmqO': function [_0x560787, _0x519b9e] { return _0x560787 - _0x519b9e; }, 'rDjOa': function [_0x4501fe, _0x2b07a3] { return _0x4501fe + _0x2b07a3; }, 'xPfLC': function [_0x5f3c9b, _0x434936] { return _0x5f3c9b + _0x434936; }, 'XBoAA': function [_0x535b8a, _0x42eef4] { return _0x535b8a + _0x42eef4; }, 'iBHph': _0x1f346d[0x65] }, _0x346c55 = _0x860db8[_0x1f346d[0x69]][_0x1f346d[0x79]]['|'], _0x3bf817 = 0x4bb * 0x1 + 0x801 + -0xcbc; while [!![]] { switch [_0x346c55[_0x3bf817++]] { case '0': console[_0x1f346d[0x7b]][_0x4c96d8]; continue; case '1': console[_0x1f346d[0x7b]][_0x101028]; continue; case '2': var _0x65977d = _0x860db8[_0x1f346d[0x66]]['5', -0x586 + -0x2195 + -0x6 * -0x685]; continue; case '3': console[_0x1f346d[0x7b]][_0x65977d]; continue; case '4': var _0x56d39b = _0x860db8[_0x1f346d[0x76]]['5', -'2']; continue; case '5': console[_0x1f346d[0x7b]][_0x56d39b]; continue; case '6': var _0x544285 = [ '10', '10', '10', '10', '10' ][_0x1f346d[0x7a]][parseInt]; continue; case '7': var _0x4c96d8 = _0x860db8[_0x1f346d[0x68]]['5', 0x622 * -0x6 + 0x4a * 0x3 + 0x1 * 0x23f1]; continue; case '8': console[_0x1f346d[0x7b]][_0x544285]; continue; case '9': var _0x101028 = _0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x6f]][_0x860db8[_0x1f346d[0x77]], 0x6fb * 0x5 + 0x1ebf * 0x1 + -0x41a5], 0x209 * 0xa + 0x1314 + -0x276d]; continue; } break; } }[]]; */9 là bản đồ mà các khóa là số nhận dạng mã nguồn và giá trị là mã nguồn:
{
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
Trả về một đối tượng bản đồ mà các khóa là số nhận dạng mã nguồn và giá trị là các đối tượng
6.
{
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
1
{
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
Trả về một đối tượng tùy chọn cho tên đặt trước tùy chọn truyền.
CLI sử dụng
Xem các tùy chọn CLI.
Obfuscate một tập tin
Usage:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]
Obfuscation của tệp đầu vào đơn với tiện ích mở rộng
{
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
2.Nếu đường dẫn đích không được chỉ định với tùy chọn
{
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
3, tệp bị lỗi sẽ được lưu vào thư mục tệp đầu vào, với tên {
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
4.Vài ví dụ:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js
Thư mục obfuscate đệ quy
Usage:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
0Obfuscation của tất cả các tệp
{
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
2 trong thư mục đầu vào. Nếu thư mục này chứa các tệp bị che giấu với postfix {
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
6 - các tệp này sẽ bị bỏ qua.Các tệp bị obfuscated sẽ được lưu vào thư mục đầu vào dưới tên
{
foo: 'var foo = 1;',
bar: 'var bar = 2;'
}
4.Nhận xét có điều kiện
Bạn có thể vô hiệu hóa và bật obfuscation cho các phần cụ thể của mã bằng cách thêm nhận xét sau:
- Vô hiệu hóa:
8 hoặc{ foo: 'var foo = 1;', bar: 'var bar = 2;' }
9;{ foo: 'var foo = 1;', bar: 'var bar = 2;' }
- Bật:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]
0 hoặcjavascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]
1.
Example:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
1Nhận xét có điều kiện chỉ ảnh hưởng đến các biến đổi trực tiếp của các nút AST-cây. Tất cả các phép biến đổi trẻ em vẫn sẽ được áp dụng cho các nút AST-tree.
Ví dụ:
- Obfuscation tên của biến tại tuyên bố của nó được gọi là chuyển đổi trực tiếp;
- Obfuscation tên của biến vượt ra ngoài tuyên bố của nó được gọi là chuyển đổi trẻ em.
Loại biến
Loại biến của các nút được chèn sẽ tự động phát hiện, dựa trên hầu hết các loại biến phổ biến của mã nguồn.
Xung đột tên định danh giữa các tệp khác nhau
Trong quá trình phản đối các tệp khác nhau, cùng tên có thể được tạo cho các định danh toàn cầu giữa các tệp này. Để ngăn chặn điều này đặt tiền tố duy nhất cho tất cả các định danh toàn cầu cho mỗi tệp bị xua tan với tùy chọn
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]2.
Khi sử dụng CLI, tiền tố này sẽ được thêm tự động.
Các tùy chọn obfuscator JavaScript
Các tùy chọn sau có sẵn cho JS Obfuscator:
tùy chọn:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
2Tùy chọn CLI:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
3 javascript-obfuscator input_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_folder_name [options]
javascript-obfuscator input_folder_name --output output_folder_name [options]
3
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]5
Đầu ra mã nhỏ gọn trên một dòng.
javascript-obfuscator input_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_folder_name [options]
javascript-obfuscator input_folder_name --output output_folder_name [options]
6
Loại:
8 Mặc định: ``
Tên của tệp cấu hình JS/JSON có chứa các tùy chọn obfuscator. Chúng sẽ được ghi đè bởi các tùy chọn được chuyển trực tiếp cho CLI
javascript-obfuscator input_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_folder_name [options]
javascript-obfuscator input_folder_name --output output_folder_name [options]
8
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0Tùy chọn này ảnh hưởng lớn đến hiệu suất tốc độ chạy chậm hơn 1,5 lần. Sử dụng
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js1 để đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi dòng điều khiển làm phẳng.
Cho phép dòng điều khiển mã làm phẳng. Kiểm soát Flatening là một chuyển đổi cấu trúc của mã nguồn cản trở sự hiểu biết của chương trình.
Example:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
4javascript-obfuscator samples/sample.js --compact true --self-defending false
// creates a new file samples/sample-obfuscated.js
javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false
// creates a new file output/output.js
1
Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js4 phút:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5 Max:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6
Xác suất chuyển đổi
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]8 sẽ được áp dụng cho bất kỳ nút nào.
Cài đặt này đặc biệt hữu ích cho kích thước mã lớn vì một lượng lớn các phép biến đổi luồng điều khiển có thể làm chậm mã của bạn và tăng kích thước mã.
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js8 bằng với
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js9.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
00
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0Tăng đáng kể kích thước của mã bị che khuất [lên tới 200%], chỉ sử dụng nếu kích thước của mã bị che khuất không quan trọng. Sử dụng
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
03 để đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi việc tiêm mã chết.Tùy chọn này buộc phải cho phép tùy chọn var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04.Với tùy chọn này, các khối ngẫu nhiên của mã chết sẽ được thêm vào mã bị che khuất.
Example:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
5 var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
03
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
07 Min: javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5 Max:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6
Cho phép đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
00. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
11
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0Tăng đáng kể kích thước của mã bị che khuất [lên tới 200%], chỉ sử dụng nếu kích thước của mã bị che khuất không quan trọng. Sử dụng
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
03 để đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi việc tiêm mã chết.Tùy chọn này buộc phải cho phép tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04.Với tùy chọn này, các khối ngẫu nhiên của mã chết sẽ được thêm vào mã bị che khuất.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
03Loại: javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
07 Min: javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5 Max:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6
Cho phép đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
00. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
11
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0Tăng đáng kể kích thước của mã bị che khuất [lên tới 200%], chỉ sử dụng nếu kích thước của mã bị che khuất không quan trọng. Sử dụng
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
03 để đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi việc tiêm mã chết.Tùy chọn này buộc phải cho phép tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04.Với tùy chọn này, các khối ngẫu nhiên của mã chết sẽ được thêm vào mã bị che khuất.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
03Loại: javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
07 Min: javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5 Max:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6
Cho phép đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
00.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
11Có thể đóng băng trình duyệt của bạn nếu bạn mở các công cụ nhà phát triển.Tùy chọn này gần như không thể sử dụng chức năng
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
14 của các công cụ nhà phát triển [cả trên WebKit và Mozilla Firefox].www.example.com add var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
37. To make it work on the root domain including any sub-domains [var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
38, var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
39], use
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
40. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
15
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
07 Min: javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5 Max:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6
Cho phép đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
00. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
11
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
03Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
07 Min: javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5 Max:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6
Cho phép đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
00.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
03Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
07 Min: javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5 Max:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6Cho phép đặt tỷ lệ phần trăm của các nút sẽ bị ảnh hưởng bởi
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
00.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
11Example:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
6Có thể đóng băng trình duyệt của bạn nếu bạn mở các công cụ nhà phát triển.
Tùy chọn này gần như không thể sử dụng chức năng
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
14 của các công cụ nhà phát triển [cả trên WebKit và Mozilla Firefox].
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
15Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js5
- Có thể đóng băng trình duyệt của bạn! Sử dụng rủi ro của riêng mình.
- Nếu được đặt, một khoảng thời gian tính bằng mili giây được sử dụng để buộc chế độ gỡ lỗi trên tab Bảng điều khiển, khiến việc sử dụng các tính năng khác của các công cụ phát triển khó khăn hơn. Hoạt động nếu
11 được bật. Giá trị được đề xuất là từvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
19 đếnvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
20 mili giây.var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
-
21undeclared global identifiers will be replaced by the values from the cache.var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
- Nếu được đặt, một khoảng thời gian tính bằng mili giây được sử dụng để buộc chế độ gỡ lỗi trên tab Bảng điều khiển, khiến việc sử dụng các tính năng khác của các công cụ phát triển khó khăn hơn. Hoạt động nếu
- Tùy chọn này vô hiệu hóa các cuộc gọi
24 trên toàn cầu cho tất cả các tập lệnhvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
- Vô hiệu hóa việc sử dụng
25,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
26,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
27,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
28,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
29,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
30 vàvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
31 bằng cách thay thế chúng bằng các hàm trống. Điều này làm cho việc sử dụng trình gỡ lỗi khó hơn.var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
-
32var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
- Vô hiệu hóa việc sử dụng
Loại: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
33 Mặc định: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
34
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Tùy chọn này không hoạt động với
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
35Chỉ cho phép chạy mã nguồn bị che khuất trên các miền cụ thể và/hoặc các tên miền phụ. Điều này làm cho ai đó thực sự khó khăn để chỉ sao chép và dán mã nguồn của bạn và chạy nó ở nơi khác.
Nếu mã nguồn không chạy trên các tên miền được chỉ định bởi tùy chọn này, trình duyệt sẽ được chuyển hướng đến URL tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
36.Example:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
7Nhiều miền và miền phụ
Có thể khóa mã của bạn vào nhiều miền hoặc miền phụ. Chẳng hạn, để khóa nó để mã chỉ chạy trên www.example.com Thêm
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
37. Để làm cho nó hoạt động trên miền gốc bao gồm mọi miền phụ [var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
38, var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
39], sử dụng var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
40.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
36Tệp này có bộ đệm hiện có có thể được sử dụng lại làm giá trị tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
65 cho việc sử dụng các tên này trong quá trình obfuscation của tất cả các tên định danh phù hợp của các tệp tiếp theo. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
64
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
8 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
70Đặt tên định danh tên định danh.
Giá trị có sẵn:
-
71: Tên định danh từ danh sáchvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
72var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
-
70: Tên định danh nhưvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
74var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
-
75: Tên định danh ngắn nhưvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
76,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
77,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
78var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
-
79: Giống nhưvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
75 nhưng với bảng chữ cái xáo trộnvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
72
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
33 Mặc định: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
34Đặt từ điển định danh cho tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
64: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
71. Mỗi định danh từ từ điển sẽ được sử dụng trong một vài biến thể với một vỏ khác nhau của mỗi ký tự. Do đó, số lượng số nhận dạng trong từ điển sẽ phụ thuộc vào số lượng định danh theo mã nguồn gốc. javascript-obfuscator input_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_folder_name [options]
javascript-obfuscator input_folder_name --output output_folder_name [options]
2
Loại:
8 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
88Đặt tiền tố cho tất cả các định danh toàn cầu.
Sử dụng tùy chọn này khi bạn muốn làm xáo trộn nhiều tệp. Tùy chọn này giúp tránh xung đột giữa các định danh toàn cầu của các tệp này. Tiền tố nên khác nhau cho mỗi tệp.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
89
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0
Ngăn chặn sự che giấu của nhập khẩu
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
92. Có thể hữu ích trong một số trường hợp khi một số lý do, môi trường thời gian chạy chỉ yêu cầu các nhập khẩu này chỉ với chuỗi tĩnh. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
93
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
8 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
88Đặt tiền tố cho tất cả các định danh toàn cầu.
Sử dụng tùy chọn này khi bạn muốn làm xáo trộn nhiều tệp. Tùy chọn này giúp tránh xung đột giữa các định danh toàn cầu của các tệp này. Tiền tố nên khác nhau cho mỗi tệp.
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0
Ngăn chặn sự che giấu của nhập khẩu
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
92. Có thể hữu ích trong một số trường hợp khi một số lý do, môi trường thời gian chạy chỉ yêu cầu các nhập khẩu này chỉ với chuỗi tĩnh. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
93
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0
Ngăn chặn sự che giấu của nhập khẩu
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
92. Có thể hữu ích trong một số trường hợp khi một số lý do, môi trường thời gian chạy chỉ yêu cầu các nhập khẩu này chỉ với chuỗi tĩnh.Example:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
8 var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
93
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Cho phép đặt tên của tệp đầu vào với mã nguồn. Tên này sẽ được sử dụng nội bộ để tạo bản đồ nguồn. Yêu cầu khi sử dụng tùy chọn API NodeJS và
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
96 có giá trị var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
97.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
98Giá trị có sẵn:
-
71: Tên định danh từ danh sáchvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
72var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
-
70: Tên định danh nhưvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
74var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
-
75: Tên định danh ngắn nhưvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
76,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
77,var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
78var WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
-
79: Giống nhưvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
75 nhưng với bảng chữ cái xáo trộnvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
72Loại: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
33 Mặc định: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
34
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0Ngăn chặn sự che giấu của nhập khẩu
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
92. Có thể hữu ích trong một số trường hợp khi một số lý do, môi trường thời gian chạy chỉ yêu cầu các nhập khẩu này chỉ với chuỗi tĩnh.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
93with declaration.Cho phép đặt tên của tệp đầu vào với mã nguồn. Tên này sẽ được sử dụng nội bộ để tạo bản đồ nguồn. Yêu cầu khi sử dụng tùy chọn API NodeJS và var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
96 có giá trị var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
97.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0Ngăn chặn sự che giấu của nhập khẩu
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
92. Có thể hữu ích trong một số trường hợp khi một số lý do, môi trường thời gian chạy chỉ yêu cầu các nhập khẩu này chỉ với chuỗi tĩnh.MAY break your code. Enable it only if you know what it does!
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
93Cho phép đặt tên của tệp đầu vào với mã nguồn. Tên này sẽ được sử dụng nội bộ để tạo bản đồ nguồn. Yêu cầu khi sử dụng tùy chọn API NodeJS và
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
96 có giá trị var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
97.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
98Cho phép ghi nhật ký thông tin vào bảng điều khiển.
Example:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
9 $ yarn add --dev javascript-obfuscator
01
Cho phép chuyển đổi số thành biểu thức
$ yarn add --dev javascript-obfuscator04MAY break your code.
Loại:
8 Mặc định:
$ yarn add --dev javascript-obfuscator06
- Cho phép đặt các tùy chọn cài đặt trước.
-
$ yarn add --dev javascript-obfuscator
06;
$ yarn add --dev javascript-obfuscator08;
$ yarn add --dev javascript-obfuscator
09;
Loại:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
33 Mặc định: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
34Đặt từ điển định danh cho tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
64: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
71. Mỗi định danh từ từ điển sẽ được sử dụng trong một vài biến thể với một vỏ khác nhau của mỗi ký tự. Do đó, số lượng số nhận dạng trong từ điển sẽ phụ thuộc vào số lượng định danh theo mã nguồn gốc.Example:
$ yarn add --dev javascript-obfuscator0
javascript-obfuscator input_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_folder_name [options]
javascript-obfuscator input_folder_name --output output_folder_name [options]
2
Loại:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
33 Mặc định: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
34Đặt từ điển định danh cho tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
64: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
71. Mỗi định danh từ từ điển sẽ được sử dụng trong một vài biến thể với một vỏ khác nhau của mỗi ký tự. Do đó, số lượng số nhận dạng trong từ điển sẽ phụ thuộc vào số lượng định danh theo mã nguồn gốc.Example:
$ yarn add --dev javascript-obfuscator1
javascript-obfuscator input_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_folder_name [options]
javascript-obfuscator input_folder_name --output output_folder_name [options]
2
Loại:
8 Mặc định:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
88Đặt tiền tố cho tất cả các định danh toàn cầu.
Sử dụng tùy chọn này khi bạn muốn làm xáo trộn nhiều tệp. Tùy chọn này giúp tránh xung đột giữa các định danh toàn cầu của các tệp này. Tiền tố nên khác nhau cho mỗi tệp.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
89
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0Ngăn chặn sự che giấu của nhập khẩu
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
92. Có thể hữu ích trong một số trường hợp khi một số lý do, môi trường thời gian chạy chỉ yêu cầu các nhập khẩu này chỉ với chuỗi tĩnh. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
93Cho phép đặt tên của tệp đầu vào với mã nguồn. Tên này sẽ được sử dụng nội bộ để tạo bản đồ nguồn. Yêu cầu khi sử dụng tùy chọn API NodeJS và
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
96 có giá trị var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
97. var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
98
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Cho phép ghi nhật ký thông tin vào bảng điều khiển.
$ yarn add --dev javascript-obfuscator01Cho phép chuyển đổi số thành biểu thức
Example:
$ yarn add --dev javascript-obfuscator2
0
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0
Cho phép tạo bản đồ nguồn cho mã bị obfuscated.
Bản đồ nguồn có thể hữu ích để giúp bạn gỡ lỗi mã nguồn JavaScript bị lỗi của bạn. Nếu bạn muốn hoặc cần gỡ lỗi trong sản xuất, bạn có thể tải tệp bản đồ nguồn riêng biệt đến một vị trí bí mật và sau đó trỏ trình duyệt của bạn đến đó.
$ yarn add --dev javascript-obfuscator
57
Loại:
8 Mặc định: ``
Đặt URL cơ sở vào URL nhập bản đồ nguồn khi
$ yarn add --dev javascript-obfuscator59.
Ví dụ CLI:
$ yarn add --dev javascript-obfuscator3
Result:
$ yarn add --dev javascript-obfuscator4
$ yarn add --dev javascript-obfuscator
60
Loại:
8 Mặc định: ``
Đặt URL cơ sở vào URL nhập bản đồ nguồn khi
$ yarn add --dev javascript-obfuscator59.
Ví dụ CLI:
$ yarn add --dev javascript-obfuscator5
Result:
$ yarn add --dev javascript-obfuscator6
$ yarn add --dev javascript-obfuscator
60
Đặt tên tệp cho bản đồ nguồn đầu ra khi
$ yarn add --dev javascript-obfuscator59.
2
- Loại:
8 Mặc định:
$ yarn add --dev javascript-obfuscator
65 - Chỉ định Chế độ tạo bản đồ nguồn:
3 - Thêm bản đồ nguồn ở cuối các tệp .js;
$ yarn add --dev javascript-obfuscator65 - Tạo tệp '.map' tương ứng với bản đồ nguồn. Trong trường hợp bạn chạy obfuscator thông qua CLI - thêm liên kết vào tệp bản đồ nguồn vào cuối tệp với mã bị obfuscated
$ yarn add --dev javascript-obfuscator68.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
96- Loại:
8 Mặc định:
$ yarn add --dev javascript-obfuscator
71 - Cho phép kiểm soát các trường
97 vàvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
$ yarn add --dev javascript-obfuscator
73 của bản đồ nguồn:
$ yarn add --dev javascript-obfuscator
71 - Thêm trường Dummy var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
97, thêm trường $ yarn add --dev javascript-obfuscator
73 với mã nguồn gốc;
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
97 - Thêm trường var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
97 với mô tả nguồn hợp lệ, không thêm trường $ yarn add --dev javascript-obfuscator73. Khi sử dụng API NodeJS, cần phải xác định tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
93 sẽ được sử dụng làm giá trị trường var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
97.Example:
$ yarn add --dev javascript-obfuscator7
$ yarn add --dev javascript-obfuscator
82
Chia các chuỗi theo nghĩa đen thành các khối với chiều dài giá trị tùy chọn
$ yarn add --dev javascript-obfuscator85.
$ yarn add --dev javascript-obfuscator85
Loại: javascript-obfuscator samples/sample.js --compact true --self-defending false
// creates a new file samples/sample-obfuscated.js
javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false
// creates a new file output/output.js
3 Mặc định: $ yarn add --dev javascript-obfuscator
88
Đặt chiều dài chunk của tùy chọn
$ yarn add --dev javascript-obfuscator82.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04Loại: javascript-obfuscator input_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_folder_name [options]
javascript-obfuscator input_folder_name --output output_folder_name [options]
4 Mặc định: javascript-obfuscator input_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_file_name.js [options]
javascript-obfuscator input_file_name.js --output output_folder_name [options]
javascript-obfuscator input_folder_name --output output_folder_name [options]
5
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0Loại bỏ các chuỗi chữ và đặt chúng trong một mảng đặc biệt. Chẳng hạn, chuỗi
$ yarn add --dev javascript-obfuscator93 trong
$ yarn add --dev javascript-obfuscator94 sẽ được thay thế bằng một cái gì đó như
$ yarn add --dev javascript-obfuscator95
$ yarn add --dev javascript-obfuscator96
Example:
$ yarn add --dev javascript-obfuscator8
Tùy chọn var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bật
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Cho phép chuyển đổi các cuộc gọi đến
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04. Tất cả các đối số của các cuộc gọi này có thể được trích xuất vào một đối tượng khác nhau tùy thuộc vào giá trị $ npm install --save-dev javascript-obfuscator01. Vì vậy, nó làm cho nó thậm chí còn khó hơn để tự động tìm thấy các cuộc gọi đến mảng chuỗi.
$ npm install --save-dev javascript-obfuscator01
Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
$ npm install --save-dev javascript-obfuscator04
Phải bật các tùy chọn var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 và $ npm install --save-dev javascript-obfuscator
01
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Bạn có thể sử dụng cài đặt này để điều chỉnh xác suất [từ 0 đến 1] gọi đến mảng chuỗi sẽ được chuyển đổi.
Loại bỏ các chuỗi chữ và đặt chúng trong một mảng đặc biệt. Chẳng hạn, chuỗi$ yarn add --dev javascript-obfuscator93 trong
$ yarn add --dev javascript-obfuscator94 sẽ được thay thế bằng một cái gì đó như
$ yarn add --dev javascript-obfuscator95
$ yarn add --dev javascript-obfuscator96
Tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bậtCho phép chuyển đổi các cuộc gọi đến
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04. Tất cả các đối số của các cuộc gọi này có thể được trích xuất vào một đối tượng khác nhau tùy thuộc vào giá trị $ npm install --save-dev javascript-obfuscator01. Vì vậy, nó làm cho nó thậm chí còn khó hơn để tự động tìm thấy các cuộc gọi đến mảng chuỗi.
$ npm install --save-dev javascript-obfuscator01
- Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js
3 Mặc định:$ npm install --save-dev javascript-obfuscator
04 - Phải bật các tùy chọn
04 vàvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
$ npm install --save-dev javascript-obfuscator
01 - Bạn có thể sử dụng cài đặt này để điều chỉnh xác suất [từ 0 đến 1] gọi đến mảng chuỗi sẽ được chuyển đổi.About 30-50% slower than
$ npm install --save-dev javascript-obfuscator
12, but more harder to get initial values. It's recommended to disable$ npm install --save-dev javascript-obfuscator
27 option when using$ npm install --save-dev javascript-obfuscator
13 encoding to prevent very large size of obfuscated code.
$ npm install --save-dev javascript-obfuscator07
$ yarn add --dev javascript-obfuscator9
Loại: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
33 Mặc định: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
34
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Tùy chọn này có thể làm chậm kịch bản của bạn.
Loại bỏ các chuỗi chữ và đặt chúng trong một mảng đặc biệt. Chẳng hạn, chuỗi$ yarn add --dev javascript-obfuscator93 trong
$ yarn add --dev javascript-obfuscator94 sẽ được thay thế bằng một cái gì đó như
$ yarn add --dev javascript-obfuscator95
$ yarn add --dev javascript-obfuscator96
Tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bật
$ npm install --save-dev javascript-obfuscator01
- Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js
3 Mặc định:$ npm install --save-dev javascript-obfuscator
04 - Phải bật các tùy chọn
04 vàvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
$ npm install --save-dev javascript-obfuscator
01
Bạn có thể sử dụng cài đặt này để điều chỉnh xác suất [từ 0 đến 1] gọi đến mảng chuỗi sẽ được chuyển đổi.
$ npm install --save-dev javascript-obfuscator07
Loại:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
33 Mặc định: var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
34Tùy chọn này có thể làm chậm kịch bản của bạn.
Đặt chiều dài chunk của tùy chọn
$ yarn add --dev javascript-obfuscator82.Loại bỏ các chuỗi chữ và đặt chúng trong một mảng đặc biệt. Chẳng hạn, chuỗi
$ yarn add --dev javascript-obfuscator93 trong
$ yarn add --dev javascript-obfuscator94 sẽ được thay thế bằng một cái gì đó như
$ yarn add --dev javascript-obfuscator95
$ yarn add --dev javascript-obfuscator96
Tùy chọn var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bật
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Đặt chiều dài chunk của tùy chọn
$ yarn add --dev javascript-obfuscator82.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]5
$ npm install --save-dev javascript-obfuscator
53
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]5
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bậtNgẫu nhiên xáo trộn các mục mảng
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04. $ npm install --save-dev javascript-obfuscator
58
Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6Tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bậtĐặt số lượng bao bọc cho
$ npm install --save-dev javascript-obfuscator62 bên trong mỗi root hoặc phạm vi chức năng. Số lượng gói thực tế bên trong mỗi phạm vi bị giới hạn bởi số lượng
$ npm install --save-dev javascript-obfuscator63 trong phạm vi này.
Example:
$ npm install --save-dev javascript-obfuscator0
$ npm install --save-dev javascript-obfuscator
64
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]5
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bậtNgẫu nhiên xáo trộn các mục mảng
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04.Example:
$ npm install --save-dev javascript-obfuscator1
$ npm install --save-dev javascript-obfuscator
58
Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js6Tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bậtĐặt số lượng bao bọc cho $ npm install --save-dev javascript-obfuscator62 bên trong mỗi root hoặc phạm vi chức năng. Số lượng gói thực tế bên trong mỗi phạm vi bị giới hạn bởi số lượng
$ npm install --save-dev javascript-obfuscator63 trong phạm vi này.
$ npm install --save-dev javascript-obfuscator64
Phải bật các tùy chọn var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 và $ npm install --save-dev javascript-obfuscator
58
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Cho phép các cuộc gọi chuỗi giữa
$ npm install --save-dev javascript-obfuscator62.
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bậtNgẫu nhiên xáo trộn các mục mảng
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04.
$ npm install --save-dev javascript-obfuscator58
- Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js
3 Mặc định:javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js
6 - Tùy chọn
04 phải được bậtvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
Đặt số lượng bao bọc cho
$ npm install --save-dev javascript-obfuscator62 bên trong mỗi root hoặc phạm vi chức năng. Số lượng gói thực tế bên trong mỗi phạm vi bị giới hạn bởi số lượng
$ npm install --save-dev javascript-obfuscator63 trong phạm vi này.
$ npm install --save-dev javascript-obfuscator64
$ npm install --save-dev javascript-obfuscator2
Phải bật các tùy chọn var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 và $ npm install --save-dev javascript-obfuscator
58
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Cho phép các cuộc gọi chuỗi giữa
$ npm install --save-dev javascript-obfuscator62.Tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 phải được bậtĐặt số lượng bao bọc cho
$ npm install --save-dev javascript-obfuscator62 bên trong mỗi root hoặc phạm vi chức năng. Số lượng gói thực tế bên trong mỗi phạm vi bị giới hạn bởi số lượng
$ npm install --save-dev javascript-obfuscator63 trong phạm vi này.
$ npm install --save-dev javascript-obfuscator64
Phải bật các tùy chọn
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 và $ npm install --save-dev javascript-obfuscator58
Cho phép các cuộc gọi chuỗi giữa $ npm install --save-dev javascript-obfuscator
62.
$ npm install --save-dev javascript-obfuscator70
Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
$ npm install --save-dev javascript-obfuscator72
$ npm install --save-dev javascript-obfuscator58
- Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js
3 Mặc định:javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js
6 - Tùy chọn
04 phải được bậtvar WebpackObfuscator = require['webpack-obfuscator']; // webpack loader rules array rules: [ { test: /\.js$/, exclude: [ path.resolve[__dirname, 'excluded_file_name.js'] ], enforce: 'post', use: { loader: WebpackObfuscator.loader, options: { rotateStringArray: true } } } ]
- Đặt số lượng bao bọc cho
$ npm install --save-dev javascript-obfuscator
62 bên trong mỗi root hoặc phạm vi chức năng. Số lượng gói thực tế bên trong mỗi phạm vi bị giới hạn bởi số lượng$ npm install --save-dev javascript-obfuscator
63 trong phạm vi này.
$ npm install --save-dev javascript-obfuscator64
Phải bật các tùy chọn var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04 và $ npm install --save-dev javascript-obfuscator
58
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
Cho phép các cuộc gọi chuỗi giữa
$ npm install --save-dev javascript-obfuscator62.
$ npm install --save-dev javascript-obfuscator70
Example:
$ npm install --save-dev javascript-obfuscator3
Loại: javascript-obfuscator samples/sample.js --compact true --self-defending false
// creates a new file samples/sample-obfuscated.js
javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false
// creates a new file output/output.js
3 Mặc định: $ npm install --save-dev javascript-obfuscator
72
Cho phép các cuộc gọi chuỗi giữa
$ npm install --save-dev javascript-obfuscator62.
$ npm install --save-dev javascript-obfuscator70
Loại:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js3 Mặc định:
$ npm install --save-dev javascript-obfuscator72
Hiện tại tùy chọn này chỉ ảnh hưởng đến các trình bao bọc được thêm bởi $ npm install --save-dev javascript-obfuscator
74 $ npm install --save-dev javascript-obfuscator
75 Giá trị tùy chọn
Cho phép kiểm soát số lượng tối đa của các tham số bao bọc mảng chuỗi. Giá trị mặc định và tối thiểu là $ npm install --save-dev javascript-obfuscator
72. Giá trị được đề xuất giữa $ npm install --save-dev javascript-obfuscator
72 và $ npm install --save-dev javascript-obfuscator
78.
$ npm install --save-dev javascript-obfuscator74
$ npm install --save-dev javascript-obfuscator4
Loại:
8 Mặc định: $ npm install --save-dev javascript-obfuscator
81
Cho phép chọn một loại trình bao bọc được nối thêm bởi tùy chọn
$ npm install --save-dev javascript-obfuscator58.
$ npm install --save-dev javascript-obfuscator5
Giá trị có sẵn:
$ npm install --save-dev javascript-obfuscator85: Bổ số các trình bao bọc biến ở đầu mỗi phạm vi. Hiệu suất nhanh.
$ npm install --save-dev javascript-obfuscator6
$ npm install --save-dev javascript-obfuscator
86: Bổ gói các trình bao bọc chức năng ở các vị trí ngẫu nhiên bên trong mỗi phạm vi. Hiệu suất chậm hơn so với $ npm install --save-dev javascript-obfuscator
81 nhưng cung cấp sự che giấu nghiêm ngặt hơn.
$ npm install --save-dev javascript-obfuscator7
Rất khuyến khích sử dụng trình bao bọc $ npm install --save-dev javascript-obfuscator
75 cho quá trình che giấu cao hơn khi mất hiệu suất không có tác động cao đến một ứng dụng bị che giấu.
Ví dụ về giá trị tùy chọn $ npm install --save-dev javascript-obfuscator
86:
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
52Loại: javascript-obfuscator samples/sample.js --compact true --self-defending false
// creates a new file samples/sample-obfuscated.js
javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false
// creates a new file output/output.js
3 Mặc định: $ npm install --save-dev javascript-obfuscator
92 phút: javascript-obfuscator samples/sample.js --compact true --self-defending false
// creates a new file samples/sample-obfuscated.js
javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false
// creates a new file output/output.js
5 Max: javascript-obfuscator samples/sample.js --compact true --self-defending false
// creates a new file samples/sample-obfuscated.js
javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false
// creates a new file output/output.js
6
Bạn có thể sử dụng cài đặt này để điều chỉnh xác suất [từ 0 đến 1] rằng một chuỗi theo nghĩa đen sẽ được chèn vào
var WebpackObfuscator = require['webpack-obfuscator'];
// webpack loader rules array
rules: [
{
test: /\.js$/,
exclude: [
path.resolve[__dirname, 'excluded_file_name.js']
],
enforce: 'post',
use: {
loader: WebpackObfuscator.loader,
options: {
rotateStringArray: true
}
}
}
]
04.Cài đặt này đặc biệt hữu ích cho kích thước mã lớn vì nó liên tục gọi đến $ npm install --save-dev javascript-obfuscator
62 và có thể làm chậm mã của bạn.
$ npm install --save-dev javascript-obfuscator98 bằng với
$ npm install --save-dev javascript-obfuscator99.
00
obfuscator.io
Loại:
8 Mặc định:
02
Cho phép đặt môi trường đích cho mã bị che khuất.
02;
04;
05.
Hiện tại mã đầu ra cho các mục tiêu
02 và
05 là giống hệt nhau, nhưng một số tùy chọn dành riêng cho trình duyệt không được phép sử dụng với mục tiêu
05. Mã đầu ra cho mục tiêu
04 không sử dụng
10.
11
Loại:
javascript-obfuscator input_file_name.js [options] javascript-obfuscator input_file_name.js --output output_file_name.js [options] javascript-obfuscator input_file_name.js --output output_folder_name [options] javascript-obfuscator input_folder_name --output output_folder_name [options]4 Mặc định:
javascript-obfuscator samples/sample.js --compact true --self-defending false // creates a new file samples/sample-obfuscated.js javascript-obfuscator samples/sample.js --output output/output.js --compact true --self-defending false // creates a new file output/output.js0
Cho phép chuyển đổi các phím đối tượng.
$ npm install --save-dev javascript-obfuscator27
Cho phép bật/tắt chuyển đổi chuỗi thành chuỗi thoát Unicode.
Trình tự thoát Unicode tăng kích thước mã rất nhiều và các chuỗi dễ dàng có thể được hoàn nguyên về chế độ xem ban đầu của chúng. Được đề xuất để kích hoạt tùy chọn này chỉ cho mã nguồn nhỏ.
Tùy chọn đặt trước
Obfuscation cao, hiệu suất thấp
Hiệu suất sẽ chậm hơn nhiều so với không có sự che giấu
- Obfuscation trung bình, hiệu suất tối ưu
- Phân phối lại ở dạng nhị phân phải tái tạo thông báo bản quyền trên, danh sách các điều kiện này và từ chối trách nhiệm sau trong tài liệu và/hoặc các tài liệu khác được cung cấp với phân phối.
Phần mềm này được cung cấp bởi các chủ sở hữu bản quyền và người đóng góp "như là" và bất kỳ bảo đảm rõ ràng hoặc ngụ ý nào, bao gồm, nhưng không giới hạn ở các bảo đảm ngụ ý về tính thương mại và thể lực cho một mục đích cụ thể được từ chối. Trong mọi trường hợp không chịu trách nhiệm cho bất kỳ thiệt hại trực tiếp, gián tiếp, ngẫu nhiên, đặc biệt, mẫu mực hoặc hậu quả [bao gồm, nhưng không giới hạn ở việc mua sắm hàng hóa hoặc dịch vụ thay thế; mất sử dụng, dữ liệu hoặc lợi nhuận; Gây ra và dựa trên bất kỳ lý thuyết trách nhiệm nào, cho dù trong hợp đồng, trách nhiệm pháp lý hoặc tra tấn [bao gồm cả sơ suất hay nói cách khác] phát sinh theo bất kỳ cách nào từ việc sử dụng phần mềm này, ngay cả khi được thông báo về khả năng thiệt hại đó.