| <!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> |
| <meta http-equiv="content-style-type" content="text/css"> |
| <meta name="author" content="Eric Lafortune"> |
| <meta name="description" content="ProGuard: java shrinker, optimizer, obfuscator, and preverifier"> |
| <meta name="keywords" content="java obfuscator, optimizer, shrinker, preverfier"> |
| <link rel="stylesheet" type="text/css" href="style.css"> |
| <title>ProGuard Main</title> |
| </head> |
| <body> |
| |
| <script type="text/javascript" language="JavaScript"> |
| <!-- |
| if (window.self==window.top) |
| document.write('<a class="largebutton" target="_top" href="index.html#main.html">ProGuard index</a> <a class="largebutton" target="_top" href="http://www.guardsquare.com/dexguard">DexGuard</a> <a class="largebutton" target="_top" href="http://www.guardsquare.com/">GuardSquare</a> <a class="largebutton" target="other" href="http://sourceforge.net/projects/proguard/">Sourceforge</a>') |
| //--> |
| </script> |
| <noscript> |
| <a class="largebutton" target="_top" href="index.html#main.html">ProGuard index</a> |
| <a class="largebutton" target="_top" href="http://www.guardsquare.com/dexguard">DexGuard</a> |
| <a class="largebutton" target="_top" href="http://www.guardsquare.com/">GuardSquare</a> |
| <a class="largebutton" target="other" href="http://sourceforge.net/projects/proguard/">Sourceforge</a> |
| </noscript> |
| |
| <h2>Main</h2> |
| |
| <p class="intro"> |
| <b>ProGuard</b> is a free Java class file shrinker, optimizer, obfuscator, and |
| preverifier. It detects and removes unused classes, fields, methods, and |
| attributes. It optimizes bytecode and removes unused instructions. It renames |
| the remaining classes, fields, and methods using short meaningless names. |
| The resulting applications and libraries are smaller, faster, and a bit better |
| hardened against reverse engineering. |
| </p> |
| Typical applications: |
| <ul> |
| |
| <li>Reducing the size of Android apps for faster downloads from Google Play, |
| shorter startup times, and smaller memory footprints.</li> |
| |
| <li>Optimizing code for better performance on mobile devices.</li> |
| |
| <li>Protecting applications and libraries against reverse-engineering and |
| tampering.</li> |
| |
| </ul> |
| <p> |
| <b>ProGuard</b>'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 examples of this |
| powerful configuration style. |
| <p> |
| <b>ProGuard</b> is fast. It only takes seconds to process programs and |
| libraries of several megabytes. The results section presents actual figures |
| for a number of applications. |
| <p> |
| <b>ProGuard</b> is a command-line tool with an optional graphical user |
| interface. It also comes with plugins for Ant, for Gradle, and for the JME |
| Wireless Toolkit. It is already part of Google's Android SDK, where it can be |
| enabled with a simple flag. |
| <p> |
| <p class="intro"> |
| <a href="http://www.guardsquare.com/dexguard" target="_top"> |
| <img align="left" src="android_shades.png" width="64" height="64" /></a> |
| <b>ProGuard</b> provides basic protection against reverse engineering and |
| tampering, with basic name obfuscation. |
| <a href="http://www.guardsquare.com/dexguard" |
| target="_top"><b>DexGuard</b></a>, its specialized commercial extension for |
| Android, focuses further on the protection of apps, additionally optimizing, |
| obfuscating and encrypting strings, classes, resources, resource files, asset |
| files, and native libraries. Professional developers should definitely |
| consider it for security-sensitive apps. |
| </p> |
| The following sections provide more detailed information: |
| <ul> |
| <li><a href="main.html">Main</a>: this overview page.</li> |
| <li><a href="results.html">Results</a>: some results obtained with |
| <b>ProGuard</b>, including timings and memory usage.</li> |
| <li><a href="FAQ.html">FAQ</a>: answers to some Frequently Asked Questions.</li> |
| <li><a href="manual/index.html">Manual</a>: the complete <b>ProGuard</b> user |
| manual, with examples and troubleshooting tips.</li> |
| <li><a href="quality.html">Quality</a>: a discussion of the (excellent) quality |
| of <b>ProGuard</b>'s code.</li> |
| <li><a href="screenshots.html">Screenshots</a>: some impressions of what <b>ProGuard</b> looks like.</li> |
| <li><a href="testimonials.html">Testimonials</a>: what users think of |
| <b>ProGuard</b>.</li> |
| <li><a href="license.html">License</a>: <b>ProGuard</b> is free, under a GPL |
| license.</li> |
| <li><a href="downloads.html">Downloads</a>: download the <b>ProGuard</b> |
| package yourself.</li> |
| <li><a href="feedback.html">Feedback</a>: tell me about your experiences, or |
| learn from others on our forums.</li> |
| <li><a href="acknowledgements.html">Acknowledgements</a>: people who have been |
| helpful.</li> |
| <li><a href="alternatives.html">Alternatives</a>: other Java obfuscators, |
| optimizers, and shrinkers.</li> |
| </ul> |
| |
| <hr /> |
| <address> |
| Copyright © 2002-2017 |
| <a target="other" href="http://www.lafortune.eu/">Eric Lafortune</a> @ <a target="top" href="http://www.guardsquare.com/">GuardSquare</a>. |
| </address> |
| </body> |
| </html> |