mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
readme fixes
This commit is contained in:
@@ -1,15 +1,20 @@
|
||||
# JavaScript obfuscator for Node.js
|
||||
|
||||
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.
|
||||
JavaScript obfuscator for Node.js is a 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 to a server;
|
||||
* compatible with ES6;
|
||||
* tested on Angular2 bundle;
|
||||
|
||||
https://gist.github.com/sanex3339/ffc2876123b52e6d11ce45369fd53acf
|
||||
|
||||
## Installation
|
||||
|
||||
Install the package with NPM and add it to your `devDependencies`:
|
||||
Install the package from NPM and add it to your `devDependencies`:
|
||||
|
||||
`npm install --save-dev javascript-obfuscator`
|
||||
```sh
|
||||
$ npm install --save-dev javascript-obfuscator
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -46,12 +51,12 @@ var _0xabf1 = [
|
||||
#### `sourceCode`
|
||||
Type: `string` Default: `null`
|
||||
|
||||
Any valid SourceCode.
|
||||
Any valid source code.
|
||||
|
||||
#### `options`
|
||||
Type: `Object` Default: `null`
|
||||
|
||||
Options for JavaScript obfuscator:
|
||||
Options for the JavaScript obfuscator:
|
||||
|
||||
```javascript
|
||||
{
|
||||
@@ -64,47 +69,46 @@ Options for JavaScript obfuscator:
|
||||
#### `compact`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
Compact code output into one line.
|
||||
Compact code output one one line.
|
||||
|
||||
#### `debugProtection`
|
||||
Type: `boolean` Default: `false`
|
||||
|
||||
##### :warning: This option can cause browser freeze while Developer Tools is enabled! Use at own risk.
|
||||
##### :warning: Can freeze browser while Developer Tools are 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 options using of Debug panel is impossible.
|
||||
Force enable debug mode on page load if Developer Tools panel is enabled (in some, mainly WebKit-based, browsers). This makes it almost impossible to use the Console (the 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.
|
||||
* WebKit-based: blocks the site window, but you still can navigate through Developer Tools panel.
|
||||
* Firefox: does *not* block the site window, but still won't let you use DevTools.
|
||||
|
||||
#### `debugProtectionInterval`
|
||||
Type: `boolean` Default: `false`
|
||||
|
||||
##### :warning: This option can cause browser freeze even while Developer Tools is disabled! Use at own risk.
|
||||
##### :warning: Can freeze browser even while Developer Tools are disabled! Use at own risk.
|
||||
|
||||
Works if `debugProtection` is enabled.
|
||||
|
||||
Force enable debug mode in some browsers (mainly based on WebKit) when Developer Tools panel was enabled, even after page was loaded.
|
||||
Force enable debug mode in some browsers (mainly WebKit-based) when Developer Tools panel is enabled, even after page is loaded.
|
||||
|
||||
#### `disableConsoleOutput`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
Disable `console.log`, `console.info`, `console.error` and `console.warn` messages output into browser console.
|
||||
Disable `console.log`, `console.info`, `console.error` and `console.warn` messages output into the browser console.
|
||||
|
||||
#### `encodeUnicodeLiterals`
|
||||
Type: `boolean` Default: `false`
|
||||
|
||||
##### :warning: `unicodeArray` option must be enabled
|
||||
|
||||
This option can slightly slowdown your code speed.
|
||||
This option can slightly slow down 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.
|
||||
All literals in Unicode array become encoded in Base64.
|
||||
To decode strings, a special function will be inserted on the page under `unicodeArray` node.
|
||||
|
||||
#### `reservedNames`
|
||||
Type: `string[]` Default: `[]`
|
||||
|
||||
Disable obfuscation of variable names, function names and names of function parameters that match with given RegExp pattern.
|
||||
Disable obfuscation of variable names, function names and names of function parameters that match the passed RegExp pattern.
|
||||
|
||||
Example:
|
||||
```javascript
|
||||
@@ -119,37 +123,35 @@ Example:
|
||||
#### `rotateUnicodeArray`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
##### :warning: `unicodeArray` option must be enabled
|
||||
##### :warning: `unicodeArray` 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.
|
||||
Shift the `unicodeArray` values by a random number of places during the code obfuscation and insert a helper function for shifting the array back into the source code. (It works just like the Caesar cypher.)
|
||||
|
||||
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.
|
||||
|
||||
It is also not recommended to enable `rotateUnicodeArray` for small source code, because a helper function might attract attention.
|
||||
It is also not recommended to enable `rotateUnicodeArray` for small source code because a helper function might attract attention.
|
||||
|
||||
#### `unicodeArray`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
Put all literal strings into array and replace every literal string by array call.
|
||||
Put all literal strings into an array and replace every literal string by an array call.
|
||||
|
||||
#### unicodeArrayThreshold
|
||||
#### `unicodeArrayThreshold`
|
||||
Type: `number` Default: `0.8` Min: `0` Max: `1`
|
||||
|
||||
##### :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.
|
||||
The probability that the literal string will be inserted into `unicodeArray`.
|
||||
Use this option for huge source code size, because many calls to `unicodeArray` will slow down code performance.
|
||||
|
||||
Value `0` is equals `unicodeArray: false`.
|
||||
`unicodeArrayThreshold: 0` equals to `unicodeArray: false`.
|
||||
|
||||
#### `wrapUnicodeArrayCalls`
|
||||
Type: `boolean` Default: `true`
|
||||
|
||||
##### :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.
|
||||
Instead of 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.
|
||||
|
||||
```javascript
|
||||
var t = _0x12a634('0x0')
|
||||
|
||||
Reference in New Issue
Block a user