We have created some list that can be thought of a comparison "we with others" - just go to product page and scroll to the list of features - all features marked with "unique" are really unique to our product (and are absent in any other).
We recommend you to test our product yourself and make a decision. We have a trial that lets you fully evaluate it and even apply to your project. Such evaluation will reveal all flexibility and power of our product; the only limitation during evaluation is that all symbols can only prefixed with a same prefix. However, this allows to fully evaluate syntax support, support for exceptions, support for javascript embedded into html. Also, projects created during evaluation can be opened by a non-trial version of our product, so you won't waste the time spent during evaluation at all - your product will already be prepared for protection, and applying production-level protection will be a single click on "Build, Rebuild all" in non-trial edition of our product.
But it is greatly not recommended to apply just encoding since it makes protection of your code much weaker.
Also GUI allows to create buildscripts - Perl scripts that can perform building/clearing output/rebuilding changed files in your project. So once your project options are "stabialized" you will be able to rebuild your entire project (or only changed files) from commandline too.
Stunnix JavaScript Obfuscator is written in Perl programming language. It is Perl code, but it's protected from analysis and illegal reuse using our perl obfuscation tool - Stunnix Perl-Obfus. We greatly recommend all professional Perl programmers to use it for their projects in order to protect their intellectual property.You probably got an impression that it requires internet connection because your firewall warns that program tries to connect to internet; the firewall you use is incorrect and badly written, address 127.0.0.1 is local; every computer has it as address of itself, independant of the fact whether it's connected to the internet or not. This special address is for special "loopback" network interface card accessible only from the same computer; programs from other computers will even be unable to know that Project Manager and Stunnix Perl Web Server are running and will be unable to communicate with it in any way, so it's safe to run Stunnix Perl Web Server (and Project Manager ) even on computer directly connected to the Internet. But of course Internet connection is not required in order to use Project Manager.
Then you have to create a new mode using Project → Options (using 'BASE' as parent mode for the newly created mode, enter the name of a file with exceptions (there is no need to specify directory name!) into entry (at the bottom of that page) with title "space-separated names of files to get list of exceptions from" and check a checkbox to the left of it (this will mean that the value of this option overrides the value in parent mode), click Save and then go to Project ⇒ Files, put a checkboxes near files you wish these exceptions to be applied to, then select a name of the newly-created mode in the popuplist at the bottom and click Assign processing mode button. Then of course you will have to rebuild the project.
Please do Project, Options and click "Delete project" button. Please see answer for a related question. Go to Project ⇒ Optins, select mode with title 'BASE', enter www-client-side.extras/xpath into entry (at the bottom of that page) with title "space-separated names of files to get list of exceptions from" and check a checkbox to the left of it (this will mean that the value of this option overrides the value in parent mode) and then click Save. Go to Project ⇒ Optins, select mode with title 'BASE', enter www-client-side.extras/xbl www-client-side.extras/xul into entry (at the bottom of that page) with title "space-separated names of files to get list of exceptions from" and check a checkbox to the left of it (this will mean that the value of this option overrides the value in parent mode) and then click Save. Please go to Project ⇒ Options, select "standard: serverside JavaScript in .html/.asp files" if you are protecting serverside code or "standard: clientside JavaScript in .html/.asp files" if you are protecting clientside code, find "remove spaces from html text where possible", and check the left checkbox, uncheck the right checkbox, then click Save, and then rebuild the project. The left checkbox behind some form element in the Project⇒Options specifies whether the value of the option overrides the same value of it from the parent mode (if checked - it overrides, if unchecked - the value of this option from the parent mode is used).Go to Settings, Edit modes present in the project.., click on "standard: treat as raw code " item in the list, scroll to bottom, in "File-related options " section, find entry "name of file with text to be prepended to the output" put
banner.txt
into it and put a checkbox to the left of it (IT'S VERY IMPORTANT - this tells that we override
the same setting in the parent mode) and click Save.
To export project, open it, then do Project⇒Export as native. What you
export this way is a list of files and the options for modes.
To import it - just do Project⇒Import.
Project file is stored inside your user's directory - the name of file it's stored in can be seen by going to Project⇒Options (there is a small-printed file location there). You can just copy that file from/to somewhere (and it's OK to rename it, keeping extension).
Also you will have to backup "project state directory" (specified in project⇒options) - it contains exceptions, antiexceptions and symbol mapping information.
Your project (and exported form of it) contains path to the project input, project output and project state directory. If you'll want to relocate these directories to different locations (e.g. after importing project), just go Project⇒Options and edit paths there. Due to this fact it's adviceable to give directories as relative paths relative to project's input directory - this way you'll have less strings to edit when relocating your project.
You will have to create 2 projects, one for protecting client-side code, another one - for protecting server-side code in the output directory from the first project. You will have to use different directories for state files in these 2 projects. Since several projects can be opened at the same time (in different windows), this should not complicate things much.You can enable assertion for one of the files though.
First you have to create a new processing mode that will inherrit all settings from "main" mode, but add assertion. To do this, go to Settings, "Edit modes present in the project..,", "Create new mode", give it some title, e.g "files with assertion", specify as parent mode this mode :" standard: treat as raw code",Then scroll to the group "Ensuring licensing conditions using generic asserters", configure licensing conditions in that section, and put a checkbox near each control there, since otherwise the value of controls will be ignored. Then scroll to the bottom and click Save to complete creation of the new mode.
Then go to Settings, "For files - assign modes to project's files, add/remove files.. ", put a checkbox near file you wish to enable asserters in, and select "files with assertion" from drop down list and click "Assign processing mode".
Create a file named "myasserter.txt" in the project's input directory and fill it with asserter's code. E.g. put code like this into it: {//asserter that prevents program from running on browsers wit activeX support
if (typeof ActiveXObject != 'undefined') {
alert("Running this script on MSIE is not allowed!");
eval("'");while(1) {;};
};
}
Suppose you wish to enable assertion of licensing conditions for all files in your project. If you wish to enable assertion of licensing conditions only for some files in your project, see question above.
Go to Settings, "Edit modes present in the project..,", click on either the 'standard: treat as raw code' (if enabling assertion for each file) or the mode you've just created as explained in previous question.
Scroll to the group "Ensuring licensing conditions using generic asserters", select "Take code from file" and check a checkbox to the left of this popup list. Put a checkbox to the left of entry "Name of file (relative to project's input directory)" below, and put a name of file "myasserter.txt" in that entry. Then click Save at the bottom of the page.