Jscrambler is a JavaScript protection technology for Web and Mobile Applications. Its main purpose is to enable JavaScript applications to become self-defensive and resilient to tampering and reverse engineering.
Jscrambler includes three security layers:
- Advanced Obfuscation: transformations to Strings, Variables, Functions, and Objects, through reordering, encoding, splitting, renaming, and logic concealing techniques that make the code extremely difficult to read and reverse-engineer. Includes control-flow flattening by adding opaque predicates and irrelevant code clones and flattening the control-flow;
- Code Locks: ability to prevent the protected code from running outside whitelisted domains, browsers, date ranges, OS'es, and on rooted/jailbroken devices;
- Runtime Protection: anti-tampering and anti-debugging techniques, such as Self-Defending and Self-Healing.
Jscrambler has a Polymorphic Behavior, so each new code deployment generates a different protected output with the same code functionality.
Source maps provide a way of mapping obfuscated code back to its original source code, helping the debugging process of obfuscated code as if you were running the original source code.
Jscrambler displays real-time notifications whenever there is a threat to the protected code. Any code lock violation or attempt to modify/debug protected code will display a detailed alert on the Live Feed dashboard.
This feature is specifically aimed at performance-sensitive apps. It analyzes which parts of the code are critical to performance and applies the best balance of transformations when protecting the code.
You can integrate Jscrambler into your build process easily with its API client. It also has several integrations.
The version's compatibility table match your Jscrambler Version with the selected integration Client (f.e jscrambler-cli or jscrambler-webpack-plugin). Please make sure you install the right version, otherwise some functionalities might not work properly.
Jscrambler Version | Client and Integrations |
---|---|
<= 7.1 | <= 5.0.0 |
7.2 ... 8.2 | >= 6.0.0 |
>= 8.3 | >= 8.4.0 |
Note: CLI 8.4.0 still supports older versions of Jscrambler (>= 7.2).
- React
- Angular
- Angular.js
- Vue.js
- Ember.js
- Meteor
- Ionic
- NativeScript
- React Native
- More information about Framework Compatibility
- Jscrambler Docs
- Jscrambler 101 — First Use
- Jscrambler 101 — Code Annotations
- Jscrambler 101 — Self Defending
- Jscrambler 101 — Control Flow Flattening
- Jscrambler 101 — Code Locks
- Jscrambler 101 — How to use the CLI
- Jscrambler 101 — Source Maps
- Jscrambler 101 — Countermeasures
- Jscrambler 101 — Self-Healing
- Jscrambler 101 — Profiling
- Jscrambler 101 — App Classification
- Jscrambler 101 — Memory Protection