Mohamed Sobhy
Dec 2, 2017

Welcome to our tutorial, now I am going to explain one of the best ways to protect your javascript code.

protect your javascript code

By the end of this tutorial you will be aware of:

Why It Is Important to Protect Your JavaScript Code ?

Why It Is Important to Protect Your JavaScript Code ?

JavaScript is a client-side language which make it visible to all browsers. This unfortunately means that it is visible to anyone who wants to see your code and potentially steal it. Therefore, you may need to encrypt your code and make it unreadable using one of the code protection ways which obfuscate the code using base algorithms. This process allow the developer to achieve the next main objectives:

  • Making code harder for anyone to copy and paste parts of code.
  • Reducing file size hence saves outgoing and incoming bandwidths for you and your visitors, respectively. Also, improving the loading speed for better SEO.

What is Obfuscation ?

What is Obfuscation ?

Obfuscation is one of the best ways to protect your javascript code. It makes your code unreadable using complicated algorithms to apply encryption and minification, which as well reduces the size of your files for better loading speed. Meanwhile, the obfucated code will work like your original code.

Javascript Obfuscation Techniques

Javascript obfuscation utilizes five main techniques as follow;

Javascript Obfuscation Techniques
  • Minification: removes unnecessary spaces, comments and line breaks.
  • Encryption: converts strings to encoded form.
  • Rearrangement: alters sequences of script in random manner.
  • Injection: adds small blocks of code to serve monitoring, domain locking, or redirection and expiration date setup.
  • Replacement: supersedes original names of variables and functions with other random ones. Times, converts them to strings and run code using the eval function which is not preferable.

JavaScript Obfuscation Tools

There are a number of JavaScript obfuscation tools that are freely available;

  • WB JavaScript Obfuscator: WhiteBoxes dot tk provide an online and majorly free javascript obfuscator which gathers all the best features to protect your javascript code. This is what I use all time.
  • Google Closure JS Compiler: It is a natural tool for the production environment which optimize, compress, and minify your code.
  • YUI Compressor: Yahoo!'s JavaScript compressor is an open-source Java-based tool which condense the code to mainly improve the loading time, also provide low level of obfuscation but works relatively well. As necessary, Compressor will replace function names, eliminate whitespace, and alter variables.
  • JSMin: is just a minification tool by Douglas Crockford that focus to minify your JavaScript source for faster loading in browsers. Crockford's developed JSMin not to obfuscate, but to uglify.
  • Other JavaScript Obfuscator: they are web-based tool that try to obfuscate your code by encoding it.

Does the Best JavaScript Obfuscator Can Be Reverse-Engineered ?

Does the Best JavaScript Obfuscator Can Be Reverse-Engineered ?

In short, yes, but even a super intellegent developer will take days up to weeks to reverse-engineer some blocks of your code. Therefore, it's more worth to start his own code than sticking to know how to re-use others code.

Google Javascript Obfuscator

Nothing exists up to Dec 5, 2017 is called so. And, the only tool provided by google is the one explained above titled "Google Closure JS Compiler".

Go to Recommended JavaScript Obfuscator >>

Thank you for reading the above article. Please let us know your comments below.

References:

  • Practical Experience
About the author

Mohamed Sobhy

Mohamed is a freelance web designer, recreational software developer, author and CEO of infoapper.com . Also, has passion to learn and transfer the know-how of every valuable thing.
Views: 1641
0 Comment Guest
Recommend 0
Sort by Newest
Be the first to say something...

Ask Community

Ask questions and Share knowledge with Community

Find below recent posts for automation solutions with questions and answers by community. You can search in past threads or post new question about your assignment with detailed description, and always could mark your question as request. Sharing knowledge are highly appreciated by answering on others questions, and in return awards will be decided.

× Close
Results: