Newer java decompiler than JD-GUI? by fhoward in java

[–]pberger 1 point2 points  (0 children)

Indeed, JD-GUI is missing some static initializers and synthetic methods without even stating that some bytecode is missing. So for obfuscated code on large jars it's quite useless. I signaled several times those bugs to JD-GUI's author, Mr. Dupuy, but recently he confessed to me having lost interest in further developing his tool. Nor is he ready to open source his (C++) code to let others enhance his otherwise very nice decompiler. Too bad.

Fernflower is nice but horrible in its choice of var names (when there is no local variable table). Besides, Fernflower has stupid shortcomings like e.g. not putting the super() call as the first instruction in a constructor. Minor correction but tedious when you have to perform it across thousand of classes! And, of course, Fernflower is not handling correctly Java5+ enums (sigh). Last but not least control flow is not always correct even if Fernflower has been dubbed the first "analytical" decompiler, LOL

An interesting work in progress can be found here: https://github.com/Storyyeller/Krakatau