One fellow finally did, after a full year of trying. Released a detailed description of what he did, just so people could understand his Hell (which was forwarded to me, which I read in awe). With Java you could do this with bytecode. Since you can write your own class loaders in Java, the opportunities for confounding the pirates abound.
Many of these are student projects, not full tools.
Obfuscators | ||
---|---|---|
Tool | Alive? | Notes |
2LKit | ||
Allatori | Last revised/verified: 2009-06-09 Also supports war and ear files. | |
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/verified: 2007-12-29 | |
JBCO | Free. JBCO (Java Byte Code 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 (Integrated Development Environment) 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. | |
Jet | This is what you need if you are serious. Generates highly optimised native code that is almost impossible to reconstruct into Java. The catch is it only works for Windows and Linux. It is primarily an optimising native compiler. | |
Jobe | ||
Jopt | primarily an optimiser | |
JProof | defunct | |
JPresto | defunct | |
JODE | JODE (Java Optimise 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:
| |
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 Java version 1.2, 1.3 and 1.4beta. Last revised: 2002-05-16 Verified: 2005-12-23 | |
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/verified: 2007-06-05. Still available on many download sites. | |
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 (Remote Method Invocation) 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 (Gnu Public Licence) open Source, shrinker and obfuscator. Grew out of Retroguard. Popular. | |
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 no product. | |
YGuard | by Yworks. Free. Integrates with Ant. Allows creating patches to old obfuscated code. |
recommend book⇒Decompiling Java | ||||
by | Godfrey Nolan | 978-0-07-913767-8 | paperback | |
---|---|---|---|---|
publisher | Apress | 978-1-59059-265-6 | hardcover | |
published | 2004-07-23 | B001GIPGC2 | kindle | |
Note that this book was published in 2004, before generics and enums. Decompiling and protecting yourself from decompilers using obfuscation. | ||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
recommend book⇒Covert Java: Techniques for Decompiling, Patching and Reverse Engineering | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | Alex Kalinovsky | 978-0-672-32638-7 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
birth | 1974 age:43 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
publisher | Sams | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2004-05-13 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learn the art of war, both offense and defence to protect your code from pirates. Note that this book was published in 2004, before generics and enums. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
This page is posted |
http://mindprod.com/jgloss/obfuscator.html | |
Optional Replicator mirror
|
J:\mindprod\jgloss\obfuscator.html | |
Please read the feedback from other visitors,
or send your own feedback about the site. Contact Roedy. Please feel free to link to this page without explicit permission. | ||
Canadian
Mind
Products
IP:[65.110.21.43] Your face IP:[44.192.67.10] |
| |
Feedback |
You are visitor number | |