ProGuard

A free and open source Java class file shrinker, optimizer, and obfuscator
Download

ProGuard Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Eric Lafortune
  • Publisher web site:
  • http://www.graphics.cornell.edu/~eric/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 1.7 MB

ProGuard Tags


ProGuard Description

A free and open source Java class file shrinker, optimizer, and obfuscator ProGuard removes unused classes, fields, methods, and attributes. ProGuard then optimizes the bytecode. ProGuard then renames the remaining classes, fields, and methods using short meaningless names.Finally, ProGuard preverifies the processed code for Java 6 or for Java Micro Edition. ProGuard's main advantage compared to other Java obfuscators is probably its compact template-based configuration. A few intuitive command line options or a simple configuration file are usually sufficient.The user manual explains all available options and shows more examples of this powerful configuration style.ProGuard is fast and it will only take seconds to process programs and libraries of several megabytes. The results section presents actual figures for a number of applications.ProGuard is a command-line tool with an optional graphical user interface. It also comes with plugins for Ant and for the JME Wireless Toolkit. Here are some key features of "ProGuard": · Creating more compact code, for smaller code archives, faster transfer across networks, faster loading, and smaller memory footprints. · Making programs and libraries harder to reverse-engineer. · Listing dead code, so it can be removed from the source code. · Retargeting and preverifying existing class files for Java 6, to take full advantage of Java 6's faster class loading. Requirements: · JRE 1.4 or later What's New in This Release: · Added new peephole optimizations. · Added option -optimizations for fine-grained · configuration of optimizations. · Added option -adaptclassstrings for adapting · string constants that correspond to obfuscated · classes. · Added option -keeppackagenames for keeping · specified package names from being obfuscated. · Added option -keepdirectories for keeping · specified directory entries in output jars. · Extended options -dontnote and -dontwarn for · fine-grained configuration of notes and warnings. · Added option -regex in ReTrace, for specifying · alternative regular expressions to parse stack · traces. · Extended renaming of resource files based on · obfuscation. · Avoiding bug in IBM's JVM for JSE, in · optimization step. · Avoiding ArrayIndexOutOfBoundsException in · optimization step. · Fixed configuration with annotations that are · not preserved themselves. · Fixed preverification of invocations of super · constructors with arguments containing ternary · operators. · Fixed processing of unreachable exception · handlers. · Fixed repeated method inlining. · Fixed inlining of finally blocks surrounded by · large try blocks, compiled with JDK 1.4 or earlier. · Fixed optimization of complex finally blocks, · compiled with JDK 1.4 or earlier. · Fixed obfuscation of anonymous class names, · if EnclosingMethod attributes are being kept. · Fixed obfuscation of inner class names in · generic types. · Fixed decoding of UTF-8 strings containing · special characters. · Fixed copying of debug information and · annotations when merging classes. · Fixed writing out of unknown attributes. · Fixed updating manifest files with split lines. · Updated documentation and examples.


ProGuard Related Software