JSDefender Demo

Get started.

Learn more how PreEmptive can fit into your security strategy.

Upload your code (up to 3MB) and choose your transforms.

Try the Full Version

Obfuscating individual files manually is a time consuming and error prone process. 
To get the full benefits of JSDefender, click below to download a full-featured trial.

Download Your Free Trial Today

Here are Some of the Ways We Protect Your JavaScript Code

TransformDescription
Domain LockAllows binding the code to a specific domain (or its subdomains). When the code running in the browser originates from a non-matching domain, it breaks with an error.
Boolean LiteralsTransforms the false and true literals to other expressions that result in the same false and true values, respectively. 
Integer LiteralsTransforms integer literals to other (less obvious) expressions that result in the same value when evaluated. It can also transform all integer literals to a specific radix (binary, decimal, hexadecimal, or octal).
Property IndirectionTransforms direct property access to indirect property access.
String LiteralsExtracts string literals into variables and initializes those variables from encoded string literals. Replaces the original string with the corresponding variables.
Local DeclarationMangles the names of local declarations.
Debugger RemovalRemoves information from production code that can help hackers inspect your code.
Control Flow ProtectionObfuscates the program’s control flow by adding opaque predicates or dead code and flattening the control flow.
Function ReorderingMoves functions from their original locations to a new one in the same lexical scope. When the *randomize* option is turned on, it sets the new location randomly.
Tamper DetectionWraps critical code with guarding functions, which check at runtime for modifications. Tampered code will not run correctly.
Date LockInjects code into the protected source, which tests if the current date is in a particular interval. If so, the code runs normally; otherwise, it can either exit or run a custom script.
Expression Sequence ObfuscationCollects adjacent expression statements in the code and joins them into an expression sequence that is harder to understand.
Property SparsingTransforms object literal expression assignments into multiple assignment statements to make them harder to read.
Variable Grouping ProtectionSeparates variable declarations and initializations; it moves the declaration part to the end of the declaration scope.

By evaluating and using this tool, the user agrees to the terms of use.

"It took me only a matter of hours to put things together, and after obfuscating my assemblies using Dotfuscator, 100% of my integration tests passed on the first run. Due to this success, we are pursuing the obfuscation of our mobile code using Xamarin."

Jeremy Running, Technical Operations Manager at Q5id

Dotfuscator
2020-11-24T15:48:11+00:00

Jeremy Running, Technical Operations Manager at Q5id

"It took me only a matter of hours to put things together, and after obfuscating my assemblies using Dotfuscator, 100% of my integration tests passed on the first run. Due to this success, we are pursuing the obfuscation of our mobile code using Xamarin."

"Why did we pick Dotfuscator? I don’t know who else out there that we could have picked honestly. Dotfuscator is something I have seen professionally for decades."

Greg Duncan, Product Development Specialist at ProSearch Strategies

Dotfuscator
2020-11-24T15:46:37+00:00

Greg Duncan, Product Development Specialist at ProSearch Strategies

"Why did we pick Dotfuscator? I don’t know who else out there that we could have picked honestly. Dotfuscator is something I have seen professionally for decades."

"It’s very easy to work with and your product doesn’t add a burden or any problem to my normal flow of releasing a version. On the contrary. It’s very seamless. Please don’t change it."

Alon Geri, Co-Founder & Chief Software Engineer at Surgical Theater

Dotfuscator
2020-10-05T14:12:48+00:00

Alon Geri, Co-Founder & Chief Software Engineer at Surgical Theater

"It’s very easy to work with and your product doesn’t add a burden or any problem to my normal flow of releasing a version. On the contrary. It’s very seamless. Please don’t change it."

"The reason I chose to go with Dotfuscator is – since it’s been around for so long, I figured it was my best chance for success. It seems like you folks have the most history with Visual Studio. Comparing [your competitor’s] sheet with your sheet, it seems to me, you had a richer feature set."

John Curry, Product Development Specialist at Bayshore Networks

Dotfuscator
2020-10-05T14:16:35+00:00

John Curry, Product Development Specialist at Bayshore Networks

"The reason I chose to go with Dotfuscator is – since it’s been around for so long, I figured it was my best chance for success. It seems like you folks have the most history with Visual Studio. Comparing [your competitor’s] sheet with your sheet, it seems to me, you had a richer feature set."
0
0
Dotfuscator