> Download Free Trial
> Article

Jasob just got better!
What's New in Jasob 4.2

* Mark names with regular expression.
* Updated system names.
* Fixed bug with obfuscation of arrow operator.
What's New in Jasob 4.1
* Fixed bug with obfuscation of certain CSS selectors.
* Fixed bug with saving settings for individual name occurrences in strings.
* Fixed bug with preserving a space between adjacent server side code after the obfuscation.
What's New in Jasob 4.0
* NEW! Added support for HTML 5, CSS 3, SVG, jQuery and jQuery UI.
* NEW! Exclude non-JavaScript/CSS code from obfuscation.
* NEW! Improved algorithm for obfuscated names generation.
* Fixed bug with dots and arbitrary number of backslashes in a row in file paths.

JavaScript Obfuscator

> Features

Jasob has great features that will make JavaScript and CSS obfuscation a nice experience.

  • There are many sources where JavaScript and CSS code could be found. Jasob is capable of reading JavaScript/CSS code from the following file types:
    • JavaScript Files (.js)
    • HTML Files (.htm, .html)
    • XHTML Files (.xht, .xhtm, .xhtml)
    • Server Side Includes Files (.shtm, .shtml)
    • ASP Files (.asp)
    • ASP.NET Files (.aspx, .ascx)
    • ATL Server Files (.srf)
    • PHP Files (.php, .php3, .php4, .php5)
    • JSP Files (.jsp, .jspf)
    • JSP Document Files (.jspx)
    • XML Files (.xml, .xsd)
    • XSLT Files (.xsl, .xslt)
    • Cold Fusion Files (.cfm)
    • ePerl Files (.iphtml)
    • CSS Files (.css)
    Plus, you can define your own file types or edit existing file types. You can also customize settings for each individual opened file.

  • Rules for JavaScript/CSS code blocks for various sources can be customized.

  • There are JavaScript and CSS names that can't be changed in the process of obfuscation. For example, reserved words or properties like while or lastIndex can't be changed. Those names are called system names and they can be customized.

  • When opening files, Jasob can open a single file, multiple files, the Jasob project or the whole Web site. The Jasob project consists of an arbitrary number of files. When opening the Web site, Jasob goes through all files in the selected folder and all its subfolders while opening only files of a supported file type. When saving the obfuscated Web site, Jasob saves obfuscated files to the obfuscated Web site folder and copies all other files (unsupported file types) from the original Web site folder to the obfuscated Web site folder thus preserving original Web site folder structure in the obfuscated Web site folder. Individual file settings and name changes are saved with the Jasob project or with Web site settings.
  • The file viewer shows the selected project file content. Depending on the currently selected tab at the top of the file viewer, source or obfuscated file content is displayed. Syntax highlighting is applied to the file content to make it more readable. Syntax highlighting colors can be customized. You can search for text, go to the specified line and character number or use bookmarks. Also, you can easily highlight selected name(s) occurrences in the file viewer and navigate to those occurrences. Navigating from name occurrence in the source file content to the same name occurrence in the obfuscated file content and vice versa is also possible.

  • In JavaScript, you can place JavaScript code inside strings and also have strings that contain plain text. Therefore, in the process of obfuscation it might be necessary to obfuscate name occurrences in certain strings but not in the others. Jasob provides great support for name occurrences in strings, allowing you to decide which particular name occurrence you wish to mark for obfuscation.

  • When obfuscating files, there is often a need to work on a specific set of names than on all those names in name lists. The names bag provides support for working with a specific set of arbitrary names. You can then apply changes from names in the names bag to names in name lists, or update names in the names bag with data from names in name lists. You can also add comments to the names bag, open it, or save it to the file.

  • Dynamic Web pages are Web pages that are created dynamically (on-the-fly) on the server upon each request for a Web page. Some of the Web technologies for creating dynamic Web pages include ASP, PHP, ASP.NET... Typical dynamic Web page consists of a static HTML code including JavaScript and a dynamic programming code that is executed on the server each time a Web page is requested by the Web browser. Term static means that HTML code including JavaScript is not executed on the server in any way, instead, it is returned to the browser as is. Dynamic programming code is determined by the Web technology used on the server and is executed each time a Web page is requested. Dynamic programming code generates HTML code including JavaScript which is added to the static HTML content, thus creating final HTML page that is returned to the browser.

    Now, if you change JavaScript name in a static part of your Web page, and you are referring to that name in a dynamic part of your Web page (from the server side code), you have to keep track of the new name for that name. For example, if you have JavaScript function called Show in your static part of a Web page (or in included .js file which is also static part of a dynamic Web page), and in the process of obfuscation name Show changed to h, you have to update your dynamic programming code to use h instead of Show when generating HTML code. There is a way how to elegantly do this with Jasob.

    First, in dynamic programming code you have to use variables (or constants) for JavaScript names that might change. It's best to use variables (or constants) for all JavaScript functions, variables, properties, methods... that you are using in dynamic programming code because eventually all such JavaScript names might change to new names during the obfuscation. After the obfuscation has finished, you can select names in Jasob and copy associated new names to the clipboard in the form of variable names and variable values for the choosen dynamic programming language. This way you can select names from a name list (or names bag), choose dynamic programming language, copy new variable values to the clipboard and paste it directly into your dynamic code which makes it ready to use obfuscated JavaScript names with almost a single mouse click!
  • An optional command-line interface enables you to automate obfuscation tasks.

For more information, download Jasob User's Guide (.chm, 1.24 MB).

Bread & Milk - Shopping List
Jasob is used by hundreds of companies and individuals to protect and optimize their Web content.
"...We searched around for a solution that would allow us to easily obfuscate our JavaScript objects and Jasob saved the day. Jasob's approach to obfuscation allows us to achieve maximum compression which means less download time for our users. Obfuscation also makes it very difficult for someone to hijack our code and use it for their own purposes. PS: I love the fact that updates are emailed to me as soon as they're released. Thank you Jasob!"
Matt Wilson, Director, USA Development & Support, CAFM Solutions Inc.
"...Jasob works very well for us! We are using Jasob to protect and compress Javascript code inside our iMacros software for visual Web automation and Web testing. We found Jasob easy to use with a very powerful command line interface, so we can integrate it seamlessly into our build process. Jasob is a great addition to our development toolbox."
Mathias Roth, iOpus Inc.
"...I personally take a lot of pride in choosing Jasob because I spent a good couple of months scouring the Internet looking for the right one. The reason was because I wanted one that I could use and recommend to others for a long time to come. Since my job involves a lot of JavaScript work obfuscation is incredibly important to me. I looked high and low at every obfuscator you could imagine. I researched everything, from the free ones to really expensive ones and none of them quite fit the bill. Jasob was so impressive that I was rather shocked that the price was so affordable. There were obfuscators that I was reviewing that were priced really high but were so insanely difficult to use that there was no contest when compared to Jasob. I built Jasob directly into my one-step Web deployment installer in a matter of a day. Everything about the interface to the command-line usage made sense, unlike all of the other ones I tried. So as you can see I'm a big fan and I'll be using and recommending this software for a long time. Keep up the great work!"
Brent Matzelle, CEO, Hovitate LLC
"...Jasob has been most valuable in the development of BaseCase Interactive. The GUI allowed us fine-grained control of the specifics of the obfuscation, a necessity on our large project. That it could be invoked from the command-line allowed us to integrate it smoothly with our development process, saving valuable time."
Gijs Hubben, Basecase GmbH
"...We have used Jasob for several projects and found it to be an easy to use, effective obfuscator. It is the best value application around with all the functionality we need. Jasob also provide great technical support whenever we have had any questions. Highly recommended!"
Rob McMahon, www.mapchannels.com
"...Our project involves converting our JavaScript source and making sure it works in a wide variety of browsers. We evaluated numerous obfuscators and Jasob was the one that resulted in code that worked without tweaking in all our browsers! It was also easy to setup a batch process to integrate into our development process."
Rich Andrews, CTO, SmartWebDesign LLC
"...The wonderful professionals at Genesis Mobile have been very adaptive to our needs, they always listen to what the customer needs which makes them a class organization to work with."
Samer Bazzi, KoolIM LLC

Partial Client List

  • Cisco Systems
  • Autodesk
  • Sophos
  • Open Text
  • Infragistics
  • Servigistics
  • ViaMichelin
  • Swisscom / Innovations
  • LEAD Technologies
  • Saxo Bank
  • Genesys Conferencing
  • Motive
  • Samsung Fire & Marine Insurance
  • Reuters Financial Software
  • SHI
  • Industrial Technology Research Institute of Taiwan
  • Lenel Systems International
  • Neuf Cegetel
  • PixelPlay
  • ICS
  • Synergy International Systems
  • 123Live
  • Navio Systems
  • ContextWeb
  • Archer Technologies
  • Ortikon Interactive
  • Box UK
  • Anystream
  • Clarient
  • HOB
  • Cendyn
  • Donlen Corporation
  • GATCO Technologies
  • iParadigms
  • Algorithmics
  • RealBird
  • Interspire