Latest version of Stunnix VBS-Obfus
Latest version of
Stunnix VBS-Obfus is
3.7. If you wish to be notified
of new versions of
Stunnix VBS-Obfus as soon as they are released,
you can
signup for Stunnix
Newsletter.
New features in version 3.7
- Now utf byte order marker at the top of html or xml files (3 characters)
is handled correctly even if converting characters to entities was enabled
- ASP files containing #include directives can now be protected with
"ENCODED: serverside VBScript" mode too.
- Project Manager GUI now ignores case of filenames on filesystems that are not case-sensitive.
So e.g. if one removes file "todo.html" from project input directory and then creates
"TODO.html", Project Manager won't show file "TODO.html" as "not in the project".
New features in version 3.6
- Now package optimized for Mac OS X is available (in the form of application bundle).
- Now patching trial into non-trial is performed using Project Manager GUI (using Tools
⇒ Upgrade into non-trial.. menu item).
- Build Results screen of Project Manager now has shortcuts for all menu items
in the Build menu - now you can rebuild the project without switching to "main"
screen just to click "Rebuild changed" there.
- Fixed minor issues with building the project in Project Manager.
- Fixed an issue with RUNAT attribute (it was only recognized when used in lowercase
due to a new features implemented in previous versions).
- Project Manager now shows samples of output for each mode selection dialog invoked
via Settings ⇒ Select preset for.. menu item.
- Now Perl 5.10.x is also supported.
New features in version 3.5
- Project Manager got nicer look.
- Now it's really possible to preserve case of tag names of markup.
- Fixed severe bug with <% option explicit %> being put ahead of non-asp blocks
(like SSI).
- Now asp blocks can be inside of attribute name, like this:
<a <% blah() %>ref=/>
New features in version 3.4
- Now Project Manager GUI allows to easily
generate list of symbols of some API (e.g. used in the project's code).
Just put the library public API definitions (or even implementation files for the
public classes of the library) alone to any directory, go to
Tools->Extract symbols from directory with source files
and specify the name of that directory and types of symbols you wish to extract (global functions,
global variables, method names etc). Then paste the list of symbols it found into
Symbols->User-specified exceptions.
- Several minor fixes and improvements in the Project Manager GUI.
New features in version 3.3
- Bugs in encoding of VBCript code have been fixed.
- Now any type of ASP Classic page can be encoded entirely, turning
any ASP page into a page with just one block of ASP code and no markup
at all.
- Bug that caused spaces on the first line in file to disappear have
been fixed.
- Project Manager GUI has been greatly improved, now it's much more intuitive
to use..
New features in version 3.2
- Added support for protecting VBScript embedded into string constants of
any programming language like C#, Java or C++
(i.e. in .cpp, .aspx.cs, .java files). . See more details in the
overview
- Several minor fixes and improvements in the Project Manager GUI.
New features in version 3.1
- Added option entities-percentage to HTML protection engine
that specifies percentage of characters
to be replaced with entities in web documents (html/asp/php)
if such replacement is enabled. In previous versions, all characters were
being replaced with entities if such replacement was enabled.
- Added ability to control the case of characters used in attribute names and
tag names - the characters can be lowercased, uppercased or their case can be
randomized (options transform-attrnames and transform-tagnames).
In previous versions, all characters were being lowercased.
- Several minor fixes and improvements in the Project Manager GUI.
New features in version 3.0
- Added support for converting all text (except markup) and values of html tag attributes
inside .html/.asp/.php/etc files
into character references (e.g. "abc" gets replaced with "abc").
Here is a sample file before that transformation:
some text <span class=some-class>here</span>
Here is a <button class=other-class name=blah>link to our site</input>
Some text.
Again some text.
And here is same piece after transformation:
some text	<span class="some-class">here</span> 		Here is a <button class="other-class" name="blah">link to our site</input> Some text. Again some text.
As you can see, even values of attributes have been replaced with numeric character entities.
- Improved algorithm for generation of replacement identifiers for all manglers
except "md5" and "prefix" (now names are more random).
- Improved support for scripts saved in utf8 encoding.
- Improved language syntax support.
- A lot of minor fixes and improvements in the Project Manager.
New features in version 2.9
-
New in this version is improvement in Project Manager - now it's possible to specify
rules (in form of filename patterns and corresponding processing mode) on how to handle
files in the Project Directory that are not registered in the project. This allows
to generate buildscript only once, and use it for frequent rebuilding of the projects
in which new source files are introduced or removed very frequently.
New features in version 2.8
- Usability and minor improvements to Project Manager GUI;
- Improvements in documentation and very minor fixes in the code;
New features in version 2.7
- "Project->Quit GUI" menuitem was added to Project Manager GUI.
- Symbols that are extracted from html files (form field and form names,
IDs of elements) are automatically added to the list of exceptions.
- One important and several almost non-important bugs were fixed in
this version.
New features in version 2.6
- Bug with handling files with something before DOCTYPE declaration
was fixed (bug was introduced in version 2.5).
- Non-standard syntax of SSI #include command - use of spaces
between <!-- and '#' - is now correctly supported too.
- Most recent version of Stunnix Perl Web
Server is used now for running Project Manager GUI interface - this
means improved stability of Project Manager GUI.
New features in version 2.5
- Banners and all utility scripts are inserted after DOCTYPE declaration
in files containing xml or html markup.
- Ability to remove html comments was added - see option
remove-comments
for asp, html and asp.NET extractors.
- Ability to not protect any scripts at all in files containing html
markup was added - see option
no-code
for html extractors.
- Ability to transform comments (e.g. keep only newlines in them
or replace all non-whitespace characters in them with 'x') was
introduced - see commandline option
--transform-comments (corresponding popup added to Project Manager
of course too).
- Now line numbers of source protected in debugging mode will match
line numbers of original files (raw scripts or code in .html) - this
makes it easy to locate line that caused error in original code using
error message produced for protected code.
- Now get-idents-from-html.pl utility by default merges the symbols
it extracts with symbols already listed in its output file.
This can be turned off using its
--do-not-merge
commandline option.
- More MSIE-specific client-side functions and objects are recognized,
including ones for Filters and Transformations.
- Now profile for protecting code (mangling engines for symbols, strings,
numbers, jamming of spaces and stripping of comments)
can be switched in 2 clicks using Project-}"Switch
debugging/production mode for code mangling" menu item
(for newly-created projects only!).
- Each newly-created project gets two debugging modes, one (the default)
tries to keep line numbers in sync with original code (by not performing
jamming) and other that jams spaces everywhere.
- Now profile for mangling spaces around html markup and
removing html comments
can be switched in 2 clicks using Project-}"Switch mode for mangling
html markup around code" menu item affecting all files that contain
html markup.
- Each newly-created project gets modes that product encoded client-side
and server-side scripts.
- Each newly-created project gets modes that allow to mangle html files
without protecting scripts in them and/or extracting identifiers of
html client-side or server-side objects.
- Bug with extracting identifiers from html was fixed (when all previously
accumulated identifers were lost if rebuilding only changed files
or if project contained files with different modes of extraction
of identifiers (e.g. some file with client-side identifiers extracted,
other files with only server-side ones extracted) ).
- Display of autoextracted identifiers was fixed in Project Manager.
- Projects managed using Project Manager can now contain files with names
starting with dot.
- Project Manager now allows to rename a member of project in its metadata
(using Project-}Files menuitem).
- Now it's possible to specify command to invoke before building the
project and a command to invoke after building the project using
Project-}Options settings.
- Assigning mode in Project-}Files now has improved GUI.
- Status of project building operation is now shown in distinct colors in
Build Log Window.
- A lot of bugfixes in Project Manager that fixed inability to set
some specific values for some options.
- Added Frequently Asked Questions
and Answers to documentation.
- Better support for some language constructs.
New features in version 2.4
- Project Manager now allows to remove files from project that are
already absent in the project input directory.
- Now Project Manager allows to have arbitrary number of files in the
project that are to be scanned for identifers of html nodes and form
elements.
- Due to improvements in Stunnix Perl
Web Server Project Manager now runs more reliably on Windows
computers with incorrect network settings.
- Various bugfixes and improvements all over the code and documentation.
New features in version 2.3
- Exceptions for WMI (Windows Management Infrastructure) added, now they
are automatically activated when 'wsh' profile is selected.
- Added support for obfuscating dynamic VBScript inside
"print-like" statements of almost any serverside language
like ASP,JSP,PHP,C/C++,Perl or others or inside "print"-like functions
of client-side VBScript.
- Improved support for VBScript syntax for constructs undocumented in
Microsoft VBScript reference.
Now --keep-newlines option is always active, there is no way to turn
it off.
- Improved support for some JSP tags.
- Servermode "multifile"
now supports filelist parameter - this allows you to specify names of files
to process in the dedicated file, one per line, without specifying
them as commandline arguments (and commandline can become too long to
be supported by the OS).
- Now Project Manager can be used to build projects containing
arbitrary huge number of files without pushing OS's limits of the
maximum number of commandline arguments supported.
- Exceptions can now be stored in files with any type of newline characters.
- Options were reordered on the "mode options" page in Project Manager.
- Various bugfixes and improvements all over the code and documentation.
New features in version 2.2
- Improved support for XHTML parsing.
- Improved support for JSP parsing.
- Improved support for versioned language names (as value of
attribute language of script html tag).
- Added checkbox to preserve comments in scripts to Project Manager
option pages.
- Now VBS-Obfus can be installed into the directory with
name containing space characters.
- The 'prefix'
symbol name obfuscator now uses string 'ReplacementFor_' as default value
of prefix instead of Z439Z_.
- Miscellaneous fixes and improvements all over the code and
documentation.
- Trial version of VBS-Obfus is now
available, there is a friendly Windows
installer for a trial version.
New features in version 2.1
- Bug in support for several ASP/PHP/SSI blocks inside a script block was
fixed.
- scripts as destination of links (e.g. <a href='vbscript:some_code()'>)
are now also fully supported in html.
- Shortcut for starting Project Manager
by double-clicking on MacOSX was added (/bin/startui.command).
- Miscellaneous fixes and improvements all over the code.
New features in version 2.0
- Project Manager -
an advanced intuitive cross-platform graphical user interface, that
internally is implemented as dynamic web site running localy on user's
computer using Stunnix Perl Web
Server, was added.
- Added ability to process several files per invokation via use of
-S commandline option.
- Added exceptions for MSIE-specific DOM implementation.
- Added support for MSIE-specific html attributes that can contain scripts.
- Added support for user-specified symbol mapping via
-F commandline option.
- Added support for ensuring that symbols produced by
combs
and md5
symbol manglers are unique across entire project via
adhere-mapfile
option of these symbol manglers.
- Added ability to generate list of symbols from ActiveX and OLE components
(available in Project Manager when run on Windows platform).
- Greatly improved support for XML documents containing scripts.
- Streamlined installation procedure by renaming 'setup' to 'setup.pl' - now
it's possible to install the product by double-clicking on the 'setup.pl'
instead of opening console window.
- Miscellaneous fixes and improvements all over the code.
New features in version 1.3
Support for scripts inside
Windows Scripting Components and Windows Scripting Host files is
added via profiles and extractors with names
wsc
and
wsh; corresponding exceptions are supplied.
Minor improvements all over the code were made.
New features in version 1.2
A lot of language support improvements have been introduced.
Exceptions for standard ASP components like
AdRotator
and exceptions for ADO have been added. Now it's even more easy to use shipped
exceptions via the use of
-O
commandline option.
New features in version 1.1
- Greatly improved support for protection of client-side and server-side
VBScript code
inside HTML/ASP/PHP files - now it's at the state of the art level.
Now HTML files in which scripts are
protected can contain SSI/ASP/PHP fragments in them at any location -
inside scripts (even inside string constants of the script!), inside event
handlers and inside html markup (i.e. between < and >) - the feature
available only in Stunnix VBS-Obfus.
- Now it's possible to minimize size of html in HTML/ASP/PHP files
by removing extra spaces and newlines in the html text itself - by the
use of option
pack-html
for html and ASP extractors.
- Now it's possible to mark individual <SCRIPT> sections in
HTML/PHP/ASP files as not to be processed by VBS-Obfus by adding
attribute with name specified using
skip-script-mark-attibute
option of corresponding extractor.
- Added new engine for symbol name obfuscation that produce
much more cryptic identifiers than
'md5' engine
(looking like IlIIl),
named 'combs'.
The 'shortest'
engine got similar functionality too, it can be used as a reliable
version of 'combs' engine for multimodule projects.
New features in version 1.0
The version 1.0 was the first public release
of
Stunnix VBS-Obfus.