Fernflower
Fernflower is an analytical decompiler for Java with command-line options and support for external classes.

Fernflower
Fernflower is an analytical decompiler for Java with command-line options and support for external classes.
Fernflower Description
Fernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general. Naturally, it is still under development. Please send your bug reports and improvement suggestions to the issue tracker. Fernflower is licensed under the Apache Licence Version 2.0. Running from the command line: java -jar fernflower.jar [-<option>=<value>]* [<source>]+ <destination>. * means 0 or more times, + means 1 or more times. <source>: file or directory with files to be decompiled. Directories are recursively scanned. Allowed file extensions are class, zip, and jar. Sources prefixed with -e= mean 'library' files that won't be decompiled but taken into account when analyzing relationships between classes or methods. Especially renaming of identifiers (s. option 'ren') can benefit from information about external classes. <destination>: destination directory. <option>, <value>: a command-line option with the corresponding value (see 'Command-line options' below). Examples: java -jar fernflower.jar -hes=0 -hdc=0 c:\Temp\binary\ -e=c:\Java\rt.jar c:\Temp\source\ java -jar fernflower.jar -dgs=1 c:\Temp\binary\library.jar c:\Temp\bin
Fernflower FAQ
Common questions about Fernflower including features, pricing, alternatives, and user reviews.
Fernflower is Fernflower is an analytical decompiler for Java with command-line options and support for external classes.. It is a Security Operations solution designed to help security teams with Binary Analysis.