You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
4.9 KiB
107 lines
4.9 KiB
4 months ago
|
<!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>
|