107 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <!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.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>')
 | |
| //-->
 | |
| </script>
 | |
| <noscript>
 | |
| <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>
 | |
| </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.
 | |
| Finally, it preverifies the processed code for Java 6 or higher, or for Java
 | |
| Micro Edition.
 | |
| </p>
 | |
| Some uses of <b>ProGuard</b> are:
 | |
| <ul>
 | |
| 
 | |
| <li>Creating more compact code, for smaller code archives, faster transfer
 | |
|     across networks, faster loading, and smaller memory footprints.</li>
 | |
| 
 | |
| <li>Making programs and libraries harder to reverse-engineer.</li>
 | |
| 
 | |
| <li>Listing dead code, so it can be removed from the source code.</li>
 | |
| 
 | |
| <li>Retargeting and preverifying existing class files for Java 6 or higher, to
 | |
|     take full advantage of their faster class loading.</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.
 | |
| <p>
 | |
| <p class="intro">
 | |
| <a href="http://www.saikoa.com/dexguard" target="_top">
 | |
| <img align="left" src="android_shades.png" width="64" height="64" /></a>
 | |
| <b>ProGuard</b> now has a sibling optimizer and obfuscator for Android:
 | |
| <a href="http://www.saikoa.com/dexguard" target="_top"><b>DexGuard</b></a>. It
 | |
| focuses on code protection, with additional features like string encryption,
 | |
| class encryption, and dex splitting. It directly targets Dalvik bytecode and
 | |
| streamlines the Android build process.
 | |
| </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-2014
 | |
| <a target="other" href="http://www.lafortune.eu/">Eric Lafortune</a> @ <a target="top" href="http://www.saikoa.com/">Saikoa</a>.
 | |
| </address>
 | |
| </body>
 | |
| </html>
 |