Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
FernFlower - CLI Java Decompiler
#1
Fernflower is an easy to use yet advanced cli Java decompiler.

Download, READ THIS!

FernFlower has recently become open sourced, you can view the repo at https://github.com/JetBrains/intellij-co...decompiler

If you're looking for GUI FernFlower, download Bytecode Viewer - https://github.com/Konloch/bytecode-viewer/releases

Basic Decompile:
Code:
java -jar fernflower.jar jarToDecompile.jar decomp/

With that fernflower will decompile jarToDecompile.jar and put the Java files into decomp/jarToDecompile.jar (Remember, jar is simply a .zip archive, so open it with any zip reader)

If you run into the issue with people obfuscating as aa aA and you can't reobfuscate for some reason, fernflower has a neat ability that allows you to rename all of the classes/fields/methods to class1, class2, etc.

Code:
java -jar fernflower.jar -ren=1 jarToDecompile.jar decomp/

For more options, read the FernFlower documentation here.

These are just some of the awesome things you can do with fernflower, go download it and try it out!
Reply
#2
Saved my life already. It renamed all obfuscated symbols, decompiled all classes and in the end put then in a JAR.
One question though, any clue on how can I browse that JAR now? BytecodeViewer will refuse to load it as the classes are already decompiled and it expects them to be not...
Reply
#3
(05-01-2015, 04:01 AM)darkunited Wrote:  Saved my life already. It renamed all obfuscated symbols, decompiled all classes and in the end put then in a JAR.
One question though, any clue on how can I browse that JAR now? BytecodeViewer will refuse to load it as the classes are already decompiled and it expects them to be not...

If it's decompiled then you can simply open the decompiler jar in a zip archive viewer, then open the .java file with Notepad++.
Reply
#4
(05-02-2015, 08:04 AM)Konloch Wrote:  
(05-01-2015, 04:01 AM)darkunited Wrote:  Saved my life already. It renamed all obfuscated symbols, decompiled all classes and in the end put then in a JAR.
One question though, any clue on how can I browse that JAR now? BytecodeViewer will refuse to load it as the classes are already decompiled and it expects them to be not...
If it's decompiled then you can simply open the decompiler jar in a zip archive viewer, then open the .java file with Notepad++.
That's a heart attack when it comes to analyzing strongly obfuscated apps. I succeeded loading up the whole project in IntelliJ but it still didn't output the "smooth" browsing experience that BCV does. I'm definitely looking forward to a possible implementation of that in BCV in the near future, if you have the time and will of course!
Reply
#5
(05-03-2015, 07:33 AM)darkunited Wrote:  
(05-02-2015, 08:04 AM)Konloch Wrote:  
(05-01-2015, 04:01 AM)darkunited Wrote:  Saved my life already. It renamed all obfuscated symbols, decompiled all classes and in the end put then in a JAR.
One question though, any clue on how can I browse that JAR now? BytecodeViewer will refuse to load it as the classes are already decompiled and it expects them to be not...
If it's decompiled then you can simply open the decompiler jar in a zip archive viewer, then open the .java file with Notepad++.
That's a heart attack when it comes to analyzing strongly obfuscated apps. I succeeded loading up the whole project in IntelliJ but it still didn't output the "smooth" browsing experience that BCV does. I'm definitely looking forward to a possible implementation of that in BCV in the near future, if you have the time and will of course!

I've been planning on adding obfuscation into BCV itself, so the user can quickly re-obfuscate a heavily obfuscated class to make it easier to read
Reply
 


Forum Jump:


Users browsing this thread: 5 Guest(s)

About The Bytecode Club

We're a community forum focused on Reverse Engineering, we try to target Java/Android but we also include other langauges/platforms. We pride ourselves in supporting and free and open sourced applications.

Website