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