I would have to suggest DJ Java Decompiler (http://members.fortunecity.com/neshkov/dj.html). I have never encountered code which it cannot decompile. Plus, it's written in c++ (I think) and it is very fast. I dont think it needs the SDK or even the RTE for that matter. However, I have encountered code which it generates uncompilable code for (only code run through an obfuscator first) because some of them obfuscate and add in labels which screw up the compiler. Hope this helps.
- Donny Nadolny<br />The pen is mightier than the sword, and considerably easier to write with.
Joined: Dec 18, 2003
Thanks a lot Donny. I have found out that DJ Java Decompiler is a GUI wrapper around another command-line decompiler -- Jad http://kpdus.tripod.com/jad.html Please correct me if I am wrong but the latest available release of Jad is dated July 2001, which means JDK 1.3, right?
That's my understanding. So Jad and DJ can't handle classes compiled with -target 1.4 for example. Asserts are unknown. (And in 1.5, quite a few other things are unknown.) You can sometimes get Jad to handle a more modern file by altering the header so it seems to have been compiled for 1.3 instead, but I don't know how robust this techniqe is. (I wouldn't expect it to be very reliable.) I'm not aware of any more modern decompilers, especialy not free or shareware. If anyone knows of any, I'd be interested too.