Home » Guides Advanced Article

JavaScript Obfuscators Review

5.0/5.0 (4 votes total)
Rate:

ajaxpath.com
December 21, 2006


ajaxpath.com
Reprinted with permission from ajaxpath.com
ajaxpath.com has written 1 articles for JavaScriptSearch.
View all articles by ajaxpath.com...


Obfuscated code is source code that is (usually intentionally) very hard to read and understand. Macro preprocessors are often used to create hard to read code by masking the standard language syntax and grammar from the main body of code.

Programs, known as obfuscators, operate on source code, object code, or both, for the purpose of deterring reverse engineering. I tried to find and collect under one roof information about Javascript source code protection tools, also known as javascript obfuscators.

 

Thicket™ Obfuscator for JavaScript

The JavaScript Obfuscator (or ECMAScript, its official name, Obfuscator) tool obfuscates JavaScript source code to make it difficult to understand or reverse engineer. This provides significant protection for source code intellectual property that must be shipped to a customer, as is common when shipping JavaScript-enabled web pages to browsers or when JavaScript is used as a scripting language to support other activities (XSLT, etc.). It can also provide effective compression of JavaScript files to reduce script download time.

http://www.semdesigns.com/Products/Obfuscators/ECMAScriptObfuscator.html

 

 Jasob 2

With Jasob your JavaScript code will become impossible to understand thus preventing anyone to steal and modify it. Its size will typically shrink for around 70% which will significantly improve download time and execution speed in the Web browser. How Jasob achieves this? Jasob reads files with JavaScript code and replaces descriptive variable and function names like Customer, Salary, FirstName... with meaningless names like d, g, m... It also removes comments and unnecessary whitespace characters (space, tab, carriage return, line feed). The functionality of the code remains the same while source code changes dramatically. This process is called obfuscation, and the tool is called obfuscator. Obfuscated code is impossible to reverse-engineer and extremely hard or impossible to understand. It is better to distribute obfuscated version of your JavaScript code and to keep your original JavaScript source code for yourself.

http://www.jasob.com/

 

Javascript Obfuscator

 

Scramble, obfuscate, and pack JavaScript code! Javascript Obfuscator converts the JavaScript source code into scrambled and completely unreadable form, preventing it from analysing and theft. Javascript Obfuscator can * process javascript tags in html files and all .js files associated with html pages as well as separate .js files * remove comments and white spaces, reducing the file size and minimizing the loading time * pack the code as a long line * add finishing ";" when appropriate * create a list of function and variable names * generate new non-understandable names and rename functions and variables depending on user settings * work with command line.

http://www.javascript-source.com/

 

Stunnix JavaScript Obfuscator

 

Stunnix JavaScript Obfuscator is an unique solution for this piracy and misuse problem for code written in ECMAScript or JavaScript programming languages - it's both obfuscation and encoding tool for JavaScript source code in .js files and in HTML, PHP, ASP and JSP pages, with advanced support for adding extremely difficult to remove automatic checks of licensing conditions. Stunnix JavaScript Obfuscator converts scripts in input files into highly mangled and obfuscated form, making them extermely difficult to study, analyse, reuse and re-work for competitors or customers, while fully retaining functionality of the original code. By default that highly mangled and obfuscated code is encoded afterwards to hide the structure (control flow, division into subroutines and classes) of the script completely. Stunnix JavaScript Obfuscator is not a compiler to machine or pseudo code - the protected form will still be the usual script, thus it will work on all platforms the original code worked on. State of the art support for ensuring license conditions (expiration, several types of hostname checks, user-defined checks) is also available.

http://www.stunnix.com/prod/jo/overview.shtml?g2

 

JCE Pro

 

JCE Pro is a professional tool for obfuscation of javascript, making the javascript code difficult to understand and hard to reverse engineer. Protecting your intellectual capital Webapplication and components that has been developed for month. How much is that work worth? How much money has not been spent on development? Yet it is very common that no effort is made in protecting that investment. That means competitors is able to read and analyze the code like a open book, maybe they "borrow" some nice parts of the application or component. With JCE Pro it very easy to stop your competitors from doing that, and to a price that everyone can afford.

http://www.syntropy.se/?ct=products/jcepro&target=overview

 

JavaScript Obfuscator by Tool Galaxy

 

The tool "JavaScript Obfuscator" obfuscates the JavaScript source code, thus making it unreadable by humans. Webmasters can place "JavaScript Obfuscator" for free on their websites, thus enriching their overall content and appealing more and more new visitors.

