Hướng dẫn error cannot find module javascript obfuscator - lỗi không thể tìm thấy mô-đun javascript obfuscator

Bình luận

Hướng dẫn error cannot find module javascript obfuscator - lỗi không thể tìm thấy mô-đun javascript obfuscator

Show

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-obfuscator
8 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-obfuscator
9. Tôi phải suy nghĩ về cách khắc phục nó.

Cập nhật lên

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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ụ:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
1Error:
<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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?

Hướng dẫn error cannot find module javascript obfuscator - lỗi không thể tìm thấy mô-đun javascript obfuscator

Đ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

Hướng dẫn error cannot find module javascript obfuscator - lỗi không thể tìm thấy mô-đun javascript obfuscator

Bạn có thể hỗ trợ dự án này bằng cách quyên góp:

  • (Opencollective) https://opencollective.com/javascript-obfuscator
  • Thẻ tín dụng PayPal https://www.paypal.com/donate
  • PayPal https://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

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
2 hoặc
<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>

Từ

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
4:

<script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>

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

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
6 chứa hai phương thức công khai:

  • <script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
    7 - Trả về
    <script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
    8 với mã bị che khuất;
  • <script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
    9 - Nếu tùy chọn
    <script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
    0 được bật - Trả về
    <script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
    8 với bản đồ nguồn hoặc một chuỗi trống nếu tùy chọn
    <script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
    2 được đặt là
    <script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
    3;
  • <script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
    4 - Trả về đối tượng với tên nhận dạng tên bộ đệm nếu tùy chọn
    <script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
    5 được bật,
    <script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
    6 cũng vậy.

Gọi

<script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
7 cho đối tượng
<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
6 sẽ trả về
<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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 (
    <script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
    8, mặc định:
    <script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
    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:
    <script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
    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

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
6.

{ foo: 'var foo = 1;', bar: 'var bar = 2;' } 1

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
            }
        }
    }
]
0

Obfuscation 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:
    {
        foo: 'var foo = 1;',
        bar: 'var bar = 2;'
    }
    
    8 hoặc
    {
        foo: 'var foo = 1;',
        bar: 'var bar = 2;'
    }
    
    9;
  • 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ặ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]
    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
            }
        }
    }
]
1

Nhậ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
            }
        }
    }
]
2

Tù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:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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.js
0

Tù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.js
1 để đặ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
            }
        }
    }
]
4

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

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
4 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

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.js
8 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.js
9.

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

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.js
0

Tă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

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:
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.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

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

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.js
0

Tă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
            }
        }
    }
]
03

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:
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.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

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

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.js
0

Tă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
            }
        }
    }
]
03

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:
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.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

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

Có 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

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
5

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:
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.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

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
            }
        }
    }
]
03

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:
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.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

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
            }
        }
    }
]
03

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:
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.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

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

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
            }
        }
    }
]
6

Có 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
            }
        }
    }
]
15

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
5

  • 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
      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 đượ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 đế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
                  }
              }
          }
      ]
      
      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.
  • Tùy chọn này vô hiệu hóa các cuộc gọ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
                }
            }
        }
    ]
    
    24 trên toàn cầu cho tất cả các tập lệnh
    • Vô hiệu hóa việc 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
                  }
              }
          }
      ]
      
      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
                  }
              }
          }
      ]
      
      32

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ù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
            }
        }
    }
]
35

Chỉ 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
            }
        }
    }
]
7

Nhiề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
            }
        }
    }
]
36

Tệ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

Loại:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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:

  • 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: Tên định danh từ danh sách
    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
                }
            }
        }
    ]
    
    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
                }
            }
        }
    ]
    
    74
  • 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: 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
                }
            }
        }
    ]
    
    78
  • 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
                }
            }
        }
    ]
    
    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ộ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 } } } ] 72

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:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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

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.js
0

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

Loại:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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.js
0

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

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.js
0

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

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
            }
        }
    }
]
98

Giá trị có sẵ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
                }
            }
        }
    ]
    
    71: Tên định danh từ danh sách
    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
                }
            }
        }
    ]
    
    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
                }
            }
        }
    ]
    
    74
  • 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: 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
                }
            }
        }
    ]
    
    78
  • 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
                }
            }
        }
    ]
    
    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ộ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
            }
        }
    }
]
72

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

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.js
0

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
            }
        }
    }
]
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.

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.js
0

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.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
            }
        }
    }
]
93

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
            }
        }
    }
]
98

Cho 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-obfuscator01

Cho phép chuyển đổi số thành biểu thức

$ yarn add --dev javascript-obfuscator
04MAY break your code.

Loại:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
8 Mặc định:
$ yarn add --dev javascript-obfuscator
06

  • 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-obfuscator
08;

$ yarn add --dev javascript-obfuscator09;

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-obfuscator
0

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-obfuscator
1

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:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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

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.js
0

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

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 } } } ] 98

Cho phép ghi nhật ký thông tin vào bảng điều khiển.

$ yarn add --dev javascript-obfuscator
01

Cho phép chuyển đổi số thành biểu thức

Example:

$ yarn add --dev javascript-obfuscator
2

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.js
0

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-obfuscator57

Loại:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
8 Mặc định: ``

Đặt URL cơ sở vào URL nhập bản đồ nguồn khi

$ yarn add --dev javascript-obfuscator
59.

Ví dụ CLI:

$ yarn add --dev javascript-obfuscator
3

Result:

$ yarn add --dev javascript-obfuscator
4

$ yarn add --dev javascript-obfuscator60

Loại:

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
8 Mặc định: ``

Đặt URL cơ sở vào URL nhập bản đồ nguồn khi

$ yarn add --dev javascript-obfuscator
59.

Ví dụ CLI:

$ yarn add --dev javascript-obfuscator
5

Result:

