protect java bytecode from decompilers

Hi friends,How can I protect my java bytecode from decompilers.I has test most of "Obfuscators" , but after obfuscate, decompilers such as "Jad" can generate source code correctly. I would appreciate if anybody can help me. regardsamir j
[287 byte] By [taherkordi] at [2007-9-27 14:27:22]
# 1
Is any of your classes, variables or methods declared private or protected? Obfuscators cannot change public members.
serlank at 2007-7-5 22:18:20 > top of Java-index,Archived Forums,Java Programming...
# 2

> Obfuscators cannot change public members.

That is not true.

Take RetroGuard (http://www.retrologic.com/) for example.

It works on jars and obfuscates EVERYTHING by default.

If you want it to spare stuff, you have to explicitly tell RetroGuard which class names, fields, or methods are to be left unobfuscated.

The disadvantage of RetroGuard is that it needs to be patched for java 1.4 ... (it's OpenSource, so you'll have to do that yourself)

Thomas

thomas.behr at 2007-7-5 22:18:20 > top of Java-index,Archived Forums,Java Programming...
# 3
Let me rephrase :Obfuscaters shouldn't change public members!Image if Sun decided to obfuscate their code :java.lang.String becomes java.lang.XS21ASjava.util.Vector becomes java.util.FST27Twhat a mess!!!!
serlank at 2007-7-5 22:18:20 > top of Java-index,Archived Forums,Java Programming...
# 4
The java class file format is well defined and documented - which is a Good Thing. From this follows however the possibility of decompilation even after obfuscation.
BIJ at 2007-7-5 22:18:20 > top of Java-index,Archived Forums,Java Programming...