1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
<!doctype html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="content-style-type" content="text/css">
<link rel="stylesheet" type="text/css" href="style.css">
<title>ProGuard Main</title>
</head>
<body>
<h2>Main</h2>
<p class="intro">
<b>ProGuard</b> is a free Java class file shrinker, optimizer, and obfuscator.
It can detect and remove unused classes, fields, methods, and attributes. It
can then optimize bytecode and remove unused instructions. Finally, it can
rename the remaining classes, fields, and methods using short meaningless
names. The resulting jars are smaller and harder to reverse-engineer.
</p>
<p>
More compact jar files also means smaller storage requirements, faster
transfer of applications across networks, faster loading, and smaller memory
footprints.
<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. For
instance, the following configuration option preserves all applets in a jar:
<pre>
-keep public class * extends java.applet.Applet
</pre>
The user manual explains all available options and shows more 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 and for the J2ME Wireless
Toolkit.
<p>
<p class="intro">
Version 3.0 introduced bytecode optimization, reading and writing of nested
jars, and a brand new Ant task. Please report any problems, so they can be
fixed soon.
</p>
The following sections provide more detailed information:
<ul>
<li><a href="main.html">Main</a>: this overview page.
<li><a href="results.html">Results</a>: some results obtained with
<b>ProGuard</b>, including timings and memory usage.
<li><a href="FAQ.html">FAQ</a>: answers to some Frequently Asked Questions.
<li><a href="manual/index.html">Manual</a>: the complete <b>ProGuard</b> user
manual, with examples and troubleshooting tips.
<li><a href="quality.html">Quality</a>: a discussion of the (excellent) quality
of <b>ProGuard</b>'s code.
<li><a href="screenshots.html">Screenshots</a>: some impressions of what <b>ProGuard</b> looks like.
<li><a href="testimonials.html">Testimonials</a>: what users think of
<b>ProGuard</b>.
<li><a href="license.html">License</a>: <b>ProGuard</b> is free, under a GPL
license.
<li><a href="downloads.html">Downloads</a>: download the <b>ProGuard</b>
package yourself.
<li><a href="feedback.html">Feedback</a>: tell me about your experiences, or
learn from others on our forums.
<li><a href="acknowledgements.html">Acknowledgements</a>: people who have been
helpful.
<li><a href="alternatives.html">Alternatives</a>: other Java obfuscators and
shrinking programs.
</ul>
<hr>
<address>
Copyright © 2002-2005
<a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
</address>
</body>
</html>
|