Online Toolbox
switching mode
tool collection
put it on the desktop
inclusion application
tool search
  • enter the js code
  • results output
start processing upload
copy clear
basic settings
call protection
domain name lock
enable source mapping
string conversion
string array index
string array call
string array wrapper
string array encoding
split string
convert string to unicode form
identifier conversion
identifier
rename settings
kitah setting
control flow flattening
dead code injection
compress into a line remove newlines in the code.
identifier obfuscation dictionary

use from 标识符字典 name in

hexadecimal

random generation using hexadecimal mode (such as:0xabc123)

mangled

use a short name (such as: a, b, c..)

identifier dictionary

sets a dictionary of name confusing identifiers.

identifier prefix

setting the obfuscated identifier to use a specific prefix

when obfuscating multiple files loaded on the same page, configure this option to prevent conflicts between them.

confusing global variables

turning on this option may affect the operation of other codes, please use it with caution!

when enabled, the global variables and global function names are confused.

self-protection

when enabled, the encrypted code cannot be formatted.

when this option is enabled, the code will be forced to compress into one line.

control flow flattening

this option has a very impact on performance, please enable it as needed!

flatten the code control flow. control flow flattening is a source code structure transformation that hinders program understanding. accessclick me understand its principles.

threshold: range: 0~1. the larger the value, the more difficult it is to read the code, but the lower the efficiency of the output code running.

dead code injection

this option will cause the encrypted code to increase.

randomly inserting meaningless code into the code (not run) makes decryption of the code more difficult.

threshold: range: 0~1

enable this option needs to be enabled at the same time convert strings to arrays function.

split string

enabling this option will cause the encrypted code to become larger.

follow the text string 分割字符串块长度 the set value is split.

string block length: use this option to specify the block length after string split.

convert strings to arrays

removes fixed string text from the code and puts it in an array.

example:var m = "Hello World"; "hello world" in it will be replaced with a function call, and this value will be retrieved at runtime.

example:var m = _0xb0c3('0x1');

scramble the string array position

place the string array in a random position. if your original source code is large, it is recommended to enable this option, which can greatly increase the difficulty of decryption of the code.

disrupt the sorting of string arrays

randomly arrange the contents in the string array.

encrypted string array

when enabled, it will cause a slight reduction in code operation efficiency.

the rc4 encryption method is difficult to decrypt after encryption, but the encrypted code runs 30-35% lower than that of base64 encryption method.

string to array threshold

this setting adjusts the probability of inserting string literals into the string array (from 0 to 1).

this setting is very useful in large code bases, because repeated calls to string array functions can slow down the code.

convert strings to unicode form

convert strings to their unicode form.

this is meaningless and is not recommended to turn it on.

disable console output

disable by rewriting to empty function console.log, console.info, console.error andconsole.warn

debugging protection

when enabled, if the browser console is turned on, the browser will be frozen.

protection interval: when turned on, a timer will be used to jamm the console, making it impossible for the console to debug.

domain name lock

if a locked domain name is added, the encrypted code can only run under the locked domain name

example:73so.com all subdomains of the name are set to whitelist domains, add.73so.com just do it.

reserve identifier

identifiers on the whitelist will not be confused. supports regular expressions.

example: add ^someName then allsomeName the variables, function names, and function parameters at the beginning will not be confused.

keep strings

same as above

source mapping

note: please make sure not to turn on in production environment

source maps can help you debug javascript code. if you have to debug in production, you can upload a separate source maps file to a secret location and point the browser to that location.

Inline Source Map

embed source maps shots into the result of obfuscating code. it can be useful if local debugging is required.

Separate Source Map

together, generate a separate file. this is useful for debugging code in production, as this allows you to upload source maps to a secret location on the server and then set the browser to point to that location.

use Source Map Base URL andSource Map File Name customizesourceMappingURL , and append to the end of the encrypted code.

encrypted seeds

when the value is 0, the result obtained by encrypting the same piece of code is different every time.

if you need the same code to keep the encryption result consistent every time,种子set the value to a fixed integer.

JS code obfuscation encryption Introduction

About the confusion mode:

High obfuscation, low performance: Performance will be much slower than no obfuscation.

Confusion, best performance: Performance will be slower than without confusion.

Low obfuscation, high performance: Performance will be at a relatively normal level.

Custom Settings: You can set confusing parameters according to your own needs.

Note: This tool is encrypted on the browser side and does not transmit any data to the server side.

Note: The confused code cannot be restored to the original code, please backup the original code before the confusion.

Internet Business Promoter