Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.js-confuser.com/llms.txt

Use this file to discover all available pages before exploring further.

JS-Confuser provides a wide range of options to customize the obfuscation process. Below is a list of all available options in the obfuscator.
  • Remember, presets can be used to quickly apply a set of options to the obfuscator.

Build Settings

OptionDescription
TargetThe execution context for your output.
PackPacks the output code into a single Function() call. Designed to escape strict mode constraints.

Identifiers

OptionDescription
Identifier GeneratorDetermines how variables are renamed.
Rename VariablesDetermines if variables should be renamed.
Rename GlobalsRenames top-level variables, turn this off for web-related scripts. Enabled by default.
Rename LabelsRenames labeled control-flow statements, and removes unnecessary labels. Enabled by default.
Moved DeclarationsMoves variable declarations to the top of the context.

Strings

OptionDescription
String CompressionString Compression uses zlib compression algorithm to compress strings.
String ConcealingString Concealing involves encoding strings to conceal plain-text values.
Custom String EncodingsCustom String Encodings allows you to define your own string encoding/decoding functions.
String EncodingString Encoding transforms a string into an encoded representation.
String SplittingString Splitting splits your strings into multiple expressions.

Data

OptionDescription
CalculatorCreates a calculator function to handle arithmetic and logical expressions.
Object ExtractionExtracts object properties into separate variables.
Global ConcealingGlobal Concealing hides global variables being accessed.
ShuffleShuffles the initial order of arrays. The order is brought back to the original during runtime.
Duplicate Literals RemovalDuplicate Literals Removal replaces duplicate literals with a single variable name.

Control-flow

OptionDescription
Control Flow FlatteningControl-flow Flattening hinders program comprehension by creating convoluted switch statements.
DispatcherCreates a middleman function to process function calls.
Opaque PredicatesAn Opaque Predicate is a predicate(true/false) that is evaluated at runtime, this can confuse reverse engineers from understanding your code.
Dead CodeRandomly injects dead code.
AST ScramblerSemantically changes the AST to bypass automated tools.

Functions

OptionDescription
Variable MaskingLocal variables are consolidated into a rotating array.
FlattenBrings independent declarations to the highest scope.
RGFRGF (Runtime-Generated-Functions) creates executable code from strings.

Lock

OptionDescription
Domain LockEnsures the script can only execute on the specified domain. Set the Counter Measures option to control what happens if violated.
Start DateWhen the program is first able to be used.
End DateWhen the program is no longer able to be used.
Tamper ProtectionTamper Protection safeguards the runtime behavior from being altered by JavaScript pitfalls.
Self DefendingPrevents the use of code beautifiers or formatters against your code.
Custom LocksCustomize the lock algorithm to your own implementation.
IntegrityIntegrity ensures the source code is unchanged.
Anti DebugAdds debugger statements throughout the code.
CountermeasuresA custom callback function to invoke when a lock is triggered.

Output

OptionDescription
Hexadecimal NumbersUses the hexadecimal representation for numbers.
CompactRemove’s whitespace from the final output.
MinifyMinifies redundant code.
Preserve Function LengthPreserves the original function.length property.