Selecting a Project Type
PreEmptive Solutions has designed PreEmptive Protection - DashO to meet the needs in varying situations. There are two principal modes for operating DashO.
Advanced (Entry Point) Mode User Interface is best for complex applications or fine-grained control, and where removal of unused classes and members is desired.
Quick Jar Mode User Interface is ideal for simple standalone applications with a main method, and where removal of unused classes and members is not required.
Note: Quick Jar mode is deprecated and will be removed in a future release of DashO.
Following is a list of criteria to consider when deciding whether to use either the Quick Jar or Advanced mode.
|Criteria||Quick Jar mode is appropriate
if all of the following are met
|Advanced mode is appropriate
if any of the following are met
|Application Components||Application or library that consists of only jars. Limited use of reflection.||Application or library that contains jars and directories of class files. Uses reflection-based frameworks such as Spring or Hibernate.|
|Granularity of Control||Coarse – obfuscations can be turned on or off.||Fine – obfuscations can be turned on or off and particular classes/methods/fields can be excluded from a single obfuscation.|
|Removal||All classes, methods, and fields should be retained.||Unused classes, methods, and fields should be removed.|
|Packaging||Obfuscated classes should retain their original packaging.||All obfuscated classes should be placed in a single jar.|
In Quick Jar mode, DashO checks to see if the manifest of each of the input jars contains the Main‑Class information. The class specified as the Main-Class in the manifest is added as an entry point. If none of the input jars have a main class in the manifest, then all classes within the input jars are added as entry points. The entry point or entry points are used by DashO to analyze what classes are required in the input and supporting jars.
In Quick Jar mode, DashO does not remove any classes from the input jars. The output jar has all the classes from all the input quick jars, and DashO may rename these classes. Non-class files from the input jars are automatically included in the output.