$ yarn add --dev javascript-obfuscator
6

$ yarn add --dev javascript-obfuscator60

Đặt tên tệp cho bản đồ nguồn đầu ra khi

$ yarn add --dev javascript-obfuscator
59.

<script src="./node_modules/javascript-obfuscator/dist/index.browser.js">script>
2

  • Loại:
    <script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
    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-obfuscator
65 - 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-obfuscator
68.

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:
    <script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
    8 Mặc định:
    $ yarn add --dev javascript-obfuscator
    71
  • Cho phép kiểm soát các 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à
    $ yarn add --dev javascript-obfuscator
    73 của bản đồ nguồn:

$ yarn add --dev javascript-obfuscator71 - 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-obfuscator73 với mã nguồn gốc;

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.js
0

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-obfuscator
73. 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-obfuscator
7

$ yarn add --dev javascript-obfuscator82

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-obfuscator
85.

$ yarn add --dev javascript-obfuscator
85

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: $ yarn add --dev javascript-obfuscator88

Đặt chiều dài chunk của tùy chọn

$ yarn add --dev javascript-obfuscator
82.

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

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

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.js
0

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-obfuscator
93 trong
$ yarn add --dev javascript-obfuscator
94 sẽ được thay thế bằng một cái gì đó như
$ yarn add --dev javascript-obfuscator
95

$ yarn add --dev javascript-obfuscator
96

Example:

$ yarn add --dev javascript-obfuscator
8

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

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-obfuscator
01. 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-obfuscator
01

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 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-obfuscator01

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-obfuscator
93 trong
$ yarn add --dev javascript-obfuscator
94 sẽ được thay thế bằng một cái gì đó như
$ yarn add --dev javascript-obfuscator
95

$ yarn add --dev javascript-obfuscator
96

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

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-obfuscator
01. 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-obfuscator
01

  • 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
    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
  • 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-obfuscator
07

$ yarn add --dev javascript-obfuscator
9

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ù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-obfuscator
93 trong
$ yarn add --dev javascript-obfuscator
94 sẽ được thay thế bằng một cái gì đó như
$ yarn add --dev javascript-obfuscator
95

$ yarn add --dev javascript-obfuscator
96

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-obfuscator
01

  • 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
    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

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-obfuscator
07

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ù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-obfuscator
82.

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-obfuscator
93 trong
$ yarn add --dev javascript-obfuscator
94 sẽ được thay thế bằng một cái gì đó như
$ yarn add --dev javascript-obfuscator
95

$ yarn add --dev javascript-obfuscator
96

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 chiều dài chunk của tùy chọn

$ yarn add --dev javascript-obfuscator
82.

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

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

$ npm install --save-dev javascript-obfuscator53

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ật

Ngẫ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
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-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.

Example:

$ npm install --save-dev javascript-obfuscator
0

$ npm install --save-dev javascript-obfuscator64

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ật

Ngẫ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-obfuscator
1

$ 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
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-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-obfuscator
64

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.

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

Ngẫ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.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
    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-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-obfuscator
64

$ npm install --save-dev javascript-obfuscator
2

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.

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-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-obfuscator
64

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

Cho phép các cuộc gọi chuỗi giữa $ npm install --save-dev javascript-obfuscator62.

$ npm install --save-dev javascript-obfuscator
70

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

$ 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.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
    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-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-obfuscator
64

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-obfuscator
70

Example:

$ npm install --save-dev javascript-obfuscator
3

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

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-obfuscator
70

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

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-obfuscator74 $ npm install --save-dev javascript-obfuscator75 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-obfuscator72. Giá trị được đề xuất giữa $ npm install --save-dev javascript-obfuscator72 và $ npm install --save-dev javascript-obfuscator78.

$ npm install --save-dev javascript-obfuscator
74

$ npm install --save-dev javascript-obfuscator
4

Loại: 8 Mặc định: $ npm install --save-dev javascript-obfuscator81

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-obfuscator
58.

$ npm install --save-dev javascript-obfuscator
5

Giá trị có sẵn:

$ npm install --save-dev javascript-obfuscator
85: 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-obfuscator
6

$ npm install --save-dev javascript-obfuscator86: 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-obfuscator81 nhưng cung cấp sự che giấu nghiêm ngặt hơn.

$ npm install --save-dev javascript-obfuscator
7

Rất khuyến khích sử dụng trình bao bọc $ npm install --save-dev javascript-obfuscator75 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-obfuscator86:

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
            }
        }
    }
]
52

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-obfuscator92 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

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-obfuscator62 và có thể làm chậm mã của bạn.

$ npm install --save-dev javascript-obfuscator
98 bằng với
$ npm install --save-dev javascript-obfuscator
99.

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;

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
04;

05.

Hiện tại mã đầu ra cho các mục tiêu

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
02 và
<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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
<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
05. Mã đầu ra cho mục tiêu
<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
04 không sử dụng
<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js">script>
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.js
0

Cho phép chuyển đổi các phím đối tượng.

$ npm install --save-dev javascript-obfuscator
27

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 đó.

JavaScript obfuscator là gì?

JavaScript obfuscation là một loạt các biến đổi mã biến mã JS đơn giản, dễ đọc thành một phiên bản sửa đổi, cực kỳ khó hiểu và thiết kế ngược.Không giống như mã hóa, trong đó bạn phải cung cấp mật khẩu được sử dụng để giải mã, không có khóa giải mã trong obfuscation JavaScript.a series of code transformations that turn plain, easy-to-read JS code into a modified version that is extremely hard to understand and reverse-engineer. Unlike encryption, where you must supply a password used for decryption, there's no decryption key in JavaScript obfuscation.

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.only provide basic minification/obfuscation and can be quickly reversed with automated tools. As so, they fail to properly protect webpack bundle files.