Smart Tools
Blog博客
Theme
Поиск
User login
  • Input JS code
  • Result Output
Start processing upload
make a copy of empty
Basic settings
call protection
Domain Lock
Enable source mapping
string conversion
String array index
String Array Call
String Array Wrapping
String array encoding
split string
String conversion to Unicode form
identifier conversion
identifiers
rename a setting
guitar set
Control Flow Flattening
Dead code injection
Compress into one line Remove line breaks from the code.
Identifier obfuscation dictionary

Use the data from the identifier dictionary Name in

hexadecimal

Randomly generated using hexadecimal patterns (e.g.:0xabc123)

mangled

Use a short name (e.g: a, b, c..)

identifier dictionary

Sets the name dictionary for identifier obfuscation.

identifier prefix

Set 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

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

When turned on, it will obfuscate global variables and global function names.

self-protection

Turning it on will prevent the encrypted code from being formatted.

Enabling this option forces the code to be compressed into a single line.

Control Flow Flattening

This option is very performance-impacting, so please turn it on as needed!

Flatten code control flow. Control flow flattening is a source code structure transformation that hinders program comprehension. Accessclick on me Understand how it works.

Threshold: range: 0~1, the larger the value, the more difficult it is to read the code, but the output code also runs less efficiently.

Dead code injection

This option will result in a larger amount of encrypted code.

Randomly inserting meaningless code into the code (that won't be run) makes decryption of the code more difficult.

Threshold: Range: 0~1

Enabling this option requires that both the String to Array Conversion Function.

Split String

Enabling this option will result in a larger amount of encrypted code.

Sets the text string according to the Split string block length The set value is split.

String Block Length: Use this option to specify the length of the block after the string is split.

String to Array Conversion

Remove the fixed string text from the code and place it uniformly in an array.

例:var m = "Hello World"; in the "Hello World",将会被替换为一个函数调用,在运行时再检索此值。

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

Messing up the position of a string array

将字符串数组放在一个随机的位置。如果您的原始源代码量很大,建议开启这个选项,能大大提升代码解密难度。

Disrupt string array sorting

Randomizes the contents of an array of strings.

Encrypted String Array

Turning it on will cause the code to run slightly less efficiently.

RC4 加密方式加密后解密难度大,但加密后的代码运行效率比 Base64 加密方式低 30-35%。

String to Array Threshold

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

This setting is useful in large code bases where repeated calls to string array functions can slow down the code.

String conversion to Unicode

Converts strings to their Unicode form.

This doesn't make much sense and is not recommended to be turned on.

Disable console output

Disable the null function by overriding console.log, console.info, console.error respond in singing console.warn

Commissioning protection

When enabled, the browser will freeze if the browser console is opened.

Protect Interval: When turned on, a timer is used to jam the console, making debugging operations on the console impossible.

Domain Lock

If a locked domain is added, the encrypted code can only be run under the locked domain

例:73so.com subdomains are all set to whitelisted domains, add the .73so.com Ready to go.

reserved identifier

Whitelisted identifiers are not obfuscated. Regular expressions are supported.

Example: Add ^someName Then all the data that starts with someName Variables, function names, and function arguments that begin with the word are not obfuscated.

retained string

ibid

source mapping

Note: Make sure you don't turn on the production environment

Source maps 能帮助你调试 JavaScript 代码。如果非要在生产中进行调试,可以将单独的 Source maps 文件上载到秘密位置,然后将浏览器指向该位置。

Inline Source Map

Embed Source maps shots into the result of obfuscated code. Useful if you need to do local debugging.

Separate Source Map

将 Source maps 一起生成一个单独的文件。这对于调试生产中的代码很有用,因为这使您可以将 Source maps upload到服务器上的秘密位置,然后设置浏览器指向该位置。

utilization Source Map Base URL respond in singing Source Map File Name From the definitionsourceMappingURL and appended to the end of the encrypted code.

cryptographic seed

If the value is 0, the result will be different every time the same code is encrypted.

If you need the encryption results to be consistent each time for the same piece of code, set thetorrentIt is sufficient to set the value to a fixed integer.

Описание режимов обфускации:

Высокая степень обфускации, низкая производительность: производительность будет значительно ниже, чем без обфускации.

Средняя степень обфускации, оптимальная производительность: производительность будет ниже, чем без обфускации.

Низкая степень обфускации, высокая производительность: производительность будет на относительно нормальном уровне.

Пользовательские настройки: можно настроить параметры обфускации в соответствии со своими потребностями.

Примечание: данный инструмент осуществляет шифрование полностью в браузере и не передает никаких данных на сервер.

Примечание: обфускарованный код невозможно восстановить в исходный вид, поэтому перед обфускацией следует создать резервную копию исходного кода.

Recommended Tools
Главная Поиск Избранное Язык