Candle Decompiler
Java
Switch branches/tags
Nothing to show

README

Introduction
===============================
Hi; I am Brad Davis, and I am the creator of JBoss Cake.  JBoss Cake is a tool to assist developers in migrating platforms from closed, proprietary systems to open source.  Cake had the need for an open source decompiler.  Candle is an open source decompiler I have created on my own time; it is far from complete.  This is where that work will be developed over the next few months.  Once we have a viable open source deompiler, the public beta of JBoss Cake will follow.

Currently, the state of the decompiler is that it only decompiles a subset of the JVM operations; if you are looking for a decompiler, please check out the many closed options at this point.  Candle Decompiler has a long way to go to catch up with these fine tools, and this is more of a testing ground than anything at this point. 

Follow the action at: @bradsdavis and @jbosscake !!


Open Source Alternative Decompilers
===
* Krakatau - https://github.com/Storyyeller/Krakatau
* Procyon - https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler


Closed Source Alternative Decompilers
=====================================
* Fernflower
* Java Decompiler - http://java.decompiler.free.fr/
* JAD


Contributing to Candle Decompiler 
==================================
Please consider contributing to the project if you are interested in decompilation.  The flow control is implemented in BlockVisitor currently, and is missing a lot of logic right now.  Intermediate Code assembly occurs within IntermediateVisitor.  To contribute back to the code, please issue a pull-request against the project.



Special thanks to the following:
=================================

Apache BCEL - http://commons.apache.org/bcel/
==================
Leveraging BCEL to parse the Java class and walk the assembly code.

JReversePro Team
==================
Great resource for getting to know decompilers.  Karthik Kumar, thanks for open sourcing!

Java Virtual Machine, by Jon Meyer and Troy Downing
==================
Good book & online resource for understanding the JVM stack & operations.

James Hamilton - http://jameshamilton.eu/
==================
Provides some really helpful online samples of code -> assembly.

Wikipedia - http://en.wikipedia.org/wiki/Java_syntax, http://en.wikipedia.org/wiki/Java_bytecode_instruction_listings
==================
Great source of information related to JVM instructions.