Home | History | Annotate | Download | only in docs
      1 <!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      2 <html>
      3 <head>
      4 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
      5 <meta http-equiv="content-style-type" content="text/css">
      6 <meta name="author" content="Eric Lafortune">
      7 <meta name="description" content="ProGuard: java shrinker, optimizer, obfuscator, and preverifier">
      8 <meta name="keywords" content="java obfuscator, optimizer, shrinker, preverfier">
      9 <link rel="stylesheet" type="text/css" href="style.css">
     10 <title>ProGuard Main</title>
     11 </head>
     12 <body>
     13 
     14 <script type="text/javascript" language="JavaScript">
     15 <!--
     16 if (window.self==window.top)
     17   document.write('<a class="largebutton" target="_top" href="index.html#main.html">ProGuard index</a> <a class="largebutton" target="_top" href="http://www.saikoa.com/dexguard">DexGuard</a> <a class="largebutton" target="_top" href="http://www.saikoa.com/">Saikoa</a> <a class="largebutton" target="other" href="http://sourceforge.net/projects/proguard/">Sourceforge</a>')
     18 //-->
     19 </script>
     20 <noscript>
     21 <a class="largebutton" target="_top"  href="index.html#main.html">ProGuard index</a>
     22 <a class="largebutton" target="_top"  href="http://www.saikoa.com/dexguard">DexGuard</a>
     23 <a class="largebutton" target="_top"  href="http://www.saikoa.com/">Saikoa</a>
     24 <a class="largebutton" target="other" href="http://sourceforge.net/projects/proguard/">Sourceforge</a>
     25 </noscript>
     26 
     27 <h2>Main</h2>
     28 
     29 <p class="intro">
     30 <b>ProGuard</b> is a free Java class file shrinker, optimizer, obfuscator, and
     31 preverifier. It detects and removes unused classes, fields, methods, and
     32 attributes. It optimizes bytecode and removes unused instructions. It renames
     33 the remaining classes, fields, and methods using short meaningless names.
     34 Finally, it preverifies the processed code for Java 6 or higher, or for Java
     35 Micro Edition.
     36 </p>
     37 Some uses of <b>ProGuard</b> are:
     38 <ul>
     39 
     40 <li>Creating more compact code, for smaller code archives, faster transfer
     41     across networks, faster loading, and smaller memory footprints.</li>
     42 
     43 <li>Making programs and libraries harder to reverse-engineer.</li>
     44 
     45 <li>Listing dead code, so it can be removed from the source code.</li>
     46 
     47 <li>Retargeting and preverifying existing class files for Java 6 or higher, to
     48     take full advantage of their faster class loading.</li>
     49 
     50 </ul>
     51 <p>
     52 <b>ProGuard</b>'s main advantage compared to other Java obfuscators is
     53 probably its compact template-based configuration. A few intuitive command
     54 line options or a simple configuration file are usually sufficient.
     55 The user manual explains all available options and shows examples of this
     56 powerful configuration style.
     57 <p>
     58 <b>ProGuard</b> is fast. It only takes seconds to process programs and
     59 libraries of several megabytes. The results section presents actual figures
     60 for a number of applications.
     61 <p>
     62 <b>ProGuard</b> is a command-line tool with an optional graphical user
     63 interface. It also comes with plugins for Ant, for Gradle, and for the JME
     64 Wireless Toolkit.
     65 <p>
     66 <p class="intro">
     67 <a href="http://www.saikoa.com/dexguard" target="_top">
     68 <img align="left" src="android_shades.png" width="64" height="64" /></a>
     69 <b>ProGuard</b> now has a sibling optimizer and obfuscator for Android:
     70 <a href="http://www.saikoa.com/dexguard" target="_top"><b>DexGuard</b></a>. It
     71 focuses on code protection, with additional features like string encryption,
     72 class encryption, and dex splitting. It directly targets Dalvik bytecode and
     73 streamlines the Android build process.
     74 </p>
     75 The following sections provide more detailed information:
     76 <ul>
     77 <li><a href="main.html">Main</a>: this overview page.</li>
     78 <li><a href="results.html">Results</a>: some results obtained with
     79     <b>ProGuard</b>, including timings and memory usage.</li>
     80 <li><a href="FAQ.html">FAQ</a>: answers to some Frequently Asked Questions.</li>
     81 <li><a href="manual/index.html">Manual</a>: the complete <b>ProGuard</b> user
     82     manual, with examples and troubleshooting tips.</li>
     83 <li><a href="quality.html">Quality</a>: a discussion of the (excellent) quality
     84     of <b>ProGuard</b>'s code.</li>
     85 <li><a href="screenshots.html">Screenshots</a>: some impressions of what            <b>ProGuard</b> looks like.</li>
     86 <li><a href="testimonials.html">Testimonials</a>: what users think of
     87     <b>ProGuard</b>.</li>
     88 <li><a href="license.html">License</a>: <b>ProGuard</b> is free, under a GPL
     89     license.</li>
     90 <li><a href="downloads.html">Downloads</a>: download the <b>ProGuard</b>
     91     package yourself.</li>
     92 <li><a href="feedback.html">Feedback</a>: tell me about your experiences, or
     93     learn from others on our forums.</li>
     94 <li><a href="acknowledgements.html">Acknowledgements</a>: people who have been
     95     helpful.</li>
     96 <li><a href="alternatives.html">Alternatives</a>: other Java obfuscators,
     97     optimizers, and shrinkers.</li>
     98 </ul>
     99 
    100 <hr />
    101 <address>
    102 Copyright &copy; 2002-2014
    103 <a target="other" href="http://www.lafortune.eu/">Eric Lafortune</a> @ <a target="top" href="http://www.saikoa.com/">Saikoa</a>.
    104 </address>
    105 </body>
    106 </html>
    107