Jscrambler

New Jscrambler 3.8 is Here!

July 22nd, 2015 | By Jscrambler | 2 min read

Get ready for the Jscrambler 3.8 release! What does this mean to you? We will explain everything in this quick release note, where we provide information on changes and enhancements in each product release.

Shortly, in the Jscrambler 3.8 release, you will be able to have fine-grain control over the public identifiers that are renamed.

New modes to control renaming

Automatic and safe renaming of all identifiers is hard in JavaScript because the language is too dynamic.

Up until now, every time you used Rename All, you had to double-check for broken naming references and exclude them from being renamed.

This often led people to use Rename Local instead of Rename All.

In Jscrambler 3.8, we included two new modes to control how renaming works and easily select which identifiers should be targeted.

From now on, you will be able to have fine-grained control over the public identifiers that are renamed.

Unsafe Mode

It leaves out all identifiers that are part of HTML5/JS native APIs, but it renames all the rest, regardless of whether they are defined or not, which in some cases may lead to errors.

Source code:

var varDefined = 1;

function fnDefined(paramLocal) {
    window.alert(paramLocal);
}
fnDefined(varDefined);
fnNotDefined(varNotDefined);


UNSAFE mode:

var d = 1;

function e(a) {
    window.alert(a);
}
e(d);
c(b);


Safest Mode

You can’t go wrong with this one. This mode only renames identifiers whose definition can be found inside the source code, thus avoiding code errors. It’s a safer, less aggressive version.

source code:

var varDefined = 1;

function fnDefined(paramLocal) {
    window.alert(paramLocal);
}
fnDefined(varDefined);
fnNotDefined(varNotDefined);


SAFEST mode:

var b = 1;

function c(a) {
    window.alert(a);
}
c(b);
fnNotDefined(varNotDefined);


Include and Exclude Lists

Regardless of the mode you use, you can always add or remove names from being renamed using two lists. This way, the power is yours, and errors or unwanted renaming will be gone forever.

Include List: Is there an identifier you really want to rename? Put it on this list. Identifiers placed here will be renamed, whether their definition is found or not (Safest Mode);

Exclude List: If any identifier is present here, it won’t be renamed. If your code somehow stops working, you can pick the identifier that is causing the issue and make sure it is excluded from the targets. End of story!

More Potency

By targeting more names, the obfuscation becomes instantly more potent. After all, names are one of the main things in the code that help us understand its meaning.

Don't forget that those extra names that we’ll be able to remove from the code will also be targeted by other transformations that will make the end result even more difficult to grasp. All of this is done in a safe, controllable way.

Jscrambler 3.8: What does this mean for you?


With Jscrambler, Rename All doesn’t have to be a pain anymore and you can save time for other things, like enjoying your summer, coding your million-dollar idea, or knitting...

It's whatever you prefer.

Jscrambler

The leader in client-side Web security. With Jscrambler, JavaScript applications become self-defensive and capable of detecting and blocking client-side attacks like Magecart.

View All Articles

Must read next

Jscrambler

Jscrambler 4.0 is Here!

We have released our latest version, Jscrambler 4.0! It is a major breakthrough for JavaScript Security and you will notice a lot of improvements.

May 31, 2016 | By Pedro Fortuna | 2 min read

Jscrambler

Jscrambler 5.0 is Now Live!

We are proud to announce that Jscrambler 5.0 is now live! We extend our code protection expertise to the webpage, introducing a new layer of security: the Webpage Integrity module. Learn more!

May 31, 2017 | By Jscrambler | 3 min read

Section Divider

Subscribe to Our Newsletter