Obfuscates JavaScript files using amazing javascript-obfuscator.
npm install grunt-javascript-obfuscator
> Obfuscates JavaScript files using amazing javascript-obfuscator.
Conceal your logic and hide any data contained in the code. Please read documentation how to protect your code effectively. Basic protection:
Original code:
``js`
(function(){
var variable = 'abc';
console.log(variable);
})();
Protected code:
`js`
var _0xabf1 = [
'\x61\x62\x63',
'\x6c\x6f\x67'
];
(function() {
var _0xe6fab6 = _0xabf1[0x0];
console[_0xabf1[0x1]](_0xe6fab6);
}());
Special thanks for @sanex3339 for his outstanding javascript-obfuscator library.
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin and _javascript-obfuscator_ with this command:
`shell
npm install grunt-javascript-obfuscator javascript-obfuscator --save-dev
`..._javascript-obfuscator_ is defined as a peer dependency. In other words you can experiment with every version above
0.7.2.Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
`js
grunt.loadNpmTasks('grunt-javascript-obfuscator');
`The "javascript_obfuscator" task
$3
In your project's Gruntfile, add a section named javascript_obfuscator to the data object passed into grunt.initConfig().`js
grunt.initConfig({
javascript_obfuscator: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
});
`$3
Options are passed directly to _javascript-obfuscator_. Please visit documentation of the project for a complete list of options.
$3
#### Default Options
In this example, the default options are used to obfuscate scripts:
`js
grunt.initConfig({
javascript_obfuscator: {
options: {
/ Default options /
},
main: {
files: {
'dist/obfuscated.js': ['src/module1.js', 'src/module2.js']
}
}
},
});
`#### Custom Options
In this example, custom options are used to obfuscate scripts.
debugProtection makes it almost impossible to use the console tab of the Developer Tools:`js
grunt.initConfig({
javascript_obfuscator: {
options: {
debugProtection: true,
debugProtectionInterval: true
},
main: {
files: {
'dist/obfuscated.js': ['src/module1.js', 'src/module2.js']
}
}
},
});
`#### Obfuscate and overwrite
In this example, source files are obfuscated and overwritten:
`js
grunt.initConfig({
javascript_obfuscator: {
options: {
/ Default options /
},
main: {
src: ['src/module1.js', 'src/module2.js']
}
},
});
`` * 2019-08-15 / v1.2.0 / Added source map support.
* 2016-12-23 / v1.1.0 / Obfuscate and overwrite files without destination.
* 2016-11-11 / v1.0.4 / Updated README.
* 2016-11-09 / v1.0.3 / Updated README.
* 2016-11-09 / v1.0.2 / Fixed examples.
* 2016-11-09 / v1.0.1 / Relaxed peer dependencies.
* 2016-11-08 / v1.0.0 / First release.