7 Replies Latest reply: Dec 15, 2009 1:56 AM by 843810 RSS

    Good new Java Decompiler (JAD replacement)

    843810
      I know JAD is best known and most used java decompiler, but recently I have experienced has some trouble with classes compiled with JDK 1.4, it produces output with some strange things that can recompiled. It is no surprise since last version is almost four years old.

      So my question is, is there any new modern java decompiler able to handle classes compiled by JDK 1.4 (or even by JDK 5, which is spreading quickly)?

      I found the following:
      JReversePro 1.4.1 (last release 3 years old, still in alpha)
      Ahpah SourceAgain (commercial, no demo, they declare compatibility up to JDK 1.3)
      JODE (latest release only 14 months old, having not tried looks most promising)

      Has anybody some experience with them or some other recommendation?

      It looks like that something stopped developement of java decompilers.
        • 1. Re: Good new Java Decompiler (JAD replacement)
          jwenting
          don't crosspost
          • 2. Re: Good new Java Decompiler (JAD replacement)
            843810
            How true!

            ALL the decompilers I'm aware of stalled about 3 years ago. I recently submitted to the JAD author Mr. Kouznetsov a couple of bugs and asked what were his plans about his baby.
            I tried to engage a conversation about the possible evolution of JAD and some potentially useful approaches to enhance the quality of the produced source code.
            His response was puzzling : "Unfortunately I have no plans to release any new versions of Jad (or its source code)". That was weird because I assured him in my email that he had, even after 3 years of inactivity, no real competitors yet.

            It seems that nobody is interested anymore to enhance his or her tool.
            I'm more and more suspecting the influence of powerful lobbies here. Maybe the best decompilers authors were "asked" not to release further enhancements of their tools.
            Am I paranoid here or ...?
            • 3. Re: Good new Java Decompiler (JAD replacement)
              843810
              OK, I made some research myself and best thing I found is JODE, it is only project that seems to be still active:

              http://jode.sourceforge.net/

              Unfortunately still far from perfect. Eclipse plugin may come at handy.

              http://blog.technoetic.com/jode-eclipse-plugin/

              I would encourage anyone who has knowledge of Java bytecode (unfortunately I don't have) to help this project, since decompiler which can handle class files generated by current compilers is really missing.
              • 4. Re: Good new Java Decompiler (JAD replacement)
                843810
                JODE supports <=JDK 1.3 according to it's homepage?
                JAD gets stack overflows which forces Eclipse to restart.

                Hope JODE changes soon and authors recognize that decompiling is needed for good purposes.
                • 5. Re: Good new Java Decompiler (JAD replacement)
                  843810
                  This is true about JODE 1.1.1, from sourceforge page 1.1.2-pre1 can be downloaded which should be further. Unfortunately I found some points where JAD performs better, for example JAD can find out real local variable names while JODE uses some generated confusing stuff. So JODE unfortunately cannot be considered superior to JAD in all features. And unfortunately athough JODE is "freshest" of decompilers, it seems not to be actively developed anymore.

                  Problems with JAD in Eclipse is only problem of plugin using JAD since JAD i written in C and is standalone native executable, use another plugin or use it separately.
                  • 6. Re: Good new Java Decompiler (JAD replacement)
                    843810
                    I've developed a small tool improving Jad decompilation results. It's easy to use - just process the classes with it before running Jad. More info on jadretro.sf.net site...
                    • 7. Re: Good new Java Decompiler (JAD replacement)
                      PhHein
                      Zombie, locking.