http://tool-galaxy.remiya.com/html/10.html

 

Scripts Encryptor (ScrEnc)

Scripts Encryptor is a handy utility to scramble (obfuscate) HTML, JavaScript/JScript, C/C++/MFC code. Unlike many other obfuscators it does not employ JavaScript for encoding, which significantly increases the number of web browsers that will be able to open scrambled documents without distortion. Use this software to protect your online content from unauthorized copying, reverse engineering and from webbots collecting email addresses and other personal data.

http://www.dennisbabkin.com/php/download.php?what=ScrEnc

 

Shane Ng's GPL-licenced obfuscator

 You input your Javascript into this program, and it will make it completely incomprehensible. Function and variable names are changed, spaces and line breaks removed, strings made into mixed hexadecimal and Unicode "garbage" etc. This can be used to protect your intellectual property -- but remember that the script still works, and can be copied verbatim to another web site. The code is 500 something lines of Java, and compiles with 1.4 compilers. It is simple to use -- just run the program and it will tell you how it works.

http://shaneng.awardspace.com/

 

Dean Edwards JavaScript Compressor/Obfuscator

Simple online JavaScript obfuscator.

 http://dean.edwards.name/packer/

 

ESC

 

ESC is an ECMAScript pre-processor written in JScript, enabling an unlimited number of external scripts to be compressed/crunched into supertight, bandwidth-optimized packages. Featuring several compression-techniques such as comment removal, whitespace stripping, newline stripping and variable substitution ESC can reduce the overall size of your code with up to ~45%. Single, multiple scripts and even directories with scripts can be merged together at the compression level you decide.

http://www.saltstorm.net/depo/esc/

 

Jammer

 

This program will allow you to * Obfuscate your HTML, Javascripts and VRML source code on your webpages from the browsers' VIEW SOURCE Window (then the potential thief will not be able to cut and paste your script) o Put extra Space at the top of file o Remove comments o Shrink all the code on one line o Remove ident space and any space that can be cut * Make C / C++ sources very hard to read (usefull when you're distribuating a program with C sources for unix ) * It also compress the files size up to 50%. * Clean imported PC text files for UNIX or Amiga with extra ^M * File types supported : *.htm ; *.asp ; *.wrl ; *.c ; *.java ; *.pov ; *.txt.

http://rzr.online.fr/docs/shop/jammer.htm

 

JSCruncher Pro

The easiest, most powerful way to compress, obfuscate and manage your JavaScript files. JSCruncher Pro reduces file sizes an average of 60% in the blink of an eye!

http://domapi.com/jscruncherpro/

 

Strong JS

 

It is a shrinker/obfuscator for JavaScripts. You can use it to easily and quickly reduce the size of typical JavaScript files by 50% on average depending on the style the code is written in. Strong JS allows you to delete all unnecessary bytes in scripts, such as comments, new line characters and unnecessary spaces. The execution of the js file won't change after it is compressed. It just executes like before. You won't see a difference, only the file size will be smaller. Also, it can rename variables giving them short names.

http://www.stronghtml.com/tools/js/

 

JavaScript Scrambler

JavaScript Scrambler is a utility for all JavaScript programmers who are fed up with the fact, that their source code can be stolen and simply modified. It will scramble any JavaScript source code until it is almost impossible to comprehend for others.

http://www.quadhead.de/jss.html

 

Javascript Encoder from scriptasylum.com

This script will encode javascript to make it more difficult for people to read and/or steal. Find directions on website.

http://scriptasylum.com/tutorials/encdec/javascript_encoder.html 

 

 

 

 


Add commentAdd comment (Comments: 2)  
Title: Review? January 30, 2007
Comment by Seven Kastanza

Great list of products that are available.

- Here's my quik review, after spending about 10 minutes with each.

- Jasob is the best. Best UI, best licesing model
- Stunnix is crap. Installs some PHP web server. Hello?
- Thicket my over caffinated brain couldn't understand it.
- Tool Galaxy, a web site. Duh, how hare you going to use that in a fast paced production environment.
- Shane Ng's GPL-licenced obfuscator. Java shitake! Crashed repetedly, couldn't understand it.

Hope this is useful...



Title: obfuscator December 28, 2006
Comment by anonymous

great you listed all the tools on this page. however, you can hardly call this a review. it would be interesting to hear about the techniques each of the obfuscators apply.

Advertisement

Partners

Related Resources

Other Resources

arrow