DashO Java Obfuscator Change Log V5.1 Build 1 – Release Date January 28, 2009

DashO Change Log

Published on January 28, 2009 by Alexander Goodwin

Reading Time: 2 minutes

Change Log – Version 5.1.1 – Release Date January 28, 2009

New Features:

  • JSP Taglib for RIS messages. The Taglib is packaged as a separate Jar in lib/ri-taglib.jar. An example WAR file is provided: see the Read-me for details.
  • Map file API for reading, modifying, and creating DashO map files. The API is packaged as a separate Jar in lib/mapfile.jar and Javadoc is provided.


  • Increased RIS support in MS Windows for the performance probe and system profile messages.
  • Line number debugging information is retained in both obfuscated and un-obfuscated code regardless of the settings of string encryption, optimization, or control flow.
  • Rule editors have keyboard shortcuts: Del – delete; Ctrl-Up – move up; Ctrl-Dn – move down; Ctrl-X – validate.
  • Rule editors now create package rules with a trailing period to prevent coincidental matching with packages that share a common prefix.
  • New project wizard creates fewer and more compact exclusion patterns for support jars.
  • New project wizard recognizes J2ME Xlet derived classes as entry points.


  • ClassCastException when creating annotation on a method when an already existing annotation has the focus.
  • ClassCastException in Jar mode projects.
  • Access error with final public methods in non-public base classes when running under Java 1.6 (additional changes from 5.0.1).
  • Files that end in .class but are not Java classes cause ArrayIndexOutOfBoundsException.
  • Exclusions created on classpath panel are not saved unless the exclude panel is visited before a save.
  • Property values cannot be defined in terms of other properties. This was permitted in 3.4, removed in 4.0, and restored in 5.1.
  • ArrayIndexOutOfBoundsException when rewriting transformed method where LDC needs to be converted to an LDC_W.
  • Renamer fails renaming classes to MSDOS reserved device names.
  • Validation error on rebound method calls to concrete methods in abstract classes.


  • Class renaming now starts with a rather than b.
  • Methods can now be renamed to some previously excluded MSDOS device names, such as aux.
  • New advanced projects defaults to a directory output with the merge option off. This allows for quicker setup of cross-jar obfuscation and eliminates the need for non-class file inclusion for single jar obfuscation.
  • New project wizard no longer creates entry points for serialization methods and fields as DashO handles these automatically.
  • The <file> tag in project files is deprecated and has been replaced by a path in a parent tag. DashO automatically updates the project file when you save it.
  • When the UI does a refresh or a build the results panel is cleared to release memory from the previous build.