mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
Merge branch 'patch-2' of https://github.com/demidovakatya/javascript-obfuscator into demidovakatya-patch-2
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
#JavaScript obfuscator for Node.js
|
||||
# JavaScript obfuscator for Node.js
|
||||
|
||||
JavaScript obfuscator for Node.js and free alternative to [js-obfuscator](https://github.com/caiguanhao/js-obfuscator) (which uses [javascriptobfuscator.com](https://javascriptobfuscator.com/Javascript-Obfuscator.aspx)) without any limits and sending data on server.
|
||||
JavaScript obfuscator for Node.js is a free alternative of [js-obfuscator](https://github.com/caiguanhao/js-obfuscator) (which uses [javascriptobfuscator.com](https://javascriptobfuscator.com/Javascript-Obfuscator.aspx)) without any limits and sending data to a server.
|
||||
Compatible with ES6.
|
||||
Tested on Angular2 bundle.
|
||||
https://gist.github.com/sanex3339/ffc2876123b52e6d11ce45369fd53acf
|
||||
|
||||
###Installation
|
||||
## Installation
|
||||
|
||||
Install the package with NPM and add it to your devDependencies:
|
||||
Install the package with NPM and add it to your `devDependencies`:
|
||||
|
||||
`npm install --save-dev javascript-obfuscator`
|
||||
|
||||
###Usage:
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var JavaScriptObfuscator = require('javascript-obfuscator');
|
||||
@@ -41,14 +41,14 @@ var _0xabf1 = [
|
||||
*/
|
||||
```
|
||||
|
||||
## obfuscate(sourceCode, options)
|
||||
## `obfuscate(sourceCode, options)`
|
||||
|
||||
###sourceCode
|
||||
#### `sourceCode`
|
||||
Type: `string` Default: `null`
|
||||
|
||||
Any valid SourceCode
|
||||
Any valid SourceCode.
|
||||
|
||||
###options
|
||||
#### `options`
|
||||
Type: `Object` Default: `null`
|
||||
|
||||
Options for JavaScript obfuscator:
|
||||
@@ -60,48 +60,48 @@ Options for JavaScript obfuscator:
|
||||
}
|
||||
```
|
||||
|
||||
###Available options
|
||||
####compact
|
||||
### Available options
|
||||
#### `compact`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
Compact code output into one line.
|
||||
|
||||
####debugProtection
|
||||
#### `debugProtection`
|
||||
Type: `boolean` Default: `false`
|
||||
|
||||
#####This option can cause browser freeze if Developer Tools are enabled! Use it at your own risk.
|
||||
##### :warning: This option can cause browser freeze while Developer Tools is enabled! Use at own risk.
|
||||
|
||||
Force enable debug mode in some browsers (mainly based on WebKit) on page load, if Developer Tools panel is enabled.
|
||||
With this option enabled, using of Debug panel is impossible.
|
||||
Force enable debug mode in some browsers (mainly based on WebKit) on page load if Developer Tools panel is enabled.
|
||||
With this options using of Debug panel is impossible.
|
||||
|
||||
WebKit based browsers: blocking site window, but you still can navigate through Developers Tools panel.
|
||||
Firefox: *not* blocking site window, but you still can't use Debug panel.
|
||||
WebKit-based browsers: blocks the site window, but you still can navigate through Developer Tools panel.
|
||||
Firefox: does *not* block the site window, but you still can't use Debug panel.
|
||||
|
||||
####debugProtectionInterval
|
||||
#### `debugProtectionInterval`
|
||||
Type: `boolean` Default: `false`
|
||||
|
||||
#####This option can cause browser freeze even if Developer Tools are disabled! Use it at your own risk.
|
||||
##### :warning: This option can cause browser freeze even while Developer Tools is disabled! Use at own risk.
|
||||
|
||||
Works if `debugProtection` is enabled.
|
||||
|
||||
Force enable debug mode in some browsers (mainly based on WebKit) when Developers Tools panel was enabled, even after page was loaded.
|
||||
Force enable debug mode in some browsers (mainly based on WebKit) when Developer Tools panel was enabled, even after page was loaded.
|
||||
|
||||
####disableConsoleOutput
|
||||
#### `disableConsoleOutput`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
Disable `console.log`, `console.info`, `console.error` and `console.warn` messages output into browser console.
|
||||
|
||||
####encodeUnicodeLiterals
|
||||
#### `encodeUnicodeLiterals`
|
||||
Type: `boolean` Default: `false`
|
||||
|
||||
#####`unicodeArray` option must be enabled
|
||||
##### :warning: `unicodeArray` option must be enabled
|
||||
|
||||
This option can slightly slowdown your code speed.
|
||||
|
||||
All literals in unicode array becomes encoded in Base64.
|
||||
To decode strings, special function will be inserted on page under `unicodeArray` node.
|
||||
|
||||
####reservedNames
|
||||
#### `reservedNames`
|
||||
Type: `string[]` Default: `[]`
|
||||
|
||||
Disable obfuscation of variable names, function names and names of function parameters that match with given RegExp pattern.
|
||||
@@ -116,37 +116,37 @@ Example:
|
||||
}
|
||||
```
|
||||
|
||||
####rotateUnicodeArray
|
||||
#### `rotateUnicodeArray`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
#####`unicodeArray` option must be enabled
|
||||
##### :warning: `unicodeArray` option must be enabled
|
||||
|
||||
This option will rotate all values inside `unicodeArray` on a random value during obfuscation of code, and insert inside source code helper function
|
||||
which will rotate array values back to their original indexes.
|
||||
|
||||
This option affects only a visual code organisation, because we can easily get original array during debug process.
|
||||
Keep in mind that this option affects only how the code is visually organised, since the original arrays can be easily accessed during the debug process.
|
||||
|
||||
Usage is not recommended for a small source code, because helper function will attract attention.
|
||||
It is also not recommended to enable `rotateUnicodeArray` for small source code, because a helper function might attract attention.
|
||||
|
||||
####unicodeArray
|
||||
#### `unicodeArray`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
Put all literal strings into array and replace every literal string by array call.
|
||||
|
||||
####unicodeArrayThreshold
|
||||
#### unicodeArrayThreshold
|
||||
Type: `number` Default: `0.8` Min: `0` Max: `1`
|
||||
|
||||
#####`unicodeArray` option must be enabled
|
||||
##### :warning: `unicodeArray` option must be enabled
|
||||
|
||||
Probability that the literal string will inserted into `unicodeArray`.
|
||||
Use this option for huge source code size, because many calls to `unicodeArray` will slowdown code performance.
|
||||
|
||||
Value `0` is equals `unicodeArray: false`.
|
||||
|
||||
####wrapUnicodeArrayCalls
|
||||
#### `wrapUnicodeArrayCalls`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
#####`unicodeArray` option must be enabled
|
||||
##### :warning: `unicodeArray` option must be enabled
|
||||
|
||||
Instead using direct calls to `unicodeArray` items `var t = _0x43a123[0x0]`,
|
||||
when index `0x0` can be easily reverted to `0` with few js beautifiers, this option will wrap all calls to special function instead.
|
||||
|
||||
Reference in New Issue
Block a user