Many of these are student projects, not full tools.
| Obfuscators |
| Tool |
Alive? |
Notes |
| 2LKit |
|
|
| Allatori |
|
On 2008-02-14, I determined it was last revised 2008-02-14. |
| BLOAT |
|
works on class files. Primarily an optimiser. |
| Chainkey |
|
Licencing keys, with configurable copy protection, how accurate, how severe. |
| Condensity |
|
for pro edition and
for developer edition. They don’t tell you on the website the difference. |
| CShred |
|
defunct. |
| Creama |
|
Unfortunately the young Dutch author Hanpeter van Vliet died of cancer. |
| DashO |
|
Dash-O obfuscation edition,
Dash-O Pro,
Dash-O Embedded,
Dash-O Power Pack. Companion dotFuscator for .NET. |
| Elixir |
|
|
| HashJava |
|
|
| HoseMocha |
|
Uses a simple trick to confuse the Mocha reverse engineering tool by
inserting an unreachable bogus opcode. Too unsophisticated for today. |
| Jarg |
|
jar creating tool that compacts and obfuscates. |
| Java Code Protector |
|
Works with Chainkey. |
| Jobfuscate |
|
I suspect it works by renaming standalone class files, rather than entire jars as is traditional.
Last revised 2007-12-29. |
| JAX |
|
IBM/Alphaworks jar creating tool that compacts and obfuscates. |
| JBCO |
|
Free. Java ByteCode Obfuscator. Built atop Soot.
Here are some examples
of the advanced scramblings it can do. Here is a technical
paper on how it works. |
| JBuilder |
|
JBuilder is an IDE with an obfuscate option on the compiler. |
| JChain |
|
free for the first year |
| JCloak |
|
by Force 5 |
| JCMP |
|
Free. It allows you to compress public names as well. |
| Jobe |
|
|
| Jopt |
|
primarily an optimiser |
| JProof |
|
|
| JPresto |
|
to
|
| JODE |
|
Java Optimize and Decompile Environment |
| JShrink |
|
Eastridge technology’s obfuscator. Jshrink removes unnecessary symbolic
information from Java .class files, resulting in files that load faster and
yield less information when decompiled |
| JZipper |
|
by Vegatech |
| klassMaster |
|
by Zelix. It is somewhat cleverer than average. It:
- Obfuscates class, field and method names.
- Obfuscates control flow.
- Encrypts String literals.
It has fewer bugs than the competition. |
| Marvin Obfuscator
aka DrJava |
|
free. Obfuscated code usually isn’t recompilable. Processes any application,
Applet or servlet. Resulting code is compatible with any Java Virtual Machine.
Generates a compact jar file. Removes package information; scrambles class names,
method names, field names. Encrypts string constants. Removes unnecessary
classes. Removes all debug information. 100% Pure Java. Tested on JDK 1.2, 1.3
and 1.4beta. On 2005-12-23, I determined it was last revised 2002-05-16. |
| Metamata Toolsuite |
|
|
| Obfuscate |
|
by Jamm Consulting. née Monmouth Obfuscate. Little brother to
ObfuscatePro. |
| Obfuscate4J |
|
. Comes with Ant task to automate the
obfuscation. Free evaluation. Windows and Linux versions. Last revised 2007-06-05. |
| ObfuscatePro |
|
by Jamm Consulting. Sometimes called Neil’s obfuscator. full featured
product. ObfuscatePro is a Java bytecode obfuscator that allows you to customize
the obfuscation by specifying classes to exclude from the obfuscation. For the
classes that you wish to exclude, you can specify whether to preserve the method
and/or the field names in addition to the class name. This is useful for classes
that use RMI and/or localization since the class names and the method names need
to be preserved for these items. Big brother to Obfuscate |
| Proguard |
|
free, GPL open Source, shrinker and obfuscator. Grew out of Retroguard. |
| Retroguard |
|
Open Source |
| SourceGuard |
|
by 4thpass. Commercial product. No longer being supported. Does not work
with Java 1.4. |
| Semantic
Designs Java Obfuscator |
|
|
| ShroudIt |
|
and
licences. |
| Visiblock |
|
by Visionary Solutions. company still there, but unsure of product. |
| YGuard |
|
by Yworks. Free. Integrates with Ant. Allows creating patches to old
obfuscated code